我正在尝试使用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)