En este informe se presenta la solución del problema 2, correspondiente a la actividad 2 de la asignatura de Métodos y Simulación estadística.
Determinar las características de los 4 estimadores propuestos.
Se crea la población de estudio
pobDisExp = rexp(1000)
Se crea función para generar la muestra aleatoria con n=4, que son los elementos requeridos en los estimadores propuestos.
n = 4
genera_muestra <- function(data, n) {
muestra <- sample(data, n)
return(muestra)
}
Se generan las muestras aplicando la función “genera_muestra”
num_muestras <- 20
muestras <- lapply(1:num_muestras, function(x) genera_muestra(pobDisExp, n))
Se crea Dataframe vacío y se itera sobre la lista de muestras para agregar los datos al Dataframe
df20 <- data.frame()
for (i in 1:length(muestras)) {
df20 <- rbind(df20, muestras[[i]])
}
Se cambian los nombres de las columnas
colnames(df20) <- c("X1", "X2", "X3", "X4")
Se estima cada uno de los Estimadores para n=20
df20['Est1'] <- ((df20['X1'] + df20['X2'])/6 + (df20['X3'] + df20['X4'])/3)
df20['Est2'] <- (df20['X1'] + 2*df20['X2'] + 3*df20['X3'] + 4*df20['X4'])/5
df20['Est3'] <- (df20['X1'] + df20['X2'] + df20['X3'] + df20['X4'])/4
df20['Est4'] <- (apply(df20[,c("X1","X2","X3","X4")], 1, FUN = min) + apply(df20[,c("X1","X2","X3","X4")], 1, FUN = max))/2
Se grafican los estimadores para n=20
Summary<-boxplot(df20[,c("Est1","Est2","Est3","Est4")],
main = "Estimación de Estimadores (n = 20)",
xlab="Estimadores",
ylab="Valor Estimado", las=1)$stats
colnames(Summary)<-c("Theta 1","Theta 2","Theta 3","Theta 4")
rownames(Summary)<-c("Min","First Quartile","Median","Third Quartile","Maximum")
Summary
## Theta 1 Theta 2 Theta 3 Theta 4
## Min 0.2905152 1.017499 0.2667689 0.3052240
## First Quartile 0.6564054 1.373305 0.6284851 0.6505611
## Median 0.7832533 1.585634 0.8392904 0.8732693
## Third Quartile 0.9037461 1.751151 1.0103858 1.1263557
## Maximum 1.1495437 1.982459 1.4764878 1.5612916
Se generan las muestras aplicando la función “genera_muestra”
num_muestras <- 50
muestras <- lapply(1:num_muestras, function(x) genera_muestra(pobDisExp, n))
Se crea Dataframe vacío y se itera sobre la lista de muestras para agregar los datos al Dataframe
df50 <- data.frame()
for (i in 1:length(muestras)) {
df50 <- rbind(df50, muestras[[i]])
}
Se cambian los nombres de las columnas
colnames(df50) <- c("X1", "X2", "X3", "X4")
Se estima cada uno de los Estimadores para n=50
df50['Est1'] <- ((df50['X1'] + df50['X2'])/6 + (df50['X3'] + df50['X4'])/3)
df50['Est2'] <- (df50['X1'] + 2*df50['X2'] + 3*df50['X3'] + 4*df50['X4'])/5
df50['Est3'] <- (df50['X1'] + df50['X2'] + df50['X3'] + df50['X4'])/4
df50['Est4'] <- (apply(df50[,c("X1","X2","X3","X4")], 1, FUN = min) + apply(df50[,c("X1","X2","X3","X4")], 1, FUN = max))/2
Se grafican los estimadores para n=50
Summary<-boxplot(df50[,c("Est1","Est2","Est3","Est4")],
main = "Estimación de Estimadores (n = 50)",
xlab="Estimadores",
ylab="Valor Estimado", las=1)$stats
colnames(Summary)<-c("Theta 1","Theta 2","Theta 3","Theta 4")
rownames(Summary)<-c("Min","First Quartile","Median","Third Quartile","Maximum")
Summary
## Theta 1 Theta 2 Theta 3 Theta 4
## Min 0.1749080 0.3245546 0.1922231 0.2473818
## First Quartile 0.4811561 0.9936438 0.5417376 0.5840607
## Median 0.7272959 1.4484609 0.7488558 0.9598991
## Third Quartile 1.1402087 2.5037428 1.2008639 1.7897261
## Maximum 1.9977401 4.4387605 2.0470681 3.2200756
Se generan las muestras aplicando la función “genera_muestra”
num_muestras <- 100
muestras <- lapply(1:num_muestras, function(x) genera_muestra(pobDisExp, n))
Se crea Dataframe vacío y se itera sobre la lista de muestras para agregar los datos al Dataframe
df100 <- data.frame()
for (i in 1:length(muestras)) {
df100 <- rbind(df100, muestras[[i]])
}
Se cambian los nombres de las columnas
colnames(df100) <- c("X1", "X2", "X3", "X4")
Se estima cada uno de los Estimadores para n=100
df100['Est1'] <- ((df100['X1'] + df100['X2'])/6 + (df100['X3'] + df100['X4'])/3)
df100['Est2'] <- (df100['X1'] + 2*df100['X2'] + 3*df100['X3'] + 4*df100['X4'])/5
df100['Est3'] <- (df100['X1'] + df100['X2'] + df100['X3'] + df100['X4'])/4
df100['Est4'] <- (apply(df100[,c("X1","X2","X3","X4")], 1, FUN = min) + apply(df100[,c("X1","X2","X3","X4")], 1, FUN = max))/2
Se grafican los estimadores para n=100
Summary<-boxplot(df100[,c("Est1","Est2","Est3","Est4")],
main = "Estimación de Estimadores (n = 100)",
xlab="Estimadores",
ylab="Valor Estimado", las=1)$stats
colnames(Summary)<-c("Theta 1","Theta 2","Theta 3","Theta 4")
rownames(Summary)<-c("Min","First Quartile","Median","Third Quartile","Maximum")
Summary
## Theta 1 Theta 2 Theta 3 Theta 4
## Min 0.1708723 0.3562864 0.1737754 0.1876168
## First Quartile 0.5661583 1.0823853 0.5560931 0.6710242
## Median 0.7970108 1.5879510 0.9158921 0.9965735
## Third Quartile 1.2055780 2.3834187 1.3150982 1.4719581
## Maximum 2.1138366 4.1818123 2.0475104 2.6302644
Se generan las muestras aplicando la función “genera_muestra”
num_muestras <- 1000
muestras <- lapply(1:num_muestras, function(x) genera_muestra(pobDisExp, n))
Se crea Dataframe vacío y se itera sobre la lista de muestras para agregar los datos al Dataframe
df1000 <- data.frame()
for (i in 1:length(muestras)) {
df1000 <- rbind(df1000, muestras[[i]])
}
Se cambian los nombres de las columnas
colnames(df1000) <- c("X1", "X2", "X3", "X4")
Se estima cada uno de los Estimadores para n=1000
df1000['Est1'] <- ((df1000['X1'] + df1000['X2'])/6 + (df1000['X3'] + df1000['X4'])/3)
df1000['Est2'] <- (df1000['X1'] + 2*df1000['X2'] + 3*df1000['X3'] + 4*df1000['X4'])/5
df1000['Est3'] <- (df1000['X1'] + df1000['X2'] + df1000['X3'] + df1000['X4'])/4
df1000['Est4'] <- (apply(df1000[,c("X1","X2","X3","X4")], 1, FUN = min) + apply(df1000[,c("X1","X2","X3","X4")], 1, FUN = max))/2
Se grafican los estimadores para n=1000
Summary<-boxplot(df1000[,c("Est1","Est2","Est3","Est4")],
main = "Estimación de Estimadores (n = 1000)",
xlab="Estimadores",
ylab="Valor Estimado", las=1)$stats
colnames(Summary)<-c("Theta 1","Theta 2","Theta 3","Theta 4")
rownames(Summary)<-c("Min","First Quartile","Median","Third Quartile","Maximum")
Summary
## Theta 1 Theta 2 Theta 3 Theta 4
## Min 0.1020720 0.2005336 0.1022235 0.1038028
## First Quartile 0.5990854 1.1564468 0.6140367 0.6956943
## Median 0.9087298 1.7916391 0.9259548 1.0228420
## Third Quartile 1.3150420 2.5914058 1.3305519 1.6719995
## Maximum 2.3657938 4.7379090 2.3863454 3.1149164
Se realiza la estimación con este tamaño de muestra con el fin obtener los parámetros de referencia.
num_muestras <- 10000
muestras <- lapply(1:num_muestras, function(x) genera_muestra(pobDisExp, n))
Se crea Dataframe vacío y se itera sobre la lista de muestras para agregar los datos al Dataframe
df10000 <- data.frame()
for (i in 1:length(muestras)) {
df10000 <- rbind(df10000, muestras[[i]])
}
Se cambian los nombres de las columnas
colnames(df10000) <- c("X1", "X2", "X3", "X4")
Se estima cada uno de los Estimadores para n=10000
df10000['Est1'] <- ((df10000['X1'] + df10000['X2'])/6 + (df10000['X3'] + df10000['X4'])/3)
df10000['Est2'] <- (df10000['X1'] + 2*df10000['X2'] + 3*df10000['X3'] + 4*df10000['X4'])/5
df10000['Est3'] <- (df10000['X1'] + df10000['X2'] + df10000['X3'] + df10000['X4'])/4
df10000['Est4'] <- (apply(df10000[,c("X1","X2","X3","X4")], 1, FUN = min) + apply(df10000[,c("X1","X2","X3","X4")], 1, FUN = max))/2
Se asumen los siguientes valores para cada parámetro
parametro1 <- mean(df10000$Est1)
parametro2 <- mean(df10000$Est2)
parametro3 <- mean(df10000$Est3)
parametro4 <- mean(df10000$Est4)
parametro1
## [1] 0.9867525
parametro2
## [1] 1.973201
parametro3
## [1] 0.9868187
parametro4
## [1] 1.184649
Se estima el Insesgo del Estimador (Theta 1) para cada tamaño de muestra
Est1_Insesgo_M20 <- mean(df20$Est1) - parametro1
Est1_Insesgo_M50 <- mean(df50$Est1) - parametro1
Est1_Insesgo_M100 <- mean(df100$Est1) - parametro1
Est1_Insesgo_M1000 <- mean(df1000$Est1) - parametro1
Est1_Insesgo_M20
## [1] -0.1685832
Est1_Insesgo_M50
## [1] -0.08731806
Est1_Insesgo_M100
## [1] -0.05112234
Est1_Insesgo_M1000
## [1] 0.03268393
El menor Insesgo lo tiene el tamaño de muestra n=1000. Se concluye que Theta 1 es Consistente
Se estima el Insesgo del Estimador (Theta 2) para cada tamaño de muestra
Est2_Insesgo_M20 <- mean(df20$Est2) - parametro2
Est2_Insesgo_M50 <- mean(df50$Est2) - parametro2
Est2_Insesgo_M100 <- mean(df100$Est2) - parametro2
Est2_Insesgo_M1000 <- mean(df1000$Est2) - parametro2
Est2_Insesgo_M20
## [1] -0.345949
Est2_Insesgo_M50
## [1] -0.1398943
Est2_Insesgo_M100
## [1] -0.1210932
Est2_Insesgo_M1000
## [1] 0.054808
El menor Insesgo lo tiene el tamaño de muestra n=1000. Se concluye que Theta 2 es Consistente
Se estima el Insesgo del Estimador (Theta 3) para cada tamaño de muestra
Est3_Insesgo_M20 <- mean(df20$Est3) - parametro3
Est3_Insesgo_M50 <- mean(df50$Est3) - parametro3
Est3_Insesgo_M100 <- mean(df100$Est3) - parametro3
Est3_Insesgo_M1000 <- mean(df1000$Est3) - parametro3
Est3_Insesgo_M20
## [1] -0.1453617
Est3_Insesgo_M50
## [1] -0.04124532
Est3_Insesgo_M100
## [1] -0.02048111
Est3_Insesgo_M1000
## [1] 0.03593428
El menor Insesgo lo tiene el tamaño de muestra n=100. Se concluye que Theta 3 es Inconsistente
Se estima el Insesgo del Estimador (Theta 4) para cada tamaño de muestra
Est4_Insesgo_M20 <- mean(df20$Est4) - parametro4
Est4_Insesgo_M50 <- mean(df50$Est4) - parametro4
Est4_Insesgo_M100 <- mean(df100$Est4) - parametro4
Est4_Insesgo_M1000 <- mean(df1000$Est4) - parametro4
Est4_Insesgo_M20
## [1] -0.2300266
Est4_Insesgo_M50
## [1] -0.01290773
Est4_Insesgo_M100
## [1] -0.0312091
Est4_Insesgo_M1000
## [1] 0.04016871
El menor Insesgo lo tiene el tamaño de muestra n=1000. Se concluye que Theta 4 es Consistente
Se estima la Eficiencia del Estimador (Theta 1) para cada tamaño de muestra
Est1_Eficiencia_M20 <- var(df10000$Est1)/var(df20$Est1)
Est1_Eficiencia_M50 <- var(df10000$Est1)/var(df50$Est1)
Est1_Eficiencia_M100 <- var(df10000$Est1)/var(df100$Est1)
Est1_Eficiencia_M1000 <- var(df10000$Est1)/var(df1000$Est1)
Est1_Eficiencia_M20
## [1] 4.042876
Est1_Eficiencia_M50
## [1] 1.034733
Est1_Eficiencia_M100
## [1] 1.050321
Est1_Eficiencia_M1000
## [1] 0.9930861
La mayor eficiencia se obtiene con tamaño de muestra n=50
Se estima la Eficiencia del Estimador (Theta 2) para cada tamaño de muestra
Est2_Eficiencia_M20 <- var(df10000$Est2)/var(df20$Est2)
Est2_Eficiencia_M50 <- var(df10000$Est2)/var(df50$Est2)
Est2_Eficiencia_M100 <- var(df10000$Est2)/var(df100$Est2)
Est2_Eficiencia_M1000 <- var(df10000$Est2)/var(df1000$Est2)
Est2_Eficiencia_M20
## [1] 4.826696
Est2_Eficiencia_M50
## [1] 0.9703087
Est2_Eficiencia_M100
## [1] 1.048255
Est2_Eficiencia_M1000
## [1] 1.012988
La mayor eficiencia se obtiene con tamaño de muestra n=50
Se estima la Eficiencia del Estimador (Theta 3) para cada tamaño de muestra
Est3_Eficiencia_M20 <- var(df10000$Est3)/var(df20$Est3)
Est3_Eficiencia_M50 <- var(df10000$Est3)/var(df50$Est3)
Est3_Eficiencia_M100 <- var(df10000$Est3)/var(df100$Est3)
Est3_Eficiencia_M1000 <- var(df10000$Est3)/var(df1000$Est3)
Est3_Eficiencia_M20
## [1] 3.059059
Est3_Eficiencia_M50
## [1] 0.8427598
Est3_Eficiencia_M100
## [1] 0.9613999
Est3_Eficiencia_M1000
## [1] 1.004588
La mayor eficiencia se obtiene con tamaño de muestra n=50
Se estima la Eficiencia del Estimador (Theta 4) para cada tamaño de muestra
Est4_Eficiencia_M20 <- var(df10000$Est4)/var(df20$Est4)
Est4_Eficiencia_M50 <- var(df10000$Est4)/var(df50$Est4)
Est4_Eficiencia_M100 <- var(df10000$Est4)/var(df100$Est4)
Est4_Eficiencia_M1000 <- var(df10000$Est4)/var(df1000$Est4)
Est4_Eficiencia_M20
## [1] 2.563413
Est4_Eficiencia_M50
## [1] 0.8387192
Est4_Eficiencia_M100
## [1] 1.078153
Est4_Eficiencia_M1000
## [1] 1.004034
La mayor eficiencia se obtiene con tamaño de muestra n=20