首页 » 7788 »

无偏样本方差要除 (n-1)

2020年9月20日 / 9次阅读
老男孩学数学

从直觉上看,无偏样本方差除 n 才对,但是计算的结果告诉我,除  n-1 才能得到一个更接近population variance的值。

下面这段python代码,从一个 uniform distribution 中取数,然后计算方差,n=30,采样10000次,对10000个样本方差画直方图,并将population的方差用一个竖线也画出来。你会发现,那更竖线,正好就在这个10000个样本方差形成的normal distribution的中间位置。

import numpy as np
import matplotlib.pyplot as plt
import random

# population
a = list(range(100,201))
soa = np.var(a)

# sample
b = []
sob = []
for i  in range(10000):
    while len(b) != 30:
        _b = random.randint(100,200)
        if _b not in b:
            b.append(_b)
    else:
        sob.append(np.var(b, ddof=1))
        b[:] = []

plt.hist(sob, bins=100, rwidth=0.9)
plt.plot((soa,soa),(0,500), linewidth=0.5)
plt.show()

np.var(b, ddof=1)这一行代码在计算无偏样本方差,参考:用numpy计算均值和方差

运行结果如下图:

无偏样本方差要除 (n-1)

无偏样本方差要除 (n-1)

参考:如何用matplotlib画直方图

这种反直觉的现象,很有趣,以后有机会在慢慢研究数理方面的逻辑证明。

本文链接:https://www.maixj.net/misc/sample-variance-23926

相关文章

留言区

《无偏样本方差要除 (n-1)》有3条留言

  • 麦新杰

    可以这样来理解除n-1的道理:假设有3个人,他们的考试成绩分别是x1,x2和x3,因此他们的平均成绩就是x=(x1+x2+x3)/3,此时求variance,用x1-x,x2-x和x3-x,平方和除3,就有一个问题,既然x是3个人的平均,那么一般情况下,有一个人的成绩就会非常接近x,他与x之间,其实并没有实际有效的离差,如果variance除3,得到的variance就会偏小! []

  • 麦新杰

    在n很大的时候,除n和n-1差别已经很小了。数学中的很多技术,都是在求近似值。 []

  • 麦新杰

    这个不是卡方分布的测试,只是在n=30的情况,采样10000次,取每一次的无偏样本方差,一共10000个,这10000个放在一起,就呈现normal distribution。 []


前一篇:
后一篇:
-->只要几分钟回答问卷,就能轻松赚现金!

栏目精选

云上小悟,麦新杰的独立博客

Ctrl+D 收藏本页

栏目


©Copyright 麦新杰 Since 2014 云上小悟独立博客版权所有 备案号:苏ICP备14045477号-1。云上小悟网站部分内容来源于网络,转载目的是为了整合信息,收藏学习,服务大家,有些转载内容也难以判断是否有侵权问题,如果侵犯了您的权益,请及时联系站长,我会立即删除。

网站二维码
go to top