library(ggplot2)
# Cantidad de mensajes observados
<- c(7, 3, 8, 9, 10, 12) mensajes
04 - Función de verosimilitud Poisson
Este programa grafica la función de verosimilitud cuando se obtiene una muestra de \(n\) realizaciones independientes de una distribución Poisson. Se utiliza en el ejercicio El modelo Gamma-Poisson de la Práctica 2.
\[ \begin{array}{lcc} X \sim \text{Poisson}(\lambda), & \lambda > 0, & X \in \{0, 1, 2, \cdots \} \end{array} \]
\[ p(x \mid \lambda) = \frac{e^{-\lambda} \lambda^x}{x!} \]
\[ \ell(\theta \mid x_1, x_2, \cdots, x_n) = p(\mathbf{x} \mid \theta) = \prod_{i=1}^{n} p(x_i \mid \lambda) = \prod_{i=1}^{n} \frac{e^{-\lambda} \lambda^{x_i}}{x_i!} = \frac{e^{- n \lambda} \lambda^{\sum_i x_i}}{\prod_i x_i!} \]
Opción 1: Escribir la función de verosimilitud analíticamente
<- length(mensajes)
n <- sum(mensajes)
total <- prod(factorial(mensajes))
producto_factoriales
# Grilla de valores para 'lambda'
# Teoréticamente, el soporte del parámetro es (0, infty). Lo acotamos en 20.
<- seq(0, 20, length.out = 200)
lambda
# Cálculo de la verosimilitud
<- exp(-n * lambda) * lambda ^ total / producto_factoriales
verosimilitud
# Visualización de la verosimilitud para los valores de lambda en la grilla
data.frame(x = lambda, y = verosimilitud) |>
ggplot() +
geom_line(aes(x = x, y = y), linewidth = 1) +
labs(x = expression(lambda), y = expression("p(y | " ~ lambda ~ ")"))
Opción 2: Utilizar dpois
<- matrix(rep(mensajes, 200), nrow = 200, byrow = TRUE)
mensajes_matriz 1<- dpois(mensajes_matriz, lambda)
pmf 2<- apply(pmf, 1, prod)
verosimilitud
data.frame(x = lambda, y = verosimilitud) |>
ggplot() +
geom_line(aes(x = x, y = y), linewidth = 1) +
labs(x = expression(lambda), y = expression("p(y | " ~ lambda ~ ")"))
- 1
- Evaluar la función de masa de probabilidad de la distribución Poisson en cada uno de los valores observados utilizando una grilla de valores de \(\lambda\).
- 2
- Para cada valor de \(\lambda\), multiplicar todas las evaluaciones realizadas.