三次指数平滑原理,见 https://blog.youkuaiyun.com/lynnucas/article/details/47830593
和https://blog.youkuaiyun.com/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

使用飞机乘客数据,12个月为一个周期,具体数据如下:
112 115 145 171 196 204 242 284 315 340 360 417 118 126 150 180 1