# 2.3 指数加权平均数（Exponentially weighted averages）

半年内伦敦市的气温变化：

![](https://2314428465-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-Le0cHhI0S0DK8pwlrmD%2F-Le0cKOp1vaxoORIi4ak%2F-Le0ceTd1g6p7VPs0lJg%2F11import.png?generation=1556953092913451\&alt=media)

> 温度数据有noise，抖动较大

如果希望看到半年内气温的整体变化趋势，可以通过移动平均（moving average）的方法来对每天气温进行平滑处理

设$$V\_0=0$$，当成第0天的气温值

第一天的气温与第0天的气温有关：

$$
V\_1=0.9V\_0+0.1\theta\_1
$$

第二天的气温与第一天的气温有关：

$$
\begin{aligned}V\_2
\=&0.9V\_1+0.1\theta\_2\\
\=&0.9(0.9V\_0+0.1\theta\_1)+0.1\theta\_2\\
\=&0.9^2V\_0+0.9\cdot0.1\theta\_1+0.1\theta\_2
\end{aligned}
$$

第三天的气温与第二天的气温有关：

$$
\begin{aligned}V\_3
\=&0.9V\_2+0.1\theta\_3\\
\=&0.9(0.9^2V\_0+0.9\cdot0.1\theta\_1+0.1\theta\_2)+0.1\theta\_3\\
\=&0.9^3V\_0+0.9^2\cdot 0.1\theta\_1+0.9\cdot 0.1\theta\_2+0.1\theta\_3
\end{aligned}
$$

第$$t$$天与第$$t-1$$天的气温迭代关系为：

$$
\begin{aligned}V\_t
\=&0.9V\_{t-1}+0.1\theta\_t\\
\=&0.9^tV\_0+0.9^{t-1}\cdot0.1\theta\_1+0.9^{t-2}\cdot 0.1\theta\_2+\cdots+0.9\cdot0.1\theta\_{t-1}+0.1\theta\_t
\end{aligned}
$$

经过移动平均处理得到的气温如下图红色曲线所示：

![](https://2314428465-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-Le0cHhI0S0DK8pwlrmD%2F-Le0cKOp1vaxoORIi4ak%2F-Le0ceThf4uzeKGg4MFM%2F12import.png?generation=1556953091211930\&alt=media)

这种滑动平均算法称为指数加权平均（exponentially weighted average）。一般形式为：

$$
V\_t=\beta V\_{t-1}+(1-\beta)\theta\_t
$$

$$\beta$$值决定了指数加权平均的天数，近似表示为：

$$
\frac{1}{1-\beta}
$$

当$$\beta=0.9$$，则$$\frac{1}{1-\beta}=10$$，表示将前10天进行指数加权平均。当$$\beta=0.98$$，则$$\frac{1}{1-\beta}=50$$，表示将前50天进行指数加权平均。$$\beta$$值越大，则指数加权平均的天数越多，平均后的趋势线就越平缓，但是同时也会向右平移

绿色曲线和黄色曲线分别表示了$$\beta=0.98$$和$$\beta=0.5$$时，指数加权平均的结果

![](https://2314428465-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-Le0cHhI0S0DK8pwlrmD%2F-Le0cKOp1vaxoORIi4ak%2F-Le0ceTj8sgm-huvDV7o%2F13import.png?generation=1556953100323641\&alt=media)
