自适应滤波法

来源:互联网 发布:霜叶知秋的意思 编辑:程序博客网 时间:2024/05/29 18:38

自适应滤波法的基本预测公式为

为第 t+1期的预测值,为第t-i+1期的观测值权数, 为第t-i+1期的观测值,N为权数的个数。其调整权数的公式为

,n为序列数据的个数,为调整前的第i个权数,为调整后的第i个权数,k为学习常数,为第t+1期的预测误差。

在开始调整权数时,首先要确定权数个数 N 和学习常数 k 。一般说来,当时间序列的观测值呈季节变动时, N 应取季节性长度值。如序列以一年为周期进行季节变动时,若数据是月度的,则取 N = 12,若季节是季度的,则取 N = 4 。如果时间序列无明显的周期变动,则可用自相关系数法来确定,即取 N 为最高自相关系数的滞后时期。

自适应滤波法有两个明显的优点:一是技术比较简单,可根据预测意图来选择权数的个数和学习常数,以控制预测。也可以由计算机自动选定。二是它使用了全部历史数据来寻求最佳权系数,并随数据轨迹的变化而不断更新权数,从而不断改进预测。


clc,clear% yt=[349.46 415.86 199.78 387.11 328.71 284.95 309.12 347.61 274.08 291.70 148.44 ];%水资源总量% yt=[0.2224451270.26470880.1271664530.246409930.2092361550.1813812860.1967663910.2212667090.1744621260.1856779120.094487588];%单位水资源% yt=[1400140014161426141113871365.4997];%供水模数% yt=[164131993423603.2609127604.4456732935.7710135893.57198411064733551767.811295688560879];% ytt=[0.00750.0074074070.0065960210.006230530.0053378880.0056281190.0115100320.0060549120.0049808030.0049561180.005753622];% ytt=[32.7519.5116.6418.1615.5314.6214.2313.9712.3311.8911.3];% ytt=[463.65432.22431.35345.79289.97269.19240.04208.19194.1171.11159.51];% ytt=[0.0048073990.0056990670.0131145250.0082663840.0113473880.0138269870.0150103520.0206265640.0242994750.0207747690.038938292];ytt=[0.0167225330.008984150.0085565120.0099769570.011812540.0115958630.0130573520.0139419480.0126006370.0140339270.143];yt=ytt.*10;m=length(yt);k=0.1;%学习常数N=4; %初始化的权值个数Terr=1000;w=ones(1,N)/N;while abs(Terr)>0.4Terr=[];for j=N+1:m-1yhat(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);endTerr=max(Terr);endw, yhat


原创粉丝点击