• 大小: 11KB
    文件类型: .m
    金币: 2
    下载: 1 次
    发布日期: 2021-10-22
  • 语言: Matlab
  • 标签: ARIMA  

资源简介

ARIMA代码,方便各位学者对ARIMA的matlab进行研究。

资源截图

代码片段和文件信息

clear; 

P = sin(0.1:0.1:9.6);
F = sin(0.1:0.1:9);
 
%----------------------由于时间序列有不平稳趋势,进行两次差分运算,消除趋势性----------------------% 
for i=2:96 
    Yt(i)=P(i)-P(i-1); 
end 
for i=3:96 
    L(i)=Yt(i)-Yt(i-1); 
end 
L=L(3:96); 
Y=L(1:88); 

%画图
figure; 
plot(P); 
title(‘原数据序列图‘); 
hold on; 
pause  
plot(Y‘r‘); 
title(‘两次差分后的序列图和原数对比图‘); 
pause   

%--------------------------------------对数据标准化处理----------------------------------------------% 
%处理的算法 : (data - 期望)/方差
Ux=sum(Y)/88                           % 求序列均值 
yt=Y-Ux; 
b=0; 
for i=1:88 
   b=yt(i)^2/88+b; 
end 
v=sqrt(b)                              % 求序列方差 
Y=yt/v;                            % 标准化处理公式 
f=F(1:88); 
t=1:88; 

%画图
figure; 
plot(tftY‘r‘) 
title(‘原始数据和标准化处理后对比图‘); 
xlabel(‘时间t‘)ylabel(‘油价y‘); 
legend(‘原始数据 F ‘‘标准化后数据Y ‘); 
pause   
%--------------------------------------对数据标准化处理----------------------------------------------% 
 
 
%------------------------检验预处理后的数据是否符合AR建模要求,计算自相关和偏相关系数---------------% 

%---------------------------------------计算自相关系数-----------------------------------% 
R0=0;
for i=1:88  
     R0=Y(i)^2/88+R0;   %标准化处理后的数据的方差
end 

for k=1:20 
    
    %R  协方差   
    R(k)=0; 
    for i=k+1:88
        R(k)=Y(i)*Y(i-k)/88+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) x(5) x(6) x(7)]‘; 
x7=[1 x(1) x(2) x(3) x(4) x(5) x(6)]; 
A=toeplitz(x7);                       
X7=A\B 
X77=X7(7) 
 
B=[x(1) x(2) x(3) x(4) x(5) x(6) x(7) x(8)]‘; 
x8=[1 x(1) x(2) x(3) x(4) x(5) x(6) x(7)]; 
A=toeplitz(x8);                       
X8=A\B 
X88=X8(8) 
 
B=[x(1) x(2) x(3) x(4) x(5) x(6) x(7) x(8) x(9)]‘; 
x9=[1 x(1) x(2) x(3) x(4) x(5) x(6) x(7) x(8)]; 
A=toeplitz(x9);                       
X9=A\B 
X99=X9(9) 
 
B=[x(1) x(2) x(3) x(4) x(5) x(6) x(7) x(8) x(9) x(10)]‘; 
x10=[1 x(1) x(2) x(3) x(4) x(5) x(6) x(7) x(8) x(9)]; 
A=toeplitz(x10);                       
X10=A\B    
X1010=X10(10) 
      
B=[x(1) x(2) x(3) x(4) x(5) x(6) x(7) x(8) x(9) x(10) x(11)]‘; 
x11=[1 x(1) x(2) x(3) x(4) x(5) 

评论

共有 条评论