Ejercio 2 - Propiedades de los estimadores

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 siguientes estimadores propuestos:

Solución

Para θ1

num_samples1 <- c(20, 50, 100, 1000)
estimador1 <- function(x) {(x[1]+x[2])/6+(x[3]+x[4])/3}
resultados1 <- list()
for (n in num_samples1){
muestras1 <- matrix(rexp(4 * n), ncol = 4)
estimaciones1 <- apply(muestras1, 1, estimador1) 
resultados1[[as.character(n)]] <- estimaciones1
sesgo1 <- mean(estimaciones1) 
varianza1 <- var(estimaciones1)
media1 <- median(estimaciones1)
desviacion1 <- sd(estimaciones1)
cat("Tamaño de muestra1:", n, "") 
cat("Sesgo1:", sesgo1, "") 
cat("Varianza1:", varianza1, "")
cat("Media1:", media1, "")
cat("Desviacion1:", desviacion1, "")
}
## Tamaño de muestra1: 20 Sesgo1: 0.9906109 Varianza1: 0.2788355 Media1: 0.8819855 Desviacion1: 0.5280488 Tamaño de muestra1: 50 Sesgo1: 1.16934 Varianza1: 0.3438286 Media1: 1.110349 Desviacion1: 0.586369 Tamaño de muestra1: 100 Sesgo1: 0.9155561 Varianza1: 0.200053 Media1: 0.8100241 Desviacion1: 0.4472728 Tamaño de muestra1: 1000 Sesgo1: 0.9938052 Varianza1: 0.2750881 Media1: 0.9044521 Desviacion1: 0.5244884
boxplot(resultados1, names = num_samples1, main = "Distribución de Estimaciones θ1")

Para θ2

num_samples2 <- c(20, 50, 100, 1000)
nuevo_estimador2 <- function(x) {(x[1]+2*x[2]+3*x[3]+4*x[4])/5}
resultados_nuevo_estimador2 <- list()
for (n in num_samples2){
muestras2 <- matrix(rexp(4 * n), ncol = 4)
estimaciones2 <- apply(muestras2, 1, nuevo_estimador2) 
resultados_nuevo_estimador2[[as.character(n)]] <- estimaciones2
sesgo2 <- mean(estimaciones2)
varianza2 <- var(estimaciones2)
media2 <- median(estimaciones2)
desviacion2 <- sd(estimaciones2)
cat("Tamaño de muestra2:", n, "") 
cat("Sesgo2:", sesgo2, "") 
cat("Varianza2:", varianza2, "")
cat("Media2:", media2, "")
cat("Desviacion2:", desviacion2, "")
}
## Tamaño de muestra2: 20 Sesgo2: 1.773266 Varianza2: 0.5351465 Media2: 1.718259 Desviacion2: 0.7315371 Tamaño de muestra2: 50 Sesgo2: 1.928416 Varianza2: 1.281421 Media2: 1.502349 Desviacion2: 1.131999 Tamaño de muestra2: 100 Sesgo2: 2.031188 Varianza2: 1.463404 Media2: 1.852694 Desviacion2: 1.209712 Tamaño de muestra2: 1000 Sesgo2: 2.033878 Varianza2: 1.162013 Media2: 1.871924 Desviacion2: 1.077967
boxplot(resultados_nuevo_estimador2, names = num_samples2, main = "Distribución de Estimaciones θ2")

Para θ3

