我正在尝试一次Dataquest练习,并且我发现我得到的差异对于两个包来说是不同的..
例如[1,2,3,4]
from statistics import variance
import numpy as np
print(np.var([1,2,3,4]))
print(variance([1,2,3,4]))
//1.25
//1.6666666666666667
Run Code Online (Sandbox Code Playgroud)
练习的预期答案是用np.var()计算的
编辑 我想它必须这样做,后一个是样本方差而不是方差..任何人都可以解释这个区别?
Fal*_*arn 16
用这个
print(np.var([1,2,3,4],ddof=1))
1.66666666667
Run Code Online (Sandbox Code Playgroud)
Delta自由度:计算中使用的除数是N - ddof,其中N代表元素的数量.默认情况下,ddof为零.
平均值通常计算为x.sum() / N,其中N = len(x).但是,如果ddof指定了除数,N - ddof则使用除数.
在标准统计实践中,ddof=1提供假设无限种群的方差的无偏估计.ddof=0提供正态分布变量的方差的最大似然估计.
像numpy这样的统计库使用方差n来表示它们所谓的var或variance以及标准偏差
有关更多信息,请参阅此文档:numpy doc
| 归档时间: |
|
| 查看次数: |
18977 次 |
| 最近记录: |