资源简介
用MATLAB实现ARIMA模型实现某些变量对时间序列的预测
代码片段和文件信息
%288行需要修改
P = [9.885221744 10.20403649 10.81126212 11.32143803 11.78456961 12.36376419 12.87447109 12.93952409 13.23393159 13.67602663 13.96096496 14.35589401 14.67697756 14.97024921 15.32655143 15.66344728 15.94669421 16.165401 16.37847394 16.5464483 16.70811183 16.90083282 17.02735669 17.20649544 17.39505592 17.57254919 17.7176666 17.87828918 18.03524921 18.17052462 18.22239048 18.37793086];
F = [9.885221744 10.20403649 10.81126212 11.32143803 11.78456961 12.36376419 12.87447109 12.93952409 13.23393159 13.67602663 13.96096496 14.35589401 14.67697756 14.97024921 15.32655143 15.66344728 15.94669421 16.165401 16.37847394 16.5464483 16.70811183 16.90083282 17.02735669 17.20649544 17.39505592 17.57254919 17.7176666 17.87828918 18.03524921 18.17052462 18.22239048 18.37793086];
%----------------------由于时间序列有不平稳趋势,进行两次差分运算,消除趋势性----------------------%
for i=2:32
Yt(i)=P(i)-P(i-1);
end
for i=3:32
L(i)=Yt(i)-Yt(i-1);
end
L=L(3:32);
Y=L(1:29);
%画图
figure;
plot(P);
title(‘原数据序列图‘);
hold on;
pause
plot(Y‘r‘);
title(‘两次差分后的序列图和原数对比图‘);
pause
%--------------------------------------对数据标准化处理----------------------------------------------%
%处理的算法 : (data - 期望)/方差
Ux=sum(Y)/29 % 求序列均值
yt=Y-Ux;
b=0;
for i=1:29
b=yt(i)^2/29+b;
end
v=sqrt(b) % 求序列方差
Y=yt/v; % 标准化处理公式
f=F(1:29);
t=1:32;
%画图
figure;
plot(fY‘r‘)
title(‘原始数据和标准化处理后对比图‘);
xlabel(‘年份t‘)ylabel(‘GDP值的自然对数经过2次差分后的值‘);
legend(‘原始数据 F ‘‘标准化后数据Y ‘);
pause
%--------------------------------------对数据标准化处理----------------------------------------------%
%------------------------检验预处理后的数据是否符合AR建模要求,计算自相关和偏相关系数---------------%
%---------------------------------------计算自相关系数-----------------------------------%
R0=0;
for i=1:29
R0=Y(i)^2/29+R0; %标准化处理后的数据的方差
end
for k=1:20
%R 协方差
R(k)=0;
for i=k+1:29
R(k)=Y(i)*Y(i-k)/29+R(k);
end
end
x=R/R0 %自相关系数x = 协方差/方差
%画图
figure;
plot(x)
title(‘自相关系数分析图‘);
pause
%-----------------------------------计算自相关系数-------------------------------------%
%-----------------------解Y-W方程,其系数矩阵是Toeplitz矩阵(多普里兹矩阵)。求得偏相关函数X-------------------
X1=x(1);
X11=x(1);
B=[x(1) x(2)]‘;
x2=[1 x(1)];
A=toeplitz(x2);
X2=A\B %x=a\b是方程a*x =b的解
X22=X2(2)
B=[x(1) x(2) x(3)]‘;
x3=[1 x(1) x(2)];
A=toeplitz(x3);
X3=A\B
X33=X3(3)
B=[x(1) x(2) x(3) x(4)]‘;
x4=[1 x(1) x(2) x(3)];
A=toeplitz(x4);
X4=A\B
X44=X4(4)
B=[x(1) x(2) x(3) x(4) x(5)]‘;
x5=[1 x(1) x(2) x(3) x(4)];
A=toeplitz(x5);
X5=A\B
X55=X5(5)
B=[x(1) x(2) x(3) x(4) x(5) x(6)]‘;
x6=[1 x(1) x(2) x(3) x(4) x(5)];
A=toeplitz(x6);
X6=A\B
X66=X6(6)
B=[x(1) x(2) x(3) x(4)
- 上一篇:变桨距风力发电机组控制的研究
- 下一篇:matlab鲁棒控制工具箱
相关资源
- ISARImagingWithMATLABAlgorithms.rar
- ARIMA程序代码
- 时间序列模型ARIMA的讲解与matlab代码实
- matlab实现arima
- gpc预测控制CARIMA模型
- ARIMA模型MATLAB实现代码
- ARIMA模型的MATLAB实现
- ARIMA预测MATLAB程序
- 时间序列arima matlab程序
- ARIMA模型-matlab代码
- ARIMA电力负荷预测附EUNITE数据1997-199
- ARIMA时间序列预测的matlab实现
- Series Forcast 用于时间序列的预测
- ARIMA ARIMA模型全称为差分自回归移动平
- matlab ARIMA模
- SyntheticApertureRadarImaging 一篇非常优秀
- ARIMA模型MATLAB代码
- ARIMA_MATLAB代码
- LM拟合优化算法的MATLAB实现
评论
共有 条评论