num_samples3 <- c(20, 50, 100, 1000)
estimador3 <- function(x) (x[1]+x[2]+x[3]+x[4])/4
resultados_estimador3 <- list()
for (n in num_samples3){
muestras3 <- matrix(rexp(4 * n), ncol = 4)
estimaciones3 <- apply(muestras3, 1, estimador3) 
resultados_estimador3[[as.character(n)]] <- estimaciones3
sesgo3 <- mean(estimaciones3) 
varianza3 <- var(estimaciones3)
media3 <- median(estimaciones3)
desviacion3 <- sd(estimaciones3)
cat("Tamaño de muestra3:", n, "") 
cat("Sesgo3:", sesgo3, "") 
cat("Varianza3:", varianza3, "")
cat("Media3:", media3, "")
cat("Desviacion3:", desviacion3, "")
}
## Tamaño de muestra3: 20 Sesgo3: 0.9492745 Varianza3: 0.3429018 Media3: 0.7925571 Desviacion3: 0.5855782 Tamaño de muestra3: 50 Sesgo3: 0.9128985 Varianza3: 0.2100687 Media3: 0.8422916 Desviacion3: 0.4583325 Tamaño de muestra3: 100 Sesgo3: 1.055303 Varianza3: 0.3406984 Media3: 0.9742574 Desviacion3: 0.5836938 Tamaño de muestra3: 1000 Sesgo3: 1.054271 Varianza3: 0.3140889 Media3: 0.9512645 Desviacion3: 0.5604364
boxplot(resultados_estimador3, names = num_samples3, main = "Distribución de Estimaciones θ3")

Para θ4

num_samples4 <- c(20, 50, 100, 1000)
estimador4 <- function(x) (min(x)+max(x))/2
resultados_estimador4 <- list()
for (n in num_samples4){
muestras4 <- matrix(rexp(4 * n), ncol = 4)
estimaciones4 <- apply(muestras4, 1, estimador4) 
resultados_estimador4[[as.character(n)]] <- estimaciones4
sesgo4 <- mean(estimaciones4)
varianza4 <- var(estimaciones4)
media4 <- median(estimaciones4)
desviacion4 <- sd(estimaciones4)
cat("Tamaño de muestra4:", n, "") 
cat("Sesgo4:", sesgo4, "") 
cat("Varianza4:", varianza4, "")
cat("Media4:", media4, "")
cat("Desviacion4:", desviacion4, "")
}
## Tamaño de muestra4: 20 Sesgo4: 1.376184 Varianza4: 1.308119 Media4: 1.118708 Desviacion4: 1.14373 Tamaño de muestra4: 50 Sesgo4: 1.267555 Varianza4: 0.4536285 Media4: 1.113514 Desviacion4: 0.6735195 Tamaño de muestra4: 100 Sesgo4: 1.136943 Varianza4: 0.3715433 Media4: 1.059373 Desviacion4: 0.6095435 Tamaño de muestra4: 1000 Sesgo4: 1.152897 Varianza4: 0.3861572 Media4: 1.054475 Desviacion4: 0.6214155
boxplot(resultados_estimador4, names = num_samples4, main = "Distribución de Estimaciones θ4")

Unión de los estimadores por N

library(dplyr)
## 
## Attaching package: 'dplyr'
## The following objects are masked from 'package:stats':
## 
##     filter, lag
## The following objects are masked from 'package:base':
## 
##     intersect, setdiff, setequal, union
mi_df <- data.frame(resultados1, resultados_nuevo_estimador2, resultados_estimador3, resultados_estimador4)
n20 <- select(mi_df, c("X20", "X20.1", "X20.2", "X20.3"))
boxplot(x = n20, col = "red", main = "Estimadores N20", 
        xlab = "Estimadores", ylab = "Frecuencia", 
        names = c("θ1", "θ2","θ3","θ4"))

n50 <- select(mi_df, c("X50", "X50.1", "X50.2", "X50.3"))
boxplot(x = n50, col = "blue", main = "Estimadores N50", 
        xlab = "Estimadores", ylab = "Frecuencia", 
        names = c("θ1", "θ2","θ3","θ4"))

n100 <- select(mi_df, c("X100", "X100.1", "X100.2", "X100.3"))
boxplot(x = n100, col = "purple", main = "Estimadores N100", 
        xlab = "Estimadores", ylab = "Frecuencia", 
        names = c("θ1", "θ2","θ3","θ4"))

n1000 <- select(mi_df, c("X1000", "X1000.1", "X1000.2", "X1000.3"))
boxplot(x = n100, col = "yellow", main = "Estimadores N1000", 
        xlab = "Estimadores", ylab = "Frecuencia", 
        names = c("θ1", "θ2","θ3","θ4"))

