np.var() 在 python 与 DolphinDB 中的不同结果

Different results of np.var() in python vs DolphinDB

Python:

np.var([1,6,2]) = 4.666666666666667

海豚数据库:

var(1 6 2) = 7

为什么返回的方差结果不一样?

试试这个代码

np.var([1,6,2] ,ddof=1)

ddofint, 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 in numpy document

编辑:(从 Serge Ballesta 的重播中添加的描述。谢谢)

基本原理是您可以从整个总体(意味着平均值是准确已知的)或仅从样本(意味着仅是平均值的近似值)计算方差。概率数学然后表明您必须对样本使用 1 的增量自由度(也称为方差 n-1),而对整个集合使用 ddof=0(也称为方差 n)。

np.var() 计算总体方差,但 var() 计算样本方差。

分母要减1

如果您使用的是 DolphinDB,请尝试 varp() 以获得相同的结果。

varp(1 6 2) = 4.666666666666667