Informe 2

#valor de theta
theta_verdadero <- 2.0

#sesgo
sesgo <- function(estimados, theta_verdadero) {
  mean(estimados) - theta_verdadero
}

#evaluar propiedades
evaluar_propiedades <- function(n, estimador, theta_verdadero, num_simulaciones = 1000) {
  resultados <- numeric(num_simulaciones)
  
  for (i in 1:num_simulaciones) {
    muestra <- rexp(n, rate = 1/theta_verdadero)
    estimados <- estimador(muestra)
    resultados[i] <- sesgo(estimados, theta_verdadero)
  }
  
  varianza <- var(resultados)
  boxplot(resultados, main = paste("n =", n, "Varianza =", varianza))
}

# Estimadores propuestos
estimador1 <- function(muestra) {
  (muestra[1] + muestra[2]) / 6 + (muestra[3] + muestra[4]) / 3
}

estimador2 <- function(muestra) {
  (muestra[1] + 2 * muestra[2] + 3 * muestra[3] + 4 * muestra[4]) / 5
}

estimador3 <- function(muestra) {
  mean(muestra)
}

estimador4 <- function(muestra) {
  (min(muestra) + max(muestra)) / 2
}

# Evaluar propiedades para diferentes tamaños de muestra
n_valores <- c(20, 50, 100, 1000)

for (n in n_valores) {
  par(mfrow = c(1, 1))
  evaluar_propiedades(n, estimador1, theta_verdadero)
  evaluar_propiedades(n, estimador2, theta_verdadero)
  evaluar_propiedades(n, estimador3, theta_verdadero)
  evaluar_propiedades(n, estimador4, theta_verdadero)
}

Propiedades

Insesgadez : Un estimador se considera insesgado si, en promedio, su valor esperado es igual al valor real del parámetro que se está estimando. En este caso, viendo para las distintas muestras que tenemos, tenemos un gráfico de caja de los sesgos calculados para cada combinación estimador-tamaño de muestra. Con el cual podemos ver que independiente del tamaño de muestra que estemos tomando, los estimadores menos sesgados, son el 1 y el 3. Mientras que el 2 y el 4 tienen a ser sesgados para todos los tamaños de muestra y sobreestimar. Esto lo podemos deducir, dado que la mediana de los graficos (diferencia entre el estimador y el valor definido) es mayor que cero.

Eficiencia : La eficiencia de un estimador mide cuán dispersos están los valores del estimador alrededor del valor real del parámetro. Se mide la varianza, entre menos varianza, más eficiente será el estimador. El estimador con menos varianza y más eficiente es el 3, el cual tiene una varianza muy baja, los bigotes de la caja son pequeños y muy cercanos a cero y muy pocos valores outlyer. El siguiente más eficiente es el estimador 1, sin embargo este tiene una mayor varianza y los bigotes tienden a ser menos siméticos. El estimador 4, tiene una varianza similar a la del estimador 1, sin embargo tiene muchos outlyers y sus bigotes son muy poco simétricos.El estimador 2 es el menos eficiente. Este tiene una varianza grande y una gran cantidad de valores outlyers. Es de destacar que entre más grande es la muestra todos los estimadores tienden a tener un comportamiento mejor en cuanto a eficiencia. Siendo en la muestra de tamaño 1000 donde todos tienen menor varianza, en especial el estimador 3.

theta_verdadero2 <- 2.0

sesgo2 <- function(estimados2, theta_verdadero2) {
  mean(estimados2) - theta_verdadero2
}

#evaluar consistencia
evaluar_consistencia2 <- function(n, estimador2, theta_verdadero2, num_simulaciones = 1000) {
  sesgos2 <- numeric(num_simulaciones)
  
  for (i in 1:num_simulaciones) {
    muestras2 <- matrix(rexp(n * num_simulaciones, rate = 1/theta_verdadero2), ncol = n)
    estimados2 <- apply(muestras2, 2, estimador2)
    sesgos2[i] <- sesgo2(estimados2, theta_verdadero2)
  }
  
  plot(1:num_simulaciones, cumsum(sesgos2)/1:num_simulaciones, type = "l", 
       xlab = "Número de simulaciones", ylab = "Sesgo promedio acumulado")
}

# Estimadores propuestos
estimador12 <- function(muestra2) {
  (muestra2[1] + muestra2[2]) / 6 + (muestra2[3] + muestra2[4]) / 3
}

estimador22 <- function(muestra2) {
  (muestra2[1] + 2 * muestra2[2] + 3 * muestra2[3] + 4 * muestra2[4]) / 5
}

estimador32 <- function(muestra2) {
  mean(muestra2)
}

estimador42 <- function(muestra2) {
  (min(muestra2) + max(muestra2)) / 2
}

# Evaluar consistencia para diferentes tamaños de muestra
n_valores <- c(20, 50, 100, 1000)

par(mfrow = c(2, 2))
for (n in n_valores) {
  evaluar_consistencia2(n, estimador12, theta_verdadero2)
  evaluar_consistencia2(n, estimador22, theta_verdadero2)
  evaluar_consistencia2(n, estimador32, theta_verdadero2)
  evaluar_consistencia2(n, estimador42, theta_verdadero2)
}

Consistencia: Un estimador se considera consistente si su valor se acerca al valor real del parámetro a medida que el tamaño de la muestra aumenta. Es decir, a medida que la muestra se vuelve más grande, el estimador tiende a converger al valor real del parámetro. Un estimador se considera más consistente si el sesgo promedio acumulado se estabiliza cerca de cero a medida que aumenta el número de simulaciones. Esto indica que, a medida que se incrementa el tamaño de muestra, el estimador tiende a proporcionar estimaciones que están cada vez más cerca del valor verdadero del parámetro. Por lo cual podemos ver como los estimadores 1 y 3 son los más consistentes. Mientras que el 2 y 4 los menos consistentes.