二次指数平滑法matlab程序_三次指数平滑法MATLAB代码

clear;clc;

z=xlsread('PA.xlsx');

x=z';

p=input('ÊäÈë¼ÓȨϵÊý');

n=length(x);

s1_0=mean(x(1:3));

s2_0=s1_0;

s3_0=s1_0;

s1(1)=p*x(1)+(1-p)*s1_0;

s2(1)=p*s1(1)+(1-p)*s2_0;

s3(1)=p*s2(1)+(1-p)*s3_0;

for t=2:n

s1(t)=p*x(t)+(1-p)*s1(t-1);

s2(t)=p*s1(t)+(1-p)*s2(t-1);

s3(t)=p*s2(t)+(1-p)*s3(t-1);

end

s1=[s1_0,s1];

s2=[s2_0,s2];

s3=[s3_0,s3];

a=3*s1-3*s2+s3;

b=p/(2*(1-p)^2)*((6-5*p)*s1-2*(5-4*p)*s2+(4-3*p)*s3);

c=p^2/(2*(1-p)^2)*(s1-2*s2+s3);

y=a+b+c

plot(1:n,x,'-g',1:n,y(1:n),'-r');title('PA')

legend('ʵ¼ÊÖµ','Ô¤²âÖµ',2);

xishu=[c(n+1),b(n+1),a(n+1)];

yt=polyval(xishu,2);

sum=0;

for i=1:n

sum=sum+((y(1,i)-x(1,i))./(850*4)).^2;

end

r1=(1-sqrt(sum/n))*100

sum0=0;

for i=1:n

B=1-(x(1,i)-y(1,i))/(850*4);

if B&gt=0.75

Bk=1;

else

Bk=0;

end

sum0=sum0+Bk;

end

r2=(sum0/n)*100

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
二次指数平滑是一种用于预测时间序列数据的方,它通过对一次指数平滑值再进行一次指数平滑来进行预测。然而,二次指数平滑并不能单独地进行预测,而是需要与一次指数平滑配合使用,建立预测的数学模型,并利用该模型确定预测值。 对于二次指数平滑的误差分析,我们可以考虑以下几个方面: 1. 残差(Residuals):残差是指实际观测值与预测值之间的差异。通过计算残差,我们可以评估二次指数平滑的预测精度。较小的残差表示预测结果与实际观测值较为接近,而较大的残差则表示预测结果与实际观测值存在较大差异。 2. 均方根误差(Root Mean Square Error,RMSE):均方根误差是一种常用的衡量预测模型精度的指标。它表示预测值与实际观测值之间的平均差异程度。较小的RMSE值表示预测模型的精度较高,而较大的RMSE值则表示预测模型的精度较低。 3. 平均绝对误差(Mean Absolute Error,MAE):平均绝对误差是另一种常用的衡量预测模型精度的指标。它表示预测值与实际观测值之间的平均绝对差异程度。与RMSE类似,较小的MAE值表示预测模型的精度较高,而较大的MAE值则表示预测模型的精度较低。 需要注意的是,二次指数平滑的预测精度受到多个因素的影响,包括数据的稳定性、噪声的存在以及模型参数的选择等。因此,在进行误差分析时,需要综合考虑这些因素,并结合具体的应用场景进行评估。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值