matlab之 时间序列MA(q)模型
2016-11-04 20:44
169 查看
理学院真的是一个伟大的学院,什么时间序列啊,这么难的东西,那么厚的一本书,我们竟然要把它学会,还要考试(说好的人与人之间的信任呢/(ㄒoㄒ)/~~)
已知 零均值平稳时间序列MA(q)序列的自协方差函数,求模型的系数。
function [k,cur_pii,sigma2,b]=time_serise(r)
%MA(2)
q=2; #MA(q)
guest=100; % should be changed,最小迭代次数
eps=1e-8;
%r0=12.4168;
%r=[12.4168,-4.7520,5.2];%r1是原数据r0,自协方差函数
%r=[7.4084,-2.664,3.4];
r0=r(1);
for i=4:guest*10
r(i)=0;
end
pre_pii=[];cur_pii=[];omg=[];gama=[];
%自协方差阵
for k=1:guest
for i=1:k
for j=1:k
gama(i,j)=r(abs(i-j)+1);%公式,+1是因为r(1)实际是r0
end
end
for i=1:q
for j=i:(k+i-1)
omg(i,j-i+1)=r(j+1);
end
end
if k==1
pre_pii=omg*inv(gama)*omg';
else
cur_pii=omg*inv(gama)*omg';
sum=0;
for i=1:q
for j=1:q
sum=sum+(pre_pii(i,j)-cur_pii(i,j))^2;
end
end
if sum < eps
k;
cur_pii;
break
end
pre_pii=cur_pii;
end
end
for i=q:q
tmp=eye(i+1);
A=tmp(2:i+1,1:i);
C=zeros(i,1);
C(1)=1;
Tmp=C'*cur_pii*C;
sigma2=r0-C'*cur_pii*C;
Gama=[];
for j=1:i
Gama(j)=r(1+j);
end
b=[];
b=(Gama'-A*cur_pii*C)/sigma2;
end
end
r=[7.4084,-2.664,3.4];#自协方差函数
[k,cur_pii,sigma2,b]=time_serise(r)%b是系数,sigma2是sigma平方。
向量b就是模型的系数。
已知 零均值平稳时间序列MA(q)序列的自协方差函数,求模型的系数。
function [k,cur_pii,sigma2,b]=time_serise(r)
%MA(2)
q=2; #MA(q)
guest=100; % should be changed,最小迭代次数
eps=1e-8;
%r0=12.4168;
%r=[12.4168,-4.7520,5.2];%r1是原数据r0,自协方差函数
%r=[7.4084,-2.664,3.4];
r0=r(1);
for i=4:guest*10
r(i)=0;
end
pre_pii=[];cur_pii=[];omg=[];gama=[];
%自协方差阵
for k=1:guest
for i=1:k
for j=1:k
gama(i,j)=r(abs(i-j)+1);%公式,+1是因为r(1)实际是r0
end
end
for i=1:q
for j=i:(k+i-1)
omg(i,j-i+1)=r(j+1);
end
end
if k==1
pre_pii=omg*inv(gama)*omg';
else
cur_pii=omg*inv(gama)*omg';
sum=0;
for i=1:q
for j=1:q
sum=sum+(pre_pii(i,j)-cur_pii(i,j))^2;
end
end
if sum < eps
k;
cur_pii;
break
end
pre_pii=cur_pii;
end
end
for i=q:q
tmp=eye(i+1);
A=tmp(2:i+1,1:i);
C=zeros(i,1);
C(1)=1;
Tmp=C'*cur_pii*C;
sigma2=r0-C'*cur_pii*C;
Gama=[];
for j=1:i
Gama(j)=r(1+j);
end
b=[];
b=(Gama'-A*cur_pii*C)/sigma2;
end
end
r=[7.4084,-2.664,3.4];#自协方差函数
[k,cur_pii,sigma2,b]=time_serise(r)%b是系数,sigma2是sigma平方。
向量b就是模型的系数。
相关文章推荐
- [时间序列分析][4]--AR模型,MA模型,ARMA模型介绍
- 如何判断时间序列AR(p)和MA(q)模型
- 时间序列分析这件小事(五)--MA模型
- 时间序列之MA(滑动平均模型)
- 第二章平稳时间序列模型——AR(p),MA(q),ARMA(p,q)模型及其平稳性
- 第二章平稳时间序列模型——ACF和PACF和样本ACF/PACF
- 常用的时间序列算法模型
- 实验一 离散时间序列卷积和MATLAB实现
- 基于时间序列的股票趋势预测模型
- 时间序列回归模型
- 时间序列分析--ARIMA模型
- 数学建模高级方法(十):时间序列模型
- 时间序列分析这件小事(四)--AR模型
- 【R实践】时间序列分析之ARIMA模型预测___R篇
- 基于时间序列的用户预测模型
- 时间序列预测模型方法
- 时间序列分析之 ARIMA 模型的JAVA实现
- 时间序列拟合模型诊断
- 时间序列模型之相空间重构
- 时间序列分析中的ARMA,ARIMA模型整体综述