En poblaciones normales la cuasivarianza muestral es un estimador insesgado de la varianza poblacional

Cuando se extraen muestras de pequeño tamaño de una población normal para estimar la varianza poblacional, la cuasivarianza muestral estima sin sesgo ese parámetro y la varianza muestral lo subestima. Ejecútese varias veces el script para observar esta propiedad.

#INICIO -------------------------
rm(list=ls(all=TRUE))
#Si existe un gráfico previo lo eliminamos
dev.off()

#Introducir n (nº de muestras extraídas) y m (tamaño muestral)
#Para observar bien el efecto m debe ser grande (por ejemplo, alrededor de 1000) y n pequeño (alrededor de 10) 
n<-1000; m<-10

#Extraemos n muestras de tamaño m de una población normal de media 10 y varianza 9
x<-replicate(n,rnorm(m,10,sqrt(9)))

#Calculamos las cuasivarianzas muestrales (función 'var')
z1<-apply(x,2,var)

#Calculamos las varianzas muestrales (función 'varmues' que construimos)
varmues<-function(x) var(x)*(m-1)/m
z2<-apply(x,2,varmues)

#Preparamos un gráfico dividido en dos subgráficos, superior e inferior
split.screen(c(2,1))
#Establecemos el color del fondo del gráfico
par(bg='antiquewhite')

screen(1)
xlim<-c(0,15);ylim<-c(-1,1)
plot(NA,xlim=xlim,ylim=ylim,axes=F,ann=F)

#Dibujamos los diferentes elementos del subgráfico superior
abline(h=0,lwd=4)
segments(0,-0.1,0,0.1,lwd=3);arrows(14,0,15.6,0,lwd=4)
arrows(9,0.5,9,0,lwd=2)
text(9,0.6,'Varianza poblacional = 9',pos=3)
text(4,1.025,'- La cuasivarianza muestral estima sin sesgo la varianza poblacional',font=2)
arrows(mean(z1),-0.5,mean(z1),0,col='blue',lwd=3)
text(mean(z1),-0.8,paste('Media de las cuasivarianzas muestrales =',round(mean(z1),2)),pos=3)

screen(2)
xlim<-c(0,15);ylim<-c(-1,1)
plot(NA,xlim=xlim,ylim=ylim,axes=F,ann=F)

#Dibujamos los diferentes elementos del subgráfico inferior
abline(h=0,lwd=4)
segments(0,-0.1,0,0.1,lwd=3);arrows(14,0,15.6,0,lwd=4)
arrows(9,0.5,9,0,lwd=2)
text(9,0.6,'Varianza poblacional = 9',pos=3)
#La varianza muestral subestima la varianza poblacional
text(4,1.025,'- La varianza muestral estima con sesgo la varianza poblacional',font=2)
arrows(mean(z2),-0.5,mean(z2),0,col='red',lwd=3);
text(mean(z2),-0.8,paste('Media de las varianzas muestrales =',round(mean(z2),2)),pos=3)
#FIN --------------------

No hay comentarios:

Publicar un comentario