基于均值生成函数时间序列预测算法程序

基于均值生成函数时间序列预测算法程序

ID:12491679

大小:26.00 KB

页数:3页

时间:2018-07-17

基于均值生成函数时间序列预测算法程序_第1页
基于均值生成函数时间序列预测算法程序_第2页
基于均值生成函数时间序列预测算法程序_第3页
资源描述:

《基于均值生成函数时间序列预测算法程序》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、基于均值生成函数时间序列预测算法程序1.predict_fun.m为主程序;2.timeseries.m和seriesexpan.m为调用的子程序functionima_pre=predict_fun(b,step)%mainprograminvokestimeseries.mandseriesexpan.m%inputparameters:%b-------thetrainingdata(vector);%step----numberofpredictiondata;%outputparameters:%ima_pr

2、e---thepredictiondata(vector);old_b=b;mean_b=sum(old_b)/length(old_b);std_b=std(old_b);old_b=(old_b-mean_b)/std_b;[f,x]=timeseries(old_b);old_f2=seriesexpan(old_b,step);%f(f<0.0001&f>-0.0001)=f(f<0.0001&f>-0.0001)+eps;R=corrcoef(f);[eigvectoreigroot]=eig(R);eigr

3、oot=diag(eigroot);a=eigroot(end:-1:1);vector=eigvector(:,end:-1:1);Devote=a./sum(a);Devotem=cumsum(Devote);m=find(Devotem>=0.995);m=m(1);V1=f*eigvector';V=V1(:,1:m);%old_b=old_b;old_fai=inv(V'*V)*V'*old_b;eigvector=eigvector(1:m,1:m);fai=eigvector*old_fai;f2=old

4、_f2(:,1:m);predictvalue=f2*fai;ima_pre=std_b*predictvalue+mean_b;1.子函数:timeseries.m%timeseriesprogram%%thisprogramisusedtogeneratemeanvaluematrixf;function[f,x]=timeseries(data)%data--------theinputsequence(vector);%f------meanvaluematrixf;n=length(data);forL=1:

5、n/2  nL=floor(n/L);  fori=1:L      sum=0;      forj=1:nL        sum=sum+data(i+(j-1)*L);    end    x{L,i}=sum/nL;  endendL=n/2;f=zeros(n,L);fori=1:L  rep=floor(n/i);  res=mod(n,i);  b=[x{i,1:i}];b=b';  f(1:rep*i,i)=repmat(b,rep,1);  ifres~=0      c=rep*i+1:n;   

6、   f(rep*i+1:end,i)=b(1:length(c));  endend接上,seriesexpan.m%seriesexpan.m%theprogramisusedtogeneratethepredictionmatrixf;functionf=seriesexpan(data,step);%data----theinputsequence(vector)%setp----thepredictionnumber;n=length(data);forL=1:n/2  nL=floor(n/L);  for

7、i=1:L      sum=0;      forj=1:nL        sum=sum+data(i+(j-1)*L);    end    x{L,i}=sum/nL;  endendL=n/2;f=zeros(n+step,L);fori=1:L  rep=floor((n+step)/i);  res=mod(n+step,i);  b=[x{i,1:i}];b=b';  f(1:rep*i,i)=repmat(b,rep,1);  ifres~=0      c=rep*i+1:n+step;     

8、 f(rep*i+1:end,i)=b(1:length(c));  endend

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。