Documentaciónexacta(lambda, k)
Nombre
exacta - Calcula la probabilidad de observar exactamente k eventos.
Sinopsis
p = poisson.exacta(lambda, k)
Descripcion
Calcula la probabilidad exacta de la distribucion de Poisson para el caso P(X = k).
La variable lambda representa el numero promedio de eventos por intervalo y k la cantidad exacta de eventos observados.
Formula:
Validaciones y casos borde
- Valida que
lambdasea mayor o igual que0. - Valida que
ksea entero. - Si alguna de esas condiciones falla, emite
ERROR(). - Si
k < 0, retorna0. - Si
lambda = 0, retorna1cuandok = 0y0cuandok > 0.
Comportamiento
- Parte de la base .
- Para
k > 0, acumula el resultado iterativamente. - Retorna un
NUMERICOcon la probabilidad exacta.
Funciones API relacionadas
poisson.menor()poisson.mayor_igual()
Parámetros
| Parámetro | Tipo | Descripción |
|---|---|---|
| lambda | NUMERICO | Media esperada de eventos de la distribucion de Poisson. |
| k | NUMERICO | Valor entero objetivo: indice, cantidad de exitos o cantidad de eventos. |
Valor de retorno
NUMERICO - Probabilidad exacta calculada para P(X = k).
Ejemplo
ejemplo.blox
// Condiciones de la distribución de Poisson
// 1. Eventos independientes: La ocurrencia de un evento no afecta la probabilidad
// de que ocurra otro evento.
// 2. Tasa de ocurrencia constante: La tasa promedio de eventos (lambda) no
// cambia durante el período de interés.
// 3. Aleatoriedad: Los eventos ocurren de forma aleatoria y no están influenciados
// por ningún patrón.
// 4. Eventos no simultáneos: Dos eventos no pueden ocurrir exactamente en el mismo
// instante.
// 5. Probabilidad constante: La probabilidad de un éxito es la misma en cualquier
// intervalo de igual longitud.
// 6. Conteo de eventos: Los datos son recuentos de eventos (números enteros no
// negativos).
// Ejemplo 1
// --------------------
// En una central de atención al cliente, históricamente se observa que llegan en
// promedio 9 llamadas por minuto. Suponiendo que las llamadas llegan de manera
// aleatoria y cumplen las condiciones de la distribución de Poisson, se desea
// analizar la probabilidad de recibir distintos números de llamadas en un minuto.
//
// Implementar un programa que modele y grafique la distribución de Poisson para
// una tasa promedio de ocurrencia λ = 9, calculando y mostrando la función de
// probabilidad 𝑃(𝑋=𝑘) para valores enteros de 𝑘.
//
INCLUIR "poisson.api"
INCLUIR "vectores.api"
INCLUIR "graficos.api"
INCLUIR "tablas.api"
FUNCION PRINCIPAL
INICIO "Poisson - Graficos multiples (offset)"
NUMERICO lambda, k_marcado
NUMERICO k_max, k_max1
NUMERICO i
// --- Parámetros de la distribución ---
lambda = 9.0
k_marcado = 8 // valor que querés resaltar
// Elegimos un rango razonable para graficar: [0 .. k_max]
// Regla simple: λ ± 4*sqrt(λ)
//
NUMERICO rango
rango = 4 * RAIZ(lambda)
k_max = ENTERO(lambda + rango)
SI (k_max < k_marcado) ENTONCES
k_max == k_marcado + 3
FIN_SI
k_max1 = k_max + 1
// --- Vectores base ---
//
VECTOR Ks_total[k_max1]
VECTOR Pmf[k_max1]
// Llenar Ks y PMF con P(X = k)
PARA i = 0 HASTA k_max HACER
Ks_total[i] = i
Pmf[i] = poisson.exacta(lambda, i)
FIN_PARA
IMPRIMIR ("Distribucion Poisson (lambda = ", lambda, ")\n")
vectores.imprimir(Pmf)
// --- Datos para graficar ---
//
TABLA datos, G, serie_total, eje_x, eje_y
serie_total = {
tipo = "barras",
x = Ks_total, y = Pmf,
trazo = "continuo",
bar_width = 0.90,
color = "#124ae3",
grosor = 1
}
datos[1]["total"] = serie_total[1]
// --- Autoscale sencillo de X, Y, cuadricula ---
//
TABLA ret
ret = graficos.bar_autoescala(Pmf)
// --- Montaje de los ejes ---
//
eje_x = {
nombre = "Valores de k",
min = ret[1].xmin,
max = ret[1].xmax,
cuadricula = ret[1].cuadx
}
eje_y = {
nombre = "P(X = k)",
orientacion = "vertical",
min = ret[1].ymin,
max = ret[1].ymax,
cuadricula = ret[1].cuady
}
// --- Etiquetas ---
//
STRING v_etiquetas[k_max1]
PARA i = 0 HASTA k_max HACER
v_etiquetas[i+1] = UNIR(Pmf[i]) // convierte a string
FIN_PARA
TABLA t_etiquetas
t_etiquetas = { mostrar=VERDADERO, texto = v_etiquetas, orientacion = -06, fuente=16, esp=1, color="#000000FF" }
// --- Preparacion del Grafico ---
//
G = {
tipo = "barras",
titulo = UNIR("Distribucion Poisson (lambda = ", lambda, ")")
etiquetas = t_etiquetas,
ejex = VERDADERO, ejey = VERDADERO,
abscisas = eje_x, ordenadas = eje_y,
datos = datos,
ancho = 960, alto = 540, margen = 100,
archivo = "PROG95-2 - POISSON - ejemplo1.png"
}
GRAFICAR(G[1])
FINAL