我在v_samples
(1.4,2.21,4.21,2.1,5.1)中有以下数字
我得到了deviance = 2.45122
但是当我检查了一些偏差计算器websites时。他们都给了我不同的答案。
double variance(){
double variance =0 ;
double average = mean();
double size = v_samples.size();
for (size_t i = 0, max = size; i != max; ++i){
variance += (v_samples[i]-average) * (v_samples[i]-average) / size;
}
return variance;
}
编辑:方差而不是偏差
编辑:mean()返回2.804
编辑:mean现在返回正确的值3.004
样本差异现在返回1.97362。这是正确的
答案 0 :(得分:1)
它应该有效,因此您在mean()
中遇到问题。
答案 1 :(得分:1)
您的在线资源中的混淆几乎肯定在“样本方差”和“偏差校正样本方差”之间。后者在分母中需要size-1
而不是size
。
答案 2 :(得分:1)
总和
1.4, 2.21, 4.21, 2.1, 5.1
15.02 且平均值 3.004
如果你的意思是 2.804 。
2.804 * 5 = 14.02
15.02 和 14.02 关闭1.您在某处出现了一个错误:)