Definición del problema

La simulación ayuda a entender y validar las propiedades de los estimadores estadísticos como son insesgadez, eficiencia y la consistencia principalmente. El siguiente problema permite evidenciar las principales características de un grupo de estimadores propuestos para la estimación de un parámetro asociado a un modelo de probabilidad.

Sean \(X_1, X_2, X_3\) y \(X_4\), una muestra aleatoria de tamaño \(n = 4\) cuya población la conforma una distribución exponencial con parámetro \(θ\) desconocido. Determine las características de cada uno de los siguientes estimadores propuestos:

  1. \[\hat{θ_1} = \frac{X_1 + X_2}6 + \frac{X_3 + X_4}3\]
  2. \[\hat{θ_2} = \frac{(X_1 + 2X_2 + 3X_3 + 4X_4)}5\]
  3. \[\hat{θ_3}= \frac{X_1 + X_2 + X_3 + X_4}4\]
  4. \[\hat{θ_4} = \frac{min(X_1, X_2, X_3, X_4) + max(X_1, X_2 ,X_3 ,X_4)}2\]

Pasos

1. Cargamos la librería necesaria para hacer el ejercicio

library(ggplot2)

2. Vamos a generar las muestras para cada uno de los estimadores con diferentes tamaños de muestra \((n = 20, 50, 100, 1000)\) y suponiendo un valor para el parámetro θ.

Primero, establecemos una semilla para la reproducibilidad, que se refiere a fijar un valor inicial para el generador de números aleatorios. Al establecer una semilla, garantizamos que, si ejecutamos el mismo código nuevamente en el futuro, obtendremos exactamente la misma secuencia de números aleatorios.

set.seed(123)

Suponemos un valor para el parámetro theta \(θ\) y luego generamos muestras para cada estimador y tamaño de muestra.Creamos una lista vacía para almacenar las muestras generadas para cada tamaño \(n\) de muestras \(n = 20, 50, 100, 1000)\)

theta <- 2
simulaciones <- c(20,50,100,1000)
lista_resultados <- list()

3. En este paso, vamos a Calcular los estimadores \(\hat{θ_1}, \hat{θ_2}, \hat{θ_3}\) y \(\hat{θ_4}\) para cada conjunto de muestras mediante la función llamada calculo_estimadores, que toma como entrada una matriz que tenemos más abajo llamada muestras, la cual contiene los 4 valores \(x\). Luego, calculamos cada uno de los 4 estimadores con sus fórmulas correspondientes y con los valores de cada \(x_i\). Finalmente, la función devuelve un vector que contiene los 4 estimadores calculados.

#Definir los estimadores
calculo_estimadores <- function(muestras){
  
  x1 <- muestras[1]
  x2 <- muestras[2]
  x3 <- muestras[3]
  x4 <- muestras[4]
  
  # Estimador θ₁
  theta1 <- ((x1 + x2) / 6) + ((x3 + x4) / 3)
  
  # Estimador θ₂
  theta2 <- (x1 + 2 * x2 + 3 * x3 + 4 * x4) / 5
  
  # Estimador θ₃
  theta3 <- mean(muestras)
  
  # Estimador θ₄
  theta4 <- (min(muestras) + max(muestras))/ 2
  
  return(c(theta1, theta2, theta3, theta4))
}

Ahora, vamos a generar las muestras aleatorias mediante una función llamada simul_estimadores, la cual toma dos argumentos \(n\), que representa el número de simulaciones que se realizarán y \(theta\), que es un parámetro que se utiliza para generar muestras aleatorias a partir de una distribución exponencial. Para cada valor de \(n\), se generan muestras aleatorias de una distribución exponencial utilizando la función “rexp()”. El número total de valores generados es \(n * 4\), ya que tenemos cuatro variables aleatorias (X₁, X₂, X₃ y X₄) en cada muestra. Luego, se utiliza la función calculo_estimadores para calcular los cuatro estimadores (\(\hat{θ_1}, \hat{θ_2}, \hat{θ_3}, \hat{θ_4}\)) para cada conjunto de muestras y los valores generados se almacenan en una matriz de 4 columnas (lista_muestras) utilizando la función “matrix()”, donde cada columna representa una de las variables aleatorias. Finalmente, la función devuelve esta matriz que contiene los estimadores calculados para cada conjunto de muestras.

#Generar las muestras
simul_estimadores <- function(n, theta){
  lista_muestras <- matrix(nrow = n, ncol = 4)
  
  for (i in 1:n) {
    muestras <- rexp(4, rate = theta)
    lista_muestras[i,] <- calculo_estimadores(muestras)
  }
  
  return(lista_muestras)
}

