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
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:
Se puede observar que las funciones t1 y t3 propuestas como estimadores son las menos sesgadaz, ademas de presentar una buena eficiencia al presentar las menores desviaciones estandar.
Ademas de eso, como muestra la grafica de consistencia, las funciones t1 y t3 presentan la mejor consistencia, ya que al aumentar la muestra los valores de θ no varian y tienden a acercarse al valor esperado.