matlab-データの2次指数平滑化予測

序文

この記事では、主に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');

要約する

コードは直接実行できます。理解できない場合は、メッセージを残してください。

おすすめ

転載: blog.csdn.net/taiyuezyh/article/details/123533442