*************************
#PROGRAM
n_10
N_10000
s1_c(1:N)
s2_c(1:N)
for(i in 1:N)
{
x_rnorm(n)
s1[i]_var(x, unbiased=T)
s2[i]_var(x, unbiased=F)
print(i)
}
s1_sort(s1)
s2_sort(s2)
bias.s1_mean(s1-1)
bias.s2_mean(s2-1)
mse.s1_mean((s1-1)**2)
mse.s2_mean((s2-1)**2)
sq.mse.s1_sqrt(mse.s1)
sq.mse.s2_sqrt(mse.s2)
summary(s1-1)
summary(s2-1)
print(c(bias.s1,mse.s1, sq.mse.s1))
print(c(bias.s2,mse.s2,sq.mse.s2))
*************************
OUTCOME OF THE PROGRAM
> summary(s1-1)
Min. 1st Qu. Median Mean 3rd Qu. Max.
-0.9362 -0.3475 -0.07806 -0.0004007 0.2732 3.053
> summary(s2-1)
Min. 1st Qu. Median Mean 3rd Qu. Max.
-0.9426 -0.4127 -0.1703 -0.1004 0.1459 2.648
> print(c(bias.s1,mse.s1, sq.mse.s1))
[1] -0.0004006553 0.2258741592 0.4752622005
> print(c(bias.s2,mse.s2,sq.mse.s2))
[1] -0.1003606 0.1930302 0.4393520
*************************
| bias | mse | sqrt(mse) | |
| unbiased sample variance | -0.000400 | 0.225874 | 0.475262 |
| biased sample variance | -0.100360 | 0.193030 | 0.439352 |
We see that the biased sample variance has a smaller mse than the unbiased sample variance. But, the improvement in the mse is not worthy compared with the loss in bias.