La simulación ayuda a entender y validad 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 X1, X2, X3 y X4, 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 estimadores propuestos.
Estimadores propuestos:
θ1ˆ=X1+X26+X3+X43
θ2ˆ=(X1+2X2+3X3+4*X4)5
θ3ˆ=(X1+X2+X3+X4)/4
θ4ˆ=(min{X1,X2,X3,X4}+max{X1,X2,X3,X4})\2
Sesgo: Un sesgo cercano a cero indica que el estimador es insesgado, es decir, su valor esperado es cercano al valor verdadero de θ=2, observamos que el sesgo de los Estimadores 1 y 3 son los mas cercanos al valor = 0.
Varianza: La varianza indica cuánto varían las estimaciones alrededor de su valor medio. Un valor bajo de varianza indica que las estimaciones tienden a estar más cerca unas de otras.El Estimador 3 presenta menos variacion de los datos
Consistencia: La consistencia es una medida general de qué tan cerca están las estimaciones del valor verdadero de θ, una consistencia más alta indica que las estimaciones tienden a estar más cerca del valor verdadero de θ=2, El Estimador e para n=50 tiene mejor consistencia de los datos.
###################### Problema 2 #############################################
## Propiedades de los estimadores
#Sean X1, X2, X3 y X4, 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:
# Definir semilla para reproducibilidad
set.seed(1234)
# Parámetros
theta <- 2 # Parámetro de la distribución exponencial
ns <- c(20, 50, 100, 1000) # Tamaños de muestras
###############################################################################
# Funciones de los estimadores
estimador_1 <- function(sample) {
return(((sample[1] + sample[2])/6) + ((sample[3] + sample[4])/3))
}
estimador_2 <- function(sample) {
return((sample[1] + 2*sample[2] + 3*sample[3] + 4*sample[4])/5)
}
estimador_3 <- function(sample) {
return((sample[1] + sample[2] + sample[3] + sample[4])/4)
}
estimador_4 <- function(sample) {
return(((min(sample[1] + sample[2] + sample[3] + sample[4])) + (max(sample[1] + sample[2] + sample[3] + sample[4])))/2)
}
###############################################################################
# Función para generar muestras y evaluar los estimadores
evaluar_estimador <- function(n, estimador) {
muestra <- matrix(rexp(4 * n, rate = 1/theta), ncol = 4)
estimaciones <- apply(muestra, 1, estimador)
return(estimaciones)
}
###############################################################################
# Calcular estimaciones de los estimadores para cada tamaño de muestra
resultados <- lapply(ns, function(n) {
data.frame(n = rep(n, 4),
Estimador = rep(1:4, each = n),
Estimaciones = c(evaluar_estimador(n, estimador_1),
evaluar_estimador(n, estimador_2),
evaluar_estimador(n, estimador_3),
evaluar_estimador(n, estimador_4)))
})
###############################################################################
# Combinar los resultados en un único data frame
resultados <- do.call(rbind, resultados)
# Graficar boxplot para cada tamaño de muestra y cada estimador
library(ggplot2)
ggplot(resultados, aes(x = factor(n), y = Estimaciones)) +
geom_boxplot() +
facet_wrap(~ Estimador, scales = "free_y") +
labs(title = "Distribución de Estimaciones para cada Estimador",
x = "Tamaño de Muestra (n)",
y = "Estimaciones")
###############################################################################
# Calcular sesgo, varianza y consistencia para cada estimador y tamaño de muestra
calcular_estadisticas <- function(estimaciones, theta) {
sesgo <- mean(estimaciones) - theta
varianza <- var(estimaciones)
consistencia <- sesgo^2 + varianza
return(c(sesgo = sesgo, varianza = varianza, consistencia = consistencia))
}
# Aplicar la función a las estimaciones de cada estimador para cada tamaño de muestra
estadisticas <- lapply(split(resultados$Estimaciones, list(resultados$n, resultados$Estimador)), calcular_estadisticas, theta)
# Mostrar resultados
estadisticas
###############################################################################
# Combinar las estadísticas en una matriz y convertirla en un data frame
tabla_estadisticas <- do.call(rbind, estadisticas)
tabla_estadisticas <- as.data.frame(tabla_estadisticas)
# Mostrar tabla de estadísticas
tabla_estadisticas