Wang Haihua
🍈 🍉🍊 🍋 🍌
自适应滤波法(Adaptive filtering)与移动平均法、指数平滑法一样,也是以时间序列的历史观测值进行某种加权平均来预测的,它要寻找一组“最佳”的权数,其办法是先用一组给定的权数来计算一个预测值,然后计算预测误差,再根据预测误差调整权数以减少误差。这样反复进行,直至找出一组“最佳”权数,使误差减少到最低限度。由于这种调整权数的过程与通讯工程中的传输噪声过滤过程极为接近,故称为自适应滤波法。
自适应滤波法的基本预测公式为
$$ \hat{y}_{t+1}=w_{1} y_{t}+w_{2} y_{t-1}+\cdots+w_{N} y_{t-N+1}=\sum_{i=1}^{N} w_{i} y_{t-i+1} $$式中,$\hat{y}_{t+1}$为第$t +1$期的预测值,$w_i$为第$t-i+1$期的观测权数。其调整权数的公式为
$$ w_{i}^{\prime}=w_{i}+2 k \cdot e_{i+1} y_{t-i+1} $$式中,$i=1,2, \cdots, N, t=N, N+1, \cdots, n$, $n$为序列数据的个数,$w_i$ 为调整前的第$i$个权数,$w_{i}^{\prime}$为调整后的第$i$个权数,$k$为学习常数,$e_{i+1}$为第$t +1$期的预测误差。
上式表明:调整后的一组权数应等于旧的一组权数加上误差调整项,这个调整项包括预测误差、原观测值和学习常数等三个因素。学习常数$k$的大小决定权数调整的速度。
下面举一个简单的例子来说明此法的全过程。设有一个时间序列包括10 个观测值,如下表所示。试用自适应滤波法,以两个权数来求第11 期的预测值。
时期 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
---|---|---|---|---|---|---|---|---|---|---|
观测值 | 0.1 | 0.2 | 0.3 | 0.4 | 0.5 | 0.6 | 0.7 | 0.8 | 0.9 | 1 |
本例中$N = 2$。取初始权数 $w_1 = 0.5$, $w_2 = 0.5$ ,并设$k = 0.9$。$t$的取值由$N = 2$开始,当$t=2$时:
按预测公式,求第$t +1= 3$期的预测值。
$$ \hat{y}_{t+1}=\hat{y}_{3}=w_{1} y_{2}+w_{2} y_{1}=0.15 $$计算预测误差。
$$ e_{t+1}=e_{3}=y_{3}-\hat{y}_{3}=0.3-0.15=0.15 $$更新权重
$$ w_{i}^{\prime}=w_{i}+2 k \cdot e_{i+1} y_{t-i+1} $$展开就是
$$ \begin{aligned} &w_{1}^{\prime}=w_{1}+2 k e_{3} y_{2}=0.554\\ &w_{2}^{\prime}=w_{2}+2 k e_{3} y_{1}=0.527 \end{aligned} $$依次类推,我们可以按照同样的规律从4-10继续调整权重,这时,第一轮调整就此结束。
把现有的新权数作为初始权数,重新开始$t = 2$的过程。这样反复进行下去,到预测误差(指新一轮的预测总误差)没有明显改进时,就认为获得了一组“最佳”权数,能实际用来预测第11 期的数值。本例在调整过程中,可使得误差降为零,而权数达到稳定不变,最后得到的“最佳”权数为
$$ w_{1}^{\prime}=2.0, \quad w_{2}^{\prime}=-1.0 $$用“最佳”权数预测第 11 期的取值
$$ \hat{y}_{11}=w_{1}^{\prime} y_{10}+w_{2}^{\prime} y_{9}=1.1 $$在实际应用中,权数调整计算工作量可能很大,必须借助于计算机才能实现。
$N$, $k$值和初始权数的确定
在开始调整权数时,首先要确定权数个数$N$和学习常数$k$ 。一般说来,当时间序列的观测值呈季节变动时, $N$ 应取季节性长度值。如序列以一年为周期进行季节变动时,若数据是月度的,则取$N = 12$,若季节是季度的,则取$N = 4$。如果时间序列无明显的周期变动,则可用自相关系数法来确定,即取$N$为最高自相关系数的滞后时期。
$k$的取值一般可定为$1/N$ ,也可以用不同的$k$值来进行计算,以确定一个能使$S$最小的$k$值。
初始权数的确定也很重要,如无其它依据,也可用$1/ N$ 作为初始权系数用,即
$$ w_{i}=\frac{1}{N}(i=1,2, \cdots, N) $$自适应滤波法有两个明显的优点:
参考文献