Porpiedades de los Estimadores


El planteamiento se enfoca en evaluar tres propiedades estadísticas fundamentales de estimadores (insesgadez, eficiencia y consistencia) mediante la simulación de datos y la creación de varias funciones estimadoras de θ, utilizando distribuciones exponenciales. A continuación, explico cada uno de los pasos y cómo se relacionan con el análisis solicitado:

Aquí se generan cuatro conjuntos de datos x1, x2, x3, y x4 a partir de una distribución exponencial con parámetro 𝜆=1/5 (lo cual implica que el valor esperado de la distribución es 5). Cada muestra tiene tamaño 𝑛= 20, 50, 100 y 1000.

Caso 1: para n = 20

set.seed(123)  # Para obtener el mismo resultado
n <- 20
t <- 1/5

# Generar muestras
x1 <- rexp(n, t)
x2 <- rexp(n, t)
x3 <- rexp(n, t)
x4 <- rexp(n, t)

# Creación de Funciones de teta (estimadores)
data <- data.frame(
  t1 = (x1 + x2) / 6 + (x3 + x4) / 3,
  t2 = (x1 + 2*x2 + 3*x3 + 4*x4) / 6,
  t3 = (x1 + x2 + x3 + x4) / 4,
  t4 = (pmin(x1, x2, x3, x4) + pmax(x1, x2, x3, x4)) / 2
)

# Nombrar las columnas del dataset
names(data) <- c("t1", "t2", "t3", "t4")

# Resultados de los estimadores
boxplot(data, las = 1, main = "Estimadores", ylab = "Valores")
abline(h = 5, col = "red")  # Añadir una línea horizontal en 5

# Calcular medias y desviaciones estándar
medias <- apply(data, 2, mean)
desviaciones <- apply(data, 2, sd)

# Crear tabla de medias y desviaciones estándar
tabla_resultados <- data.frame(
  Estimador = c("t1", "t2", "t3", "t4"),
  Media = medias,
  `Desviación Estándar` = desviaciones
)

print(tabla_resultados)
##    Estimador    Media Desviación.Estándar
## t1        t1 5.177122            2.608320
## t2        t2 8.516495            3.901738
## t3        t3 5.085644            2.228218
## t4        t4 6.003939            3.608070
# Cargar la librería knitr
#install.packages("knitr")  # Instalar si no está instalada

#library(knitr)

# Crear la tabla sin numerales y en formato HTML
#tabla_html <- kable(
 # tabla_resultados,
  #format = "html",
  #col.names = c("Estimador", "Media", "Desviación Estándar"),
  #row.names = FALSE
#)

# Mostrar la tabla en formato HTML
#print(tabla_html)


Caso 2: Para n = 50

Se realiza un boxplot para observar la distribución de los valores de cada estimador. La línea roja horizontal en 𝑦= 5 indica el valor verdadero de θ (el valor esperado de la distribución exponencial, que es 5).

La gráfica de de cajas permiten visualizar:

Insesgadez: Un estimador es insesgado si la media de sus valores se acerca al valor verdadero de θ (en este caso, 5).

Eficiencia: Se puede observar la dispersión de los valores de cada estimador. Los estimadores con menor dispersión (menor varianza) son más eficientes

set.seed(123)  # Para obtener el mismo resultado
n <- 50
t <- 1/5

# Generar 
x1 <- rexp(n, t)
x2 <- rexp(n, t)
x3 <- rexp(n, t)
x4 <- rexp(n, t)

# creacion de Funciones de teta.
data <- data.frame(
  t1 = (x1 + x2) / 6 + (x3 + x4) / 3,
  t2 = (x1 + 2*x2 + 3*x3 + 4*x4) / 6,
  t3 = (x1 + x2 + x3 + x4) / 4,
  t4 = (pmin(x1, x2, x3, x4) + pmax(x1, x2, x3, x4)) / 2
)

# Nombrar las Columnas del Dataset
names(data) <- c("t1", "t2", "t3", "t4")

# Resultados de los estimadores.
boxplot(data, las = 1, main = "Estimadores", ylab = "Valores")
abline(h = 5, col = "red")

medias <- apply(data, 2, mean)
desviaciones <- apply(data, 2, sd)

# Crear tabla de medias y desviaciones estándar
tabla_resultados <- data.frame(
  Estimador = c("t1", "t2", "t3", "t4"),
  Media = medias,
  `Desviación Estándar` = desviaciones
)

# Mostrar la tabla
print(tabla_resultados)
##    Estimador    Media Desviación.Estándar
## t1        t1 4.972023            2.587901
## t2        t2 8.245914            4.313706
## t3        t3 5.036166            2.593126
## t4        t4 5.788121            3.511058

Consistencia de los Estimadores


Evaluar la consistencia de los Estimadores mediante la variacion de las muestras n.

set.seed(123)  # Para obtener el mismo resultado
t <- 1 / 5  # El valor de theta es 5

# Función para generar estimadores dado un tamaño de muestra n
generar_estimadores <- function(n) {
  x1 <- rexp(n, t)
  x2 <- rexp(n, t)
  x3 <- rexp(n, t)
  x4 <- rexp(n, t)

  # Creación de los estimadores
  t1 <- (x1 + x2) / 6 + (x3 + x4) / 3
  t2 <- (x1 + 2*x2 + 3*x3 + 4*x4) / 6
  t3 <- (x1 + x2 + x3 + x4) / 4
  t4 <- (pmin(x1, x2, x3, x4) + pmax(x1, x2, x3, x4)) / 2
  
  return(c(t1 = mean(t1), t2 = mean(t2), t3 = mean(t3), t4 = mean(t4)))
}

# Tamaños de muestra para evaluar la consistencia
tamanos_muestra <- c(20, 50, 100, 1000)

# Almacenar los resultados
resultados <- data.frame()

# Calcular los estimadores para cada tamaño de muestra
for (n in tamanos_muestra) {
  estimadores <- as.data.frame(t(generar_estimadores(n)))
  estimadores$n <- n  # Agregar el tamaño de muestra
  resultados <- rbind(resultados, estimadores)
}

# Visualización de la consistencia: promedio de los estimadores a medida que crece n
library(reshape2)
resultados_melted <- melt(resultados, id.vars = "n")

# Graficar la convergencia de los estimadores
library(ggplot2)
ggplot(resultados_melted, aes(x = n, y = value, color = variable, group = variable)) +
  geom_line() +
  geom_point() +
  geom_hline(yintercept = 5, linetype = "dashed", color = "red") +
  labs(title = "Consistencia de los Estimadores", x = "Tamaño de Muestra (n)", y = "Valor Estimado") +
  theme_minimal()


Conclusiones: