三次指数平滑原理,见 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))