用于返回 "wrong" 值的加权方差的 Julia 函数

Julia function for weighted variance returning "wrong" value

我正在尝试使用 Julia 计算加权方差,但是当我比较结果时 使用我自己的公式,我得到了不同的值。

x = rand(10)
w = Weights(rand(10))
Statistics.var(x,w,corrected=false) #Julia's default function
sum(w.*(x.-mean(x)).^2)/sum(w)      #my own formula

当我阅读 "var" 函数的文档时,它说 "corrected=false" 的公式是 我写的那个。

您必须在公式中减去加权平均值才能得到相同的结果:

sum(w.*(x.-mean(x,w)).^2)/sum(w)

或(展开)

sum(w.*(x.- sum(w.*x)/sum(w)).^2)/sum(w)