Genere una muestra de n=20, 50, 100 y 1000 para cada uno de los estimadores planteados (para cada uno evaluar las propiedades de insesgadez, eficiencia y consistencia):
theta <- 2
estimador_1 <- function(x1,x2,x3,x4){
return ( (x1 + x2)/6 + (x3 + x4)/3)
}
estimador_2 <- function(x1,x2,x3,x4){
return ( (x1 + 2 * x2 + 3 * x3 + 4 * x4)/5 )
}
estimador_3 <- function(x1,x2,x3,x4){
return ( (x1 + x2+ x3 + x4)/4 )
}
estimador_4 <- function(x1,x2,x3,x4){
return ( (min(x1,x2,x3,x4) + max(x1,x2,x3,x4))/2 )
}
n <- 20
set.seed(123)
m = matrix(data=rexp(n*4, theta), nrow = n, byrow = TRUE)
colnames(m) <- c('Teta 1', 'Teta 2', 'Teta 3', 'Teta 4')
matriz20 = m[1:n,]
for (i in 1:n){
matriz20[i,1] = estimador_1(m[i,1], m[i,2], m[i,3], m[i,4])
matriz20[i,2] = estimador_2(m[i,1], m[i,2], m[i,3], m[i,4])
matriz20[i,3] = estimador_3(m[i,1], m[i,2], m[i,3], m[i,4])
matriz20[i,4] = estimador_4(m[i,1], m[i,2], m[i,3], m[i,4])
}
estimadoresn20 = data.frame(matriz20)
boxplot(estimadoresn20, xlab = "Estimadores para N=20", ylab="Valores Estimadores")
abline(h=theta, col="red")
media <- apply(estimadoresn20, 2, mean)
varianza <- apply(estimadoresn20, 2, var)
sesgo <- theta-media
comp = data.frame(media, varianza, sesgo)
prop.table(comp)
## media varianza sesgo
## Teta.1 0.05773794 0.005968878 0.1770753
## Teta.2 0.11609673 0.029661766 0.1187165
## Teta.3 0.05970884 0.007186097 0.1751044
## Teta.4 0.07117079 0.017930143 0.1636425
En esta simulación se observa que el Theta 2 tiene un valor más cercano a la media, por ende presenta menor sesgo. Y el estimador más eficiente sería el Teta 3, ya que presenta una varianza mucho menor que la de los otros estimadores.
n <- 50
set.seed(123)
m = matrix(data=rexp(n*4, theta), nrow = n, byrow = TRUE)
colnames(m) <- c('Teta 1', 'Teta 2', 'Teta 3', 'Teta 4')
matriz50 = m[1:n,]
for (i in 1:n){
matriz50[i,1] = estimador_1(m[i,1], m[i,2], m[i,3], m[i,4])
matriz50[i,2] = estimador_2(m[i,1], m[i,2], m[i,3], m[i,4])
matriz50[i,3] = estimador_3(m[i,1], m[i,2], m[i,3], m[i,4])
matriz50[i,4] = estimador_4(m[i,1], m[i,2], m[i,3], m[i,4])
}
estimadoresn50 = data.frame(matriz50)
boxplot(estimadoresn50, xlab = "Estimadores para N=50", ylab="Valores Estimadores")
abline(h=theta, col="red")
media <- apply(estimadoresn50, 2, mean)
varianza <- apply(estimadoresn50, 2, var)
sesgo <- theta-media
comp = data.frame(media, varianza, sesgo)
prop.table(comp)
## media varianza sesgo
## Teta.1 0.05948136 0.005877431 0.1782380
## Teta.2 0.12174049 0.026043572 0.1159789
## Teta.3 0.05985972 0.005257439 0.1778597
## Teta.4 0.06872072 0.011943928 0.1689987
En esta simulación se observa que el Theta 2 tiene un valor más cercano a la media, por ende presenta menor sesgo. Y el estimador más eficiente sería el Teta 3, ya que presenta una varianza mucho menor que la de los otros estimadores.
n <- 100
set.seed(123)
m = matrix(data=rexp(n*4, theta), nrow = n, byrow = TRUE)
colnames(m) <- c('Teta 1', 'Teta 2', 'Teta 3', 'Teta 4')
matriz100 = m[1:n,]
for (i in 1:n){
matriz100[i,1] = estimador_1(m[i,1], m[i,2], m[i,3], m[i,4])
matriz100[i,2] = estimador_2(m[i,1], m[i,2], m[i,3], m[i,4])
matriz100[i,3] = estimador_3(m[i,1], m[i,2], m[i,3], m[i,4])
matriz100[i,4] = estimador_4(m[i,1], m[i,2], m[i,3], m[i,4])
}
estimadoresn100 = data.frame(matriz100)
boxplot(estimadoresn100, xlab = "Estimadores para N=100", ylab="Valores Estimadores")
abline(h=theta, col="red")
media <- apply(estimadoresn100, 2, mean)
varianza <- apply(estimadoresn100, 2, var)
sesgo <- theta-media
comp = data.frame(media, varianza, sesgo)
prop.table(comp)
## media varianza sesgo
## Teta.1 0.05802591 0.006021576 0.1800046
## Teta.2 0.11578878 0.026058222 0.1222417
## Teta.3 0.05909532 0.005722945 0.1789351
## Teta.4 0.06719884 0.010075427 0.1708316
En esta simulación con 100 simulaciones se observa que nuevamente Theta 2 tiene un valor más cercano a la media, por ende presenta menor sesgo. Y aparte estimador más eficiente sería el Teta 3, ya que presenta una varianza mucho menor que la de los otros estimadores.
n <- 1000
set.seed(123)
m = matrix(data=rexp(n*4, theta), nrow = n, byrow = TRUE)
colnames(m) <- c('Teta 1', 'Teta 2', 'Teta 3', 'Teta 4')
matriz1000 = m[1:n,]
for (i in 1:n){
matriz1000[i,1] = estimador_1(m[i,1], m[i,2], m[i,3], m[i,4])
matriz1000[i,2] = estimador_2(m[i,1], m[i,2], m[i,3], m[i,4])
matriz1000[i,3] = estimador_3(m[i,1], m[i,2], m[i,3], m[i,4])
matriz1000[i,4] = estimador_4(m[i,1], m[i,2], m[i,3], m[i,4])
}
estimadoresn1000 = data.frame(matriz1000)
boxplot(estimadoresn1000, xlab = "Estimadores para N=1000", ylab="Valores Estimadores")
abline(h=theta, col="red")
media <- apply(estimadoresn1000, 2, mean)
varianza <- apply(estimadoresn1000, 2, var)
sesgo <- theta-media
comp = data.frame(media, varianza, sesgo)
prop.table(comp)
## media varianza sesgo
## Teta.1 0.05848953 0.008129141 0.1759782
## Teta.2 0.11715539 0.035011071 0.1173124
## Teta.3 0.05861548 0.007130077 0.1758523
## Teta.4 0.06855209 0.011858732 0.1659157
En esta simulación con 1000 simulaciones se observa que nuevamente Theta 2 mejora el valor de su media a un valor más cercano a la media, por ende presenta menor sesgo. Y el estimador más eficiente sería el Teta 3, ya que presenta una varianza mucho menor que la de los otros estimadores pero su media es muy alejada del valor real.
De los 4 estimadores presentados, el que mejor resultados obtiene es el Tetha 2 ya que es el que resultados más cercanos en su media al tetha real se obtiene para todos los datos. Adicional presenta el menor sesgo, y también presenta la mayor varianza de todos los estimadores.