5.1 自适应滤波法的基本过程
自适应滤波法与移动平均法、指数平滑法一样,也是以时间序列的历史观测值进行 某种加权平均来预测的, 它要寻找一组“最佳”的权数, 其办法是先用一组给定的权数 来计算一个预测值, 然后计算预测误差, 再根据预测误差调整权数以减少误差。这样反 复进行, 直至找出一组“最佳”权数,使误差减少到最低限度。由于这种调整权数的过 程与通讯工程中的传输噪声过滤过程极为接近,故称为自适应滤波法。
自适应滤波法的基本预测公式为:
下面举一个简单的例子来说明此法的全过程。设有一个时间序列包括 10 个观测值, 如表 9 所示。试用自适应滤波法,以两个权数来求第 11 期的预测值。
在实际应用中,权数调整计算工作量可能很大,必须借助于计算机才能实现。 计算的 MATLAB 程序如下:
clc,clear
yt=0.1:0.1:1;
m=length(yt); k=0.9;
N=2; Terr=10000;
w=ones(1,N)/N;
while abs(Terr)>0.00001
Terr=[];
for j=N+1:m-1
yhat(j)=w*yt(j-1:-1:j-N)';
err=yt(j)-yhat(j);
Terr=[Terr,abs(err)];
w=w+2*k*err*yt(j-1:-1:j-N);
end
Terr=max(Terr);
end
w, yhat
5.2 N, k 值和初始权数的确定
在开始调整权数时,首先要确定权数个数 N 和学习常数k 。一般说来,当时间序 列的观测值呈季节变动时, N 应取季节性长度值。如序列以一年为周期进行季节变动 时, 若数据是月度的, 则取N = 12 ,若季节是季度的, 则取 N = 4 。如果时间序列无 明显的周期变动, 则可用自相关系数法来确定, 即取N 为最高自相关系数的滞后时期。
k 的取值一般可定为1/ N ,也可以用不同的k 值来进行计算, 以确定一个能使S 最 小的k 值。
初始权数的确定也很重要,如无其它依据,也可用1/ N 作为初始权系数用,即
自适应滤波法有两个明显的优点: 一是技术比较简单, 可根据预测意图来选择权数 的个数和学习常数, 以控制预测。也可以由计算机自动选定。二是它使用了全部历史数 据来寻求最佳权系数,并随数据轨迹的变化而不断更新权数,从而不断改进预测。由于自适应滤波法的预测模型简单, 又可以在计算机上对数据进行处理, 所以这种 预测方法应用较为广泛。