举个例子,对于图中英国的温度数据计算移动平均值或者说是移动平均值(Moving average).

移动加权平均 python 移动加权平均法例题_数据

移动加权平均 python 移动加权平均法例题_权重_02


大体公式就是前一日的V值加上当日温度的0.1倍,如果用红线表示这个计算数值的话就可以得到每日温度的指数加权平均值.

对于θ的理解,你可以将其认为该数值表示的是1/(1−β)天的平均值,例如如果这里取β是取0.9,那么这个V值表示的是十天以来的温度的加权平均值.如果我们设置β值是0.98那么我们就是在计算50天内的指数加权平均,这时我们用图中的绿线表示指数加权平均值

移动加权平均 python 移动加权平均法例题_权重_03


我们看到这个高值的β=0.98得到的曲线要平坦一些,是因为你多平均了几天的温度.所以波动更小,更加平坦.缺点是曲线向右移动,这时因为现在平均的温度值更多,所以会出现一定的延迟.对于β=0.98这个值的理解在于有0.98的权重给了原先的值,只有0.02的权重给了当日的值.

我们现在将β=0.5作图运行后得到黄线,由于仅平均了两天的温度,平均的数据太少,所以得到的曲线有更多的噪声,更有可能出现异常值,但是这个曲线能更快的适应温度变化,所以指数加权平均数经常被使用.

在统计学中,它常被称为指数加权移动平均值

理解指数加权平均

移动加权平均 python 移动加权平均法例题_移动加权平均 python_04


移动加权平均 python 移动加权平均法例题_数据_05


β 为0.9时,得到的是红线,β为0.98,得到的是绿线,β为0.5时,得到的是黄线.

移动加权平均 python 移动加权平均法例题_移动加权平均 python_06

数据求平均使用指数加权平均优势

移动加权平均 python 移动加权平均法例题_权重_07


代码只需要一行,不断覆盖V值就行,虽然不是最精确的,但是相比原来计算平均值需要保存所有数据求和平均的方法效率更高更节省资源。

因为使用指数加权平均的方法在前期会有很大的偏差,为此我们引入了偏差修正的概念下面是修正公式

移动加权平均 python 移动加权平均法例题_权重_08


移动加权平均 python 移动加权平均法例题_数据_09