我的方差方程在Python中给我一个疯狂的输出

时间:2014-01-22 00:55:23

标签: python

该程序的要点是随机列表并在不使用函数的情况下找到该列表的均值和方差。我的方差方程给了我一个小数位的输出。

    variance = (mean - r)**2.0 + variance

我得到的输出的一个例子是8784462.44,它应该是87844.6244。 我不知道我的代码出了什么问题。

2 个答案:

答案 0 :(得分:6)

方差=(1 / n)次((x - mean(x))之和^ 2) - 你只有求和;你忘记乘以1 / n。

有时方差定义为(1 /(n - 1))次(总和......) - 我不知道你正在使用什么定义。

答案 1 :(得分:2)

这一行不正确:

variance = (mean - r)**2.0 + variance

你说你正在计算方差的分子,然后打印相同的variance变量而不除以你总结的数字(在你的情况下为100)。要获得差异(假设您将数字视为“人口”),您需要:

variance = ((mean - r)**2.0)/100

来自人口方差的等式:

enter image description here

这说明你的小数点在你的例子中偏离2位。