matlab--对于数据的二次指数平滑预测

前言

这篇文章主要讲述如何用matlab实现二次平滑预测

一、二次平滑预测原理

指数平滑法是移动平均法中的一种,其特点在于给过去的观测值不一样的权重,即较近期观测值的权数比较远期观测值的权数要大。

二、代码实现

代码如下(示例):

origindata=table2array(arimadata);
ylength=length(origindata); %读取长度
ypredict(1)=origindata(1);   %第一次的值不平滑预测
ypredicttwo(1)=origindata(1);    %第一次的值不二次平滑预测
a=0.95;  %选择系数a

%第一次平滑  平滑预测值=a*上一次原值+(1-a)*上一次平滑值
for i=2:ylength   %第一次指数平滑
   ypredict(i)=a*origindata(i-1)+(1-a)*ypredict(i-1);    
end

%第二次平滑   二次平滑=a*本次平滑值+(1-a)*上次二次平滑值
for i=2:ylength   %第二次指数平滑
   ypredicttwo(i)=a*ypredict(i)+(1-a)*ypredicttwo(i-1);
end
plot(origindata,'r');
hold on;
plot(ypredict,'g');
hold on;
plot(ypredicttwo,'b');

总结

代码可以直接运行,如有不懂请留言哦。

  • 4
    点赞
  • 42
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 41
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 41
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

@白圭

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

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

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

打赏作者

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

抵扣说明:

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

余额充值