指数加权平均
1 加权平均
所谓加权平均就是在平均的基础上给参与平均的各项增加权重,如现有一组数据X[1…n]
普
通
平
均
m
=
x
1
+
x
2
+
.
.
.
+
x
n
n
加
权
平
均
m
=
w
1
x
1
+
w
2
x
2
+
.
.
.
+
w
n
x
n
n
其
中
w
[
1..
n
]
为
权
重
,
且
∑
i
=
1
n
w
i
=
1
普通平均 m = \frac{x_1+x_2+...+x_n}{n}\\ 加权平均 m = \frac{w_1x_1+w_2x_2+...+w_nx_n}{n}\\ 其中w_{[1..n]}为权重,且\sum_{i=1}^{n}w_i=1
普通平均m=nx1+x2+...+xn加权平均m=nw1x1+w2x2+...+wnxn其中w[1..n]为权重,且i=1∑nwi=1
由此引出指数加权平均
2 指数加权平均
2.1 引出问题
假设有一组天气数据是这样分布的
我们需要描述温度的变化,即尽可能拟合这些散列点,这时就要用到指数加权平均
假设θt表示第t天的温度,引入新的变量v
V
0
=
0
V
1
=
β
V
0
+
(
1
−
β
)
θ
1
V
2
=
β
V
1
+
(
1
−
β
)
θ
2
.
.
.
V
t
=
β
V
t
−
1
+
(
1
−
β
)
θ
t
V_0 = 0\\ V_1 = \beta V_0 + (1-\beta )\theta_1\\ V_2 = \beta V_1 + (1-\beta )\theta_2\\ .\\ .\\ .\\ V_t = \beta V_{t-1} + (1-\beta )\theta_t
V0=0V1=βV0+(1−β)θ1V2=βV1+(1−β)θ2...Vt=βVt−1+(1−β)θt
于是乎,假若给β赋值,则会产生一组新的值V
β = 0.9时
β = 0.98时
β = 0.5时
那么β为什么会产生这种效果呢?β又有什么意义?
2.2 β参数
首先,β的值可以控制近期平均的天数,当β=0.9时
V
0
=
0
V
1
=
0.9
∗
V
0
+
0.1
∗
θ
1
=
0.1
∗
θ
1
V
2
=
0.9
∗
(
0.9
∗
V
0
+
0.1
∗
θ
1
)
+
0.1
∗
θ
2
=
0.9
∗
0.1
∗
θ
1
+
0.1
∗
θ
2
V
3
=
(
0.9
)
2
∗
0.1
∗
θ
1
+
0.9
∗
0.1
∗
θ
2
+
0.1
∗
θ
3
.
.
.
V
t
=
(
0.9
)
t
−
1
∗
0.1
∗
θ
1
+
(
0.9
)
t
−
2
∗
0.1
∗
θ
2
+
.
.
.
+
0.1
∗
θ
t
V_0 = 0\\ V_1 = 0.9*V_0 + 0.1* \theta_1=0.1* \theta_1\\ V_2 = 0.9*(0.9*V_0 + 0.1* \theta_1) + 0.1*\theta_2\\=0.9*0.1*\theta_1+0.1*\theta_2\\ V_3 = (0.9)^2*0.1*\theta_1+0.9*0.1*\theta_2 + 0.1*\theta_3 .\\ .\\ .\\ V_t = (0.9)^{t-1}*0.1*\theta_1 + (0.9)^{t-2}*0.1*\theta_2+...+0.1*\theta_t
V0=0V1=0.9∗V0+0.1∗θ1=0.1∗θ1V2=0.9∗(0.9∗V0+0.1∗θ1)+0.1∗θ2=0.9∗0.1∗θ1+0.1∗θ2V3=(0.9)2∗0.1∗θ1+0.9∗0.1∗θ2+0.1∗θ3...Vt=(0.9)t−1∗0.1∗θ1+(0.9)t−2∗0.1∗θ2+...+0.1∗θt
可以看到,随着t的增大,与θt距离越远的θ,对Vt的影响越小,如:θ0在经历若干次运算后,已经无限趋近于0,对θt的影响很小。
于是,我们可以从中看到参数β的含义,当β越大时,附近能对Vt产生影响的θ越多,换到题目中的意思就是能够平均的天数越多
反之,当β值越小,能对Vt产生影响的θ越少,即Vt代表的平均天数越少
有规定:
ϵ
=
1
−
β
当
(
1
−
ϵ
)
1
ϵ
=
1
e
时
,
我
们
称
其
平
均
了
1
ϵ
天
如
β
=
0.9
,
则
(
0.1
)
10
=
1
e
,
所
以
β
=
0.9
时
平
均
了
近
期
10
天
的
数
据
所
以
β
=
0.98
,
平
均
了
约
50
天
的
数
据
β
=
0.5
,
平
均
了
2
天
的
数
据
\epsilon = 1-\beta\\ 当(1-\epsilon)^{\frac{1}{\epsilon}} = \frac{1}{e}时,我们称其平均了\frac{1}{\epsilon}天\\ 如\beta = 0.9,则(0.1)^{10} = \frac{1}{e},所以\beta=0.9时平均了近期10天的数据\\ 所以\beta=0.98,平均了约50天的数据\\ \beta=0.5,平均了2天的数据\\
ϵ=1−β当(1−ϵ)ϵ1=e1时,我们称其平均了ϵ1天如β=0.9,则(0.1)10=e1,所以β=0.9时平均了近期10天的数据所以β=0.98,平均了约50天的数据β=0.5,平均了2天的数据
由此,我们可以明白,为什么β越小,抖动越厉害,是因为平均的数据少
而β越大,越平缓,但是与真实数据的偏离越大,因为平均的数据多。
2.3 偏差修正
还有一个问题,就是V0=0,而V1 = 0.1 * θ1,V2 = 0.1 * θ1 + 0.1 * θ2
这样导致v1和v2的值与实际值偏差很大,要对其进行修正,我们可以利用 β值的特点
V
t
=
V
t
1
−
β
t
=
β
V
t
−
1
+
(
1
−
β
)
θ
t
1
−
β
t
V_t = \frac{V_t}{1-\beta^t} = \frac{\beta V_{t-1} + (1-\beta )\theta_t}{1-\beta^t}
Vt=1−βtVt=1−βtβVt−1+(1−β)θt
,这样,当t=1或2或很小的值时,会对整体数据进行放大,使得V1=θ1
随
着
t
的
增
大
1
−
β
t
趋
向
于
1
公
式
又
近
似
于
β
V
t
−
1
+
(
1
−
β
)
θ
t
随着t的增大\\ 1-\beta^t 趋向于1\\ 公式又近似于\beta V_{t-1} + (1-\beta )\theta_t
随着t的增大1−βt趋向于1公式又近似于βVt−1+(1−β)θt