huadong的预测方法

滑动窗口的预测方法

采取滑动平均的方法 可以得到数据结果

syms x
format long
for tt=1:6
    subplot(6,1,tt)
%基本参数设置
dc=rand(15,1);
shijian=[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15];%时间,横坐标
geshu=15;%数据个数
t=6;%滑动长度
k=10;%趋势方程个数
%(第一步):直线滑动平均法
 %划分十个区间段,每个区间六个数据c,六个时间d
for i=1:k
    for j=1:t
         c(i,j)=dc(i+j-1);
         d(i,j)=shijian(i+j-1);
    end
end
 %拟合法计算十个趋势方程参数a、b,结果为行向量
x1=sum(d,2)/t;%每个时间区段时间平均数
y1=sum(c,2)/t;%对应历史数据平均数
for i=1:k
    for j=1:t
        c1(i,j)=c(i,j)*d(i,j);
        d1(i,j)=d(i,j)*d(i,j);
    end
    x11(i)=t*x1(i)*y1(i);
    x12(i)=t*x1(i)*x1(i);
end
c11=sum(c1,2);
d11=sum(d1,2);
for i=1:k
    a(i)=(c11(i)-x11(i))/(d11(i)-x12(i));
    b(i)=y1(i)-a(i)*x1(i);
end
  %计算十个趋势方程在各自时间区间段的数据,共60个
for i=1:k
    for j=1:t
        m(i,j)=a(i)*d(i,j)+b(i);
    end
end
 %对60个数据进行平均处理,得出10位历史数据的去趋势后数据
m1=rot90(m);
r0=[];
for i=1:sum(size(m1))-1
    k1=i-size(m1,1);
    Diag=diag(m1,k1);
    r0=[r0;mean(Diag)];
end
r0;
plot(shijian,dc,'r',shijian,r0,'b');%红色为原历史数据,蓝色为去趋势后的数据
title('红色为原历史数据,蓝色为去趋势后的数据');
xlabel('时间序列');
ylabel('单位产量');

end
 

评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

交通上的硅基思维

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值