Resultados

Tamaño de la muestra 20

Estimador θ1: Sesgo1: 0.9074234 Varianza1: 0.1767682 Media1: 0.9009423 Desviacion1: 0.4204381

Estimador θ2: Sesgo2: 1.60397 Varianza2: 0.8041022 Media2: 1.324672 Desviacion2: 0.8967174

Estimador θ3: Sesgo3: 0.883089 Varianza3: 0.1716846 Media3: 0.8746674 Desviacion3: 0.4143484

Estimador θ4: Sesgo4: 1.105418 Varianza4: 0.2330247 Media4: 1.149691 Desviacion4: 0.4827264

Según los datos recopilados para cada estimador, podemos notar que, para la muestra de tamaño 20, el tercer estimador parece ser la elección más favorable. Esto se debe a que presenta el sesgo más cercano a cero, con un valor de 0.88, y la varianza más baja, de 0.17, en comparación con los demás estimadores analizados.

Tamaño de la muestra 50

Estimador θ1: Sesgo1: 1.093536 Varianza1: 0.3382704 Media1: 0.9150168 Desviacion1: 0.5816101

Estimador θ2: Sesgo2: 1.834054 Varianza2: 1.219567 Media2: 1.665336 Desviacion2: 1.10434

Estimador θ3: Sesgo3: 1.054241 Varianza3: 0.2515346 Media3: 0.9345031 Desviacion3: 0.5015323

Estimador θ4: Tamaño de muestra4: 50 Sesgo4: 1.184867 Varianza4: 0.3471524 Media4: 1.103571 Desviacion4: 0.5891964

Para la muestra de tamaño 50, podemos notar una situación similar a la del estimador anterior. En este caso, el tercer estimador se destaca como la opción más favorable, ya que muestra un sesgo cercano a cero, con un valor de 1.05, y una varianza más baja, de 0.25, según la información proporcionada.

Tamano de la muestra 100

Estimador θ1: Tamaño de muestra1: 100 Sesgo1: 0.9809172 Varianza1: 0.2574337 Media1: 0.9420469 Desviacion1: 0.5073792

Estimador θ2: Tamaño de muestra2: 100 Sesgo2: 1.963573 Varianza2: 0.9500908 Media2: 1.800355 Desviacion2: 0.974726

Estimador θ3: Tamaño de muestra3: 100 Sesgo3: 0.9709123 Varianza3: 0.2703652 Media3: 0.8874197 Desviacion3: 0.5199665

Estimador θ4: Tamaño de muestra4: 100 Sesgo4: 1.289609 Varianza4: 0.5564378 Media4: 1.168381 Desviacion4: 0.7459476

En el caso de una muestra de tamaño 100, una vez más, el tercer estimador explica los valores más favorables. Esto se debe a que el sesgo es el más próximo a cero, con un valor de 0.97, y la varianza es la más baja, alcanzando 0.27.

Tamaño de la muestra 1000

Estimador θ1: Sesgo1: 1.032237 Varianza1: 0.2825503 Media1: 0.9468076 Desviacion1: 0.5315546

Estimador θ2: Sesgo2: 2.061759 Varianza2: 1.234481 Media2: 1.871 Desviacion2: 1.111072

Estimador θ3: Sesgo3: 0.9817913 Varianza3: 0.2479055 Media3: 0.9144781 Desviacion3: 0.4979011

Estimador θ4: Sesgo4: 1.169489 Varianza4: 0.4395997 Media4: 1.024787 Desviacion4: 0.6630232

En la muestra de tamaño 1000, nuevamente el tercer estimador presenta los valores más favorables. Esto se debe a que el sesgo es el más próximo a cero, con un valor de 0.97, y la varianza es la más reducida, alcanzando 0.27.

Conclusión

Basándonos en los datos previos, podemos notar que el estimador 3 se destaca por su consistencia, ya que presenta un sesgo inferior a los otros estimadores y, al mismo tiempo, exhibe la varianza más reducida.