我试图对一组3个数字做一个简单的方差计算:

numpy.var([0.82159889, 0.26007962, 0.09818412])

又回来了
0.09609366366174843

然而,当你计算方差时,它实际上应该是
0.1441405

看起来很简单,但我还没找到答案。

最佳答案

正如documentation所解释的:

ddof : int, optional
    "Delta Degrees of Freedom": the divisor used in the calculation is
    ``N - ddof``, where ``N`` represents the number of elements. By
    default `ddof` is zero.

所以你有:
>>> numpy.var([0.82159889, 0.26007962, 0.09818412], ddof=0)
0.09609366366174843
>>> numpy.var([0.82159889, 0.26007962, 0.09818412], ddof=1)
0.14414049549262264

这两个约定都很常见,您总是需要检查您正在使用的任何包使用的是哪种语言。

07-24 18:29