4. Finalmente, vamos a mostrar los resultados a través de tablas y gráficos para evaluar las propiedades de insesgadez, eficiencia y consistencia.

Tenemos un ciclo for para realizar simulaciones y almacenar los resultados en una lista llamada lista_resultados.

for (s in simulaciones) { 
  
  lista_resultados[[as.character(s)]] <- simul_estimadores(s, theta)
  
}

Ahora, procedemos a calcular los promedios y las varianzas de los estimadores para cada n, ya que con estos datos es posible inferir si los estimadores cumplen con las propiedades mencionadas.

#Calcular promedios y varianzas
promedios <- matrix(0, nrow = 4, ncol = 4)
colnames(promedios) <- c("θ1","θ2", "θ3", "θ4")
rownames(promedios) <- c("20", "50", "100", "1000")

for (i in 1:4){
  promedios[i,] <- apply(lista_resultados[[as.character(simulaciones[i])]], 2, mean)
}

promedios <- as.data.frame(promedios)
print(promedios)
##             θ1       θ2        θ3        θ4
## 20   0.4917774 0.988843 0.5085644 0.6061905
## 50   0.5106887 1.037139 0.5107465 0.5681255
## 100  0.4900755 0.980888 0.4982349 0.5920889
## 1000 0.5041606 1.011502 0.5025265 0.5894504
varianzas <- promedios
for (i in 1:4){
  varianzas[i,] <- apply(lista_resultados[[as.character(simulaciones[i])]], 2, var)
}

print(varianzas)
##              θ1        θ2         θ3         θ4
## 20   0.05083935 0.2526413 0.06120691 0.15271831
## 50   0.04674825 0.2015089 0.03847403 0.06188733
## 100  0.05437002 0.2466659 0.05206874 0.08972016
## 1000 0.07478780 0.3253663 0.06260830 0.10544834

Como último paso, graficamos los boxplots para cada tamaño de muestra definido \((n = 20, 50, 100, 200)\), los cuales nos dan una idea mucho más clara de los resultados obtenidos.

par(mfrow=c(1,2)) 
for (s in simulaciones){
  boxplot(lista_resultados[[as.character(s)]], main = paste("Boxplot con n = ", s), ylab="Estimación", xlab="Estimadores", names=c("θ1", "θ2", "θ3", "θ4"), col=c("salmon", "cyan3", "wheat", "thistle3"))
  
  # Agregar línea horizontal para theta = 2
  abline(h=2, col="red", lwd=2, lty=2)
}

Tamaño de Muestra y Sesgo: En general, se observa que a medida que aumenta el tamaño de la muestra, todos los estimadores tienden a reducir su sesgo. Esto sugiere que contar con muestras más grandes tiende a mejorar la precisión de las estimaciones.

Eficiencia: La eficiencia, en términos de la varianza de los estimadores, también tiende a mejorar con el aumento del tamaño de muestra. Esto significa que estimadores más grandes tienden a tener una dispersión más baja y, por lo tanto, son más eficientes.

Estimador 3 (Promedio): El Estimador 3, que simplemente calcula el promedio de la muestra, parece ser el más insesgado y eficiente en todos los tamaños de muestra. Esto lo convierte en una elección sólida cuando se busca una estimación precisa y eficiente del parámetro θ.

Estimador 4 (Mínimo y Máximo): El Estimador 4, que utiliza el mínimo y el máximo de la muestra, tiende a mostrar sesgo en todos los tamaños de muestra, aunque dicho sesgo disminuye a medida que el tamaño de la muestra crece. Esto sugiere que, si bien puede ser sesgado, su desempeño mejora con muestras más grandes.

Estimadores 1 y 2: Los Estimadores 1 y 2 también mejoran en términos de sesgo y eficiencia a medida que aumenta el tamaño de la muestra, aunque tienden a ser menos insesgados que el Estimador 3. Esto sugiere que son opciones razonables, pero pueden no ser la elección óptima si se busca minimizar el sesgo.

Elección del Estimador: La elección del estimador adecuado depende de los objetivos y restricciones específicos del problema. Si se valora la insesgadez y la eficiencia, el Estimador 3 es una buena elección, especialmente con tamaños de muestra grandes. Sin embargo, es fundamental considerar las ventajas y desventajas de cada estimador en el contexto del problema particular, ya que cada uno tiene sus propias características.

En última instancia, la elección del estimador debe basarse en una cuidadosa evaluación de los requisitos del problema y las propiedades deseadas de la estimación, teniendo en cuenta factores como la disponibilidad de datos y la precisión requerida.