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

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

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于均值生成函数时间序列预测算法程序

基于均值生成函数时间序列预测算法程序 1. predict_fun.m为主程序; 2. timeseries.m和 seriesexpan.m为调用的子程序function ima_pre=predict_fun(b,step) % main program invokes timeseries.m and seriesexpan.m % input parameters: % b-------the training data (vector); % step----number of prediction data; % output parameters: % ima_pre---the prediction data(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(f0.0001f-0.0001)=f(f0.0001f-0.0001)+eps; R=corrcoef(f); [eigvector eigroot]=eig(R); eigroot=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_f2(:,1:m); predictvalue=f2*fai; ima_pre=std_b*predictvalue+mean_b; 1.子函数: timeseries.m % timeseries program% % this program is used to generate mean value matrix f; function [f,x]=timeseries(data) % data--------the input sequence (vector); % f------mean value matrix f; n=length(data); for L=1:n/2 ? ? nL=floor(n/L); ? ? for i=1:L ? ?? ???sum=0; ? ?? ???for j=1:nL ? ?? ?? ???sum=sum+data(i+(j-1)*L); ? ?? ? end ? ?? ? x{L,i}=sum/nL; ? ?end end L=n/2; f=zeros(n,L); for i=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); ? ? if res~=0 ? ?? ???c=rep*i+1:n; ? ?? ???f(rep*i+1:end,i)=b(1:length(c)); ? ? end end 接上,seriesexpan.m % seriesexpan.m % the program is used to generate the prediction matrix f; function f=seriesexpan(data,step); %data---- the input sequence (vector) % setp---- the prediction number; n=length(data); for L=1:n/2 ? ? nL=floor(n/L); ? ? for i=1:L ? ?? ???sum=0; ? ?? ???for j=1:nL ? ?? ?? ???sum=sum+data(i+(j-1)*L); ? ?? ? end ? ?? ? x{L,i}=sum/nL; ? ?end end L=n/2; f=zeros(n+step,L); for i=1:L ? ? rep=floor((n+step)/i); ? ? res=mod(n+step,i); ? ? b=[x{i,1:i}];b=b; ? ? f(1:rep*i,i)=repm

文档评论(0)

cgtk187 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档