在一些统计或者排序的算法中,常常要用到样本方差这个东西,来判断一组数据的离散程度。
这是样本方差的公式:
然而,在计算机编程中,往往需要计算运行方差(running variance),因为样本的个数总是的在不断变化的,确切将是不断递增;如果每次增加,都要重新计算平均值,再按次公式,计算出方差;虽可以实现,但计算量会随着数据的增长变的太大。
因此,递推的公式就显得格外重要;通过n-1个样本时的方差值
,和新增的样本
,就能得到此时这N个样本的方差;这样计算量不会变同时保持在一个很小的值,可大大提高程序的计算效率。递推公式如下:
Mn= Mn-1+ (xn- Mn-1)/n