资源简介

实现滚动时间序列的单步预测,能够较好地拟合实际数据。模型默认读取数据变量名称为z,模型定阶可能因数据不同而出现状况。自己使用没大问题

资源截图

代码片段和文件信息

clear;
%------读取数据------
load data.mat;        %默认数据名称为z
%------读取数据------
%------二次差分消除趋势项------
x_step=100;
for step=1:x_step          %滚动大循环,滚动x_step步
    z_model=wkeep(z500step);     %z_model为建模数据,从1到500,用500个数预测500之后的数
    Length=length(z_model);      %数据长度
    Z=zeros(1Length);      %初始化零均值平稳时间序列
    Z2=zeros(1Length);     %初始化二次差分结果数组
    Z1=zeros(1Length);    %初始化一次差分结果数组
    for i=2:Length
        Z1(i)=z(i)-z(i-1);    %一次差分
    end
    for i=3:Length
    Z2(i)=Z1(i)-Z1(i-1);   %二次差分
    end
    Z=Z2-mean(Z2);         %平稳后时间序列零均值处理
%---------两次差分,零均值化--------
%---------将序列标准化-------------
    v=std(Z);
    Z=Z/v;
%---------将序列标准化--------------
%     t=1:Length;
%     figure;
%     plot(tz_modeltZ‘r‘);
%     title(‘原始数据和标准化处理后对比图‘);
%     xlabel

评论

共有 条评论