三次指数平滑——matlab实现

三次指数平滑原理,见 https://blog.csdn.net/lynnucas/article/details/47830593
和https://blog.csdn.net/u010665216/article/details/78051192

%%时间:2018.5.16
%%作者:司艳玲
alpha=0.3;
beta=0.3;
gamma=0.5;
fc=12;
k=12;
%%
X=load('passengers.txt');
S=reshape(X,[144,1]);
plot(S,'r');
n=length(S);
a(1)=sum(S(1:k))/k;
b(1)=(sum(S(k+1:2*k))-sum(S(1:k)))/k^2;
s=S-a(1);
y=a(1)+b(1)+s(1);

f=zeros(144,1);
for i=1:n+fc
    if i==length(S)
        S(i+1)=a(end)+b(end)+s(end-k+1);
    end
a(i+1)=alpha*(S(i)-s(i))+(1-alpha)*(a(i)+b(i));
b(i+1)=beta*(a(i+1)-a(i))+(1-beta)*b(i);%趋势
s(i+1)=gamma*(S(i)-a(i)-b(i))+(1-gamma)*s(i);%周期
y(i+1)=a(i+1)+b(i+1)+s(i+1);
end

hold on
plot(y,'b');
hold off
评论 10
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值