關於樣本方差的無偏估計

1.爲什麼樣本方差的分母是n-1

 首先給出樣本方差的計算方法:

\[S^2=\frac{1}{n-1}\sum_{i=1}^{n}{(X_i-\bar{X})}^2\]

其中樣本均值

\[\bar{X}=\frac{1}{n}\sum_{i=1}^{n}X_i\]

總體方差(在總體均值$\mu$已知的情況下)的定義是

\[{\sigma}^2=\frac{1}{n}\sum_{i=1}^{n}{(X_i-\mu)}^2\]

那爲什麼樣本方差的分母要使用n-1而不是n,證明如下:

======插入:證明需要用到以下性質======

(1)期望的線性可加性:若$X$和$Y$是兩個隨機變量,則他們的期望的和等於和的期望,即

\[E(aX+bY)=aE(X)+bE(Y)\]

(2)方差的性質

 若$X$和$Y$相互獨立,則

\[D(aX+bY)=a^2DX+b^2DY\]

(3)若總體$X$的均值、方差均存在,且$EX=\mu$,$DX={\sigma}^2$,則

\[E\bar{X}=\mu\]

\[D\bar{X}=\frac{\sigma^2}{n}\]

證明:

\[E\bar{X}=E\left(\frac{1}{n}\sum_{i=1}^{n}X_i\right)=\frac{1}{n}\sum_{i=1}^{n}{EX_i}=\frac{1}{n}\sum_{i=1}^{n}EX=\mu\]

\[D\bar{X}=D\left(\frac{1}{n}\sum_{i=1}^{n}X_i\right)=\frac{1}{n^2}\sum_{i=1}^{n}{DX_i}=\frac{1}{n^2}\sum_{i=1}^{n}DX=\frac{1}{n^2}n\sigma^2=\frac{\sigma^2}{n}\]

======

\[E\left(S^2\right)=\frac{1}{n-1}E\left(\sum_{i=1}^{n}\left(X_i-\bar{X}\right)^2\right)=\frac{1}{n-1}E\left(\sum_{i=1}^{n}\left(X_i-\mu+\mu-\bar{X}\right)^2\right)=\frac{1}{n-1}E\left(\sum_{i=1}^{n}\left(\left(X_i-\mu\right)^2-2(X_i-\mu)(\bar{X}-\mu)+\left(\bar{X}-\mu\right)^2\right)\right)=\frac{1}{n-1}E\left(\sum_{i=1}^{n}{\left(X_i-\mu\right)^2-2(\bar{X}-\mu)\sum_{i=1}^{n}{(X_i-\mu)}+{n\left(\bar{X}-\mu\right)}^2}\right)=\frac{1}{n-1}E\left(\sum_{i=1}^{n}{\left(X_i-\mu\right)^2-2n(\bar{X}-\mu)(\bar{X}-\mu)+{n\left(\bar{X}-\mu\right)}^2}\right)=\frac{1}{n-1}E\left(\sum_{i=1}^{n}{\left(X_i-\mu\right)^2-{n\left(\bar{X}-\mu\right)}^2}\right)=\frac{1}{n-1}\sum_{i=1}^{n}{E(\left(X_i-\mu\right)^2)-nE(\left(\bar{X}-\mu\right)^2)}=\frac{1}{n-1}\left(n\sigma^2-n\frac{\sigma^2}{n}\right)=\sigma^2\]

因此樣本方差$S^2$是總體方差$\sigma^2$的無偏估計。

2.什麼是無偏估計

 無偏估計是用樣本統計量來估計總體參數時的一種無偏推斷。估計量的數學期望等於被估計參數的真實值,則稱此估計量爲被估計參數的無偏估計,即具有無偏性,是一種用於評價估計量優良性的準則。無偏估計的意義是:在多次重複下,它們的平均數接近所估計的參數真值。——來源於百度百科

3.軟件的計算方法

在matlab和R中,默認使用的都是樣本標準差,即分母是n-1,如下。

>> std([1,2,3])
ans =
     1
> sd(c(1,2,3))
[1] 1

而在Python中,需要注意默認是用的分母爲n的標註差,需要加ddof = 1纔是樣本標準差。

import numpy as np
a=np.std([1,2,3])
b=np.std([1,2,3],ddof = 1)
print('a=',a,',b=',b)

a= 0.816496580927726 ,b= 1.0

4.關於是否有偏的測試

mus=[];
sigmas=[];
means=[];
std_ns=[];
std_n_1s=[];
mse_n=[];
mse_n_1=[];
for i=1:10000
    mu=rand;
    sigma=rand;
    r = normrnd(mu,sigma,[1,20]);
    mus=[mus,mu];
    sigmas=[sigmas,sigma];
    means=[means,mean(r)];
    std_ns=[std_ns,std_n(r)];
    std_n_1s=[std_n_1s,std_n_1(r)];
    mse_n=[mse_n,mean(std_ns-sigmas)];
    mse_n_1=[mse_n_1,mean(std_n_1s-sigmas)];
end
plot(mse_n);hold on;plot(mse_n_1);
hold off;
legend('std n','std n-1');
function s=std_n(x)
s=sqrt(sum((x-mean(x)).^2)/length(x));
end
function s=std_n_1(x)
s=sqrt(sum((x-mean(x)).^2)/(length(x)-1));
end

可以看到,使用n-1爲分母計算出的比n更加精確。 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章