计算样品的标准偏差

问题描述 投票:1回答:2

这看起来有点令人困惑。当你需要计算std时,你可以轻松使用np.std()。而标准是方差的平方根。但是,当我们计算样本的方差时,我们将它除以n-1。因此,如果我们使用np.std(),这不应该给我们一个正确的输出。

是否有其他方法来计算样本的标准偏差,还是需要手动计算?

python resampling standard-deviation variance population
2个回答
2
投票

使用np.std()时,您可以指定分母的自由度。只需使用ddof参数:

np.std(x, ddof=1)

您可以在docs中阅读更多相关信息


1
投票

您可以在执行np.std()时传递参数ddof

a=[1,2,3,4,5]

vsum=0
for x in a:
    vsum=vsum + (x - np.mean(a))**2

variance=vsum / (len(a) - 1)
print("Variance is {} and Actual STD Dev is {} ".format(variance,np.sqrt(variance)))
print("np.std is {} and np.std with parameter is {} ".format(np.std(a),np.std(a,ddof=1)))

ddof = 1的作用是使numpy使用delta自由度为1

© www.soinside.com 2019 - 2024. All rights reserved.