序文
この記事では、主にmatlabを使用して2次の滑らかな予測を実現する方法について説明します。
1.2次平滑化予測の原理
指数平滑法は移動平均法の1つであり、過去の観測に異なる重みを与えることを特徴としています。つまり、最近の観測の重みは長期の観測の重みよりも大きくなります。
第二に、コードの実装
コードは次のとおりです(例):
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');
要約する
コードは直接実行できます。理解できない場合は、メッセージを残してください。