gpt4 book ai didi

Python:Numpy 标准差错误

转载 作者:IT老高 更新时间:2023-10-28 20:34:04 25 4
gpt4 key购买 nike

这是一个简单的测试

import numpy as np
data = np.array([-1,0,1])
print data.std()

>> 0.816496580928

我不明白这个结果是如何产生的?很明显:

( (1^0.5 + 1^0.5 + 0^0.5)/(3-1) )^0.5 = 1

在 matlab 中它给了我 std([-1,0,1]) = 1。你能帮我了解一下 numpy.std() 的工作原理吗?

最佳答案

这个问题的症结在于你需要除以N(3),而不是N-1(2)。正如 Iarsmans 指出的,numpy 将使用总体方差,而不是样本方差。

所以真正的答案是 sqrt(2/3) 这正是:0.8164965...

如果您碰巧尝试故意为自由度使用不同的值(默认值 0),请使用关键字参数 ddof 使用非 0 的正值:

np.std(data, ddof=1)

...但是这样做 here 会重新引入您原来的问题,因为 numpy 会除以 N - ddof

关于Python:Numpy 标准差错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24067996/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com