<p>我用一个已知置信区间的数组测试了你的方法。normal(mu,std,size)返回一个以mu为中心的数组,标准偏差为std(在<a href="http://docs.scipy.org/doc/numpy/reference/generated/numpy.random.normal.html" rel="nofollow">the docs</a>中,定义为<code>Standard deviation (spread or “width”) of the distribution.</code>)。</p>
<pre><code>from scipy import stats
import numpy as np
from numpy import random
a = random.normal(0,1,10000)
mean, sigma = np.mean(a), np.std(a)
conf_int_a = stats.norm.interval(0.68, loc=mean, scale=sigma)
conf_int_b = stats.norm.interval(0.68, loc=mean, scale=sigma / np.sqrt(len(a)))
conf_int_a
(-1.0011149125527312, 1.0059797764202412)
conf_int_b
(-0.0076030415111100983, 0.012467905378619625)
</code></pre>
<p>由于sigma值应为-1到1,因此<code>/ np.sqrt(len(a))</code>方法似乎不正确。</p>
<h2>编辑</h2>
<p>由于我没有资格发表上述评论,我将澄清这一回答如何与联合国大学的彻底答复联系起来。如果用正态分布填充一个随机数组,总数的68%将落在平均值的1-σ内。在上面的例子中,如果你检查一下</p>
<pre><code>b = a[np.where((a>-1)&(a <1))]
len(a)
> 6781
</code></pre>
<p>或者68%的人口在1σ之内。嗯,大约68%。当你使用一个越来越大的数组时,你将接近68%(在10次试验中,9次在-1和1之间)。这是因为1-σ是数据的固有分布,数据越多,就越能解决它。</p>
<p>基本上,我对你问题的解释是<strong>如果我有一个数据样本,我想用它来描述它们的分布,那么找到这些数据的标准差的方法是什么?</strong>而联合国大学的解释似乎更为<strong>我可以用68%的置信度将平均值置于什么区间?</strong>。这意味着,对于果冻豆,我回答了他们是如何猜测的,而unutbu回答了他们的猜测告诉我们关于果冻豆的什么。</em></p>