无偏估计
在概率论和数量统计中,学习过无偏估计,最近在学习论文时候,也经常论文中提到无偏估计。虽然对无偏估计有所了解,但是还是有些问题:
1)总体期望的无偏估计量是样本均值x-,总体方差的无偏估计是样本方差S^2,为什么样本方差需要除以n-1,而不是除以n;
2)样本在总体中是怎样的抽样过程,是放回抽样,是随机抽样,还是不放回抽样等等。
为了解决这个问题,首先来回忆一下什么叫无偏估计:
无偏估计是参数的样本估计值的期望值等于参数的真实值。估计量的数学期望等于被估计参数,则称此为无偏估计。
设A'=g(X1,X2,...,Xn)是未知参数A的一个点估计量,若A'满足
E(A')= A
则称A'为A的无偏估计量,否则为有偏估计量。
注:无偏估计就是系统误差为零的估计。
由于公式A'=g(X1,X2,...,Xn)中的X1,X2,...,Xn一般为一次抽样的结果,没有明确是怎么抽样的一个过程,所以导致不好理解为什么A'就是A的无偏估计量,特别是很难举出实例来给与证明。经过自己的查阅资料和理解,实际上无偏估计量可以理解如下:
简单的理解,无偏估计量就是:在样本中进行n次随机的抽样,每次抽样都可以计算出一个对某一个参数的点估计量,计算n次,得到n个点估计量,然后对n个点估计量计算期望,得到的值和需要估计的总体参数相等,则称n中的任何点估计量为总体参数的无偏估计量。
能否举出一个例子呢?因为实际的应用中总体是不知道,只有样本,这能够举例子吗?是可以的,不妨设总体容量为3,样本容量为2,计算出总体方差的无偏估计为样本方差,而且样本方差是除以n-1,而不是除以n。
上图为手算的两个例子,说明了总体方差的无偏估计量是样本方差,总体方差是除以n,样本方差是除以n-1。为了是上面的例子根据通用化,下面为matlab写的代码:
% %总容量可以改变,抽样样本容量为固定2
% clc;
% clear;
% %%无偏估计验证
% %%总共容量
% M=7;
% %%样本容量
% N=2;
% %填充第一列
% %填充循环次数
% for t=1:M^(N-1)
% for i=1:M
% Sample1((i-1)*M^(N-1)+t) = i;
% end
% end
% Sample1'
% %填充第二列
% for t=1:M
% for i=1:M
% Sample2(M*(t-1)+i) = i;
% end
% end
% Sample2'
% Sample = [Sample1',Sample2']
% sLenght = length(Sample);
% for s=1:sLenght
% subSample = Sample(s,:)
% stdSample(s) = var(subSample,1);
% end
% stdSample = var(Sample');
% stdSampleE = sum(stdSample)/M^N
% Total = 1:M;
% stdTotalE = var(Total,1)
% % %总容量可以改变,抽样样本容量为固定3
% clc;
% clear;
% %%无偏估计验证
% %%总共容量
% M=7;
% %%样本容量
% N=3;
% %填充第一列
% %填充循环次数
% for t=1:M^(N-1)
% for i=1:M
% Sample1((i-1)*M^(N-1)+t) = i;
% end
% end
% Sample1'
% %填充第二列
% for t=1:M
% for i=1:M
% for j=1:M
% Sample2(M*M*(t-1)+(i-1)*M+j) = i;
% end
% end
% end
% Sample2'
% %填充第三列
% for t=1:M^2
% for i=1:M
% Sample3(M*(t-1)+i) = i;
% end
% end
% Sample = [Sample1',Sample2',Sample3']
% stdSample = var(Sample');
% stdSampleE = sum(stdSample)/M^N
% Total = 1:M;
% stdTotalE = var(Total,1)
% % %总容量可以改变,抽样样本容量为固定3
% clc;
% clear;
% %%无偏估计验证
% %%总共容量
% M=4;
% %%样本容量
% N=3;
% %填充第一列
% %填充循环次数
% for t=1:M^0
% for i=1:M
% for j=1:M^2
% Sample1(M^3*(t-1)+(i-1)*M^2+j) = i;
% end
% end
% end
% Sample1'
% %填充第二列
% for t=1:M^1
% for i=1:M
% for j=1:M^1
% Sample2(M^2*(t-1)+j+(i-1)*M) = i;
% end
% end
% end
% Sample2'
% %填充第三列
% for t=1:M^2
% for i=1:M
% for j=1:M^0
% Sample3(M^1*(t-1)+(i-1)*M^0+j) = i;
% end
% end
% end
% Sample = [Sample1',Sample2',Sample3']
% stdSample = var(Sample');
% stdSampleE = sum(stdSample)/M^N
% Total = 1:M;
% stdTotalE = var(Total,1)
clear;
%%无偏估计验证
%%总共容量
M=5;
%%样本容量
N=2;
%构造抽样的过程矩阵
for index=1:N
for t=1:M^(index-1)
for i=1:M
for j=1:M^(N-index)
Sample(M^(N-index+1)*(t-1)+(i-1)*M^(N-index)+j,index) = i;
end
end
end
end
%计算每一行的方差
varSample = var(Sample');
%计算样本方差
varSampleE = sum(varSample)/M^N
Total = 1:M;
%计算总体方差
varTotalE = var(Total,1)