您的位置:首页 > 编程语言 > MATLAB

Matlab的var函数错了吗

2016-05-17 20:10 351 查看
今天算星座符号的功率,以前分析数据的时候计算方差都直接用matlab的var函数,用的没有发现问题。今天计算的星座点数比较小,怎么算都觉得奇怪。

参考百度知道的公式,





没有错。难道是因为均值不为0?

对于简单的

a=[-3 -1 1 3];均值是0

求var(a)=6.6667。W..H..Y..

help var 看了一下,

方差,按照高数里面的定义,可以分为有偏估计(biased estimator)和无偏估计(unbiased estimator),差别就在于上述公式的分母是除以n还是n-1。

Matlab默认的var是计算无偏估计的。回头一看我的测试例,可不是吗,分母就是照着3除的。解决方法就是给加一个参数1,修改为有偏估计的 。





关于无偏估计和自由度之间的关系也可以再说道说道。

自由度(degree of freedom, df)是指当以样本的统计量来估计总体的参数时,样本中独立或能自由变化的数据的个数称为该统计量的自由度。

例如,在估计总体的平均数时,样本中的n个数全部加起来,其中任何一个数都和其他数据相独立,从其中抽出任何一个数都不影响其他数据(这也是随机抽样所要求的)。因此一组数据中每一个数据都是独立的,所以自由度就是估计总体参数时独立数据的数目,而平均数是根据n个独立数据来估计的,因此自由度为n。

但是为什么用样本估计总体的方差时,方差的自由度就是(n-1)?假设有n个样本,计算方差s^2的公式如下:



其中样本均值x_eq的计算中包括了n个独立的样本的值;或者说在已知n个独立样本值的情况下x_eq是固定的,已知x_eq的情况下,互相独立的样本值只有n-1个(另一个可以由均值推算出来),所以在这里出现了自由度减少的情况。所以无偏估计中的方差要除以N-1而不是N。

参考博文:
http://blog.163.com/wanglei2146073@126/blog/static/90689607201132294156177/ http://blog.sina.com.cn/s/blog_566762d2010097g2.html
本文出自 “妙木山大汉” 博客,请务必保留此出处/article/4416601.html
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: