加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

[转载]ARMA(1,1)模型的参数估计 Matlab

(2016-11-21 20:06:33)
标签:

转载

分类: matlab
推荐function [phi1,theta1,delta2]=arma110(Z)
%《随机过程》(汪荣鑫编)P148.  ARMA(1,1)模型的参数估计 
%调用格式: [phi1,theta1,delta2]=arma110(Z)
%Z为时间序列的向量
%Author: Ji Lin, 2007
W=Z-mean(Z);
n=length(Z);K=15;
r=ones(1,K);p=ones(1,K);
r0=W(1:n)*W(1:n)'/n;
for k=1:K
    r(k)=W(1:n-k)*W(1+k:n)'/n;
    p(k)=r(k)/r0;
end
q=ones(K,K);Q=ones(1,K);
q(1,1)=p(1);Q(1)=q(1,1);
for k=1:K-1
    q(k+1,k+1)=(p(k+1)-p(k:-1:1)*q(k,1:k)')/(1-p(1:k)*q(k,1:k)');
    for j=1:k
        q(k+1,j)=q(k,j)-q(k+1,k+1)*q(k,k-j+1);        
    end
    Q(k+1)=q(k+1,k+1);
end
phi1=p(2)/p(1);
b=(1-2*p(2)+phi1^2)/(p(1)-phi1);
theta=-(b-sqrt(b^2-4))/2;
theta1=-(b+sqrt(b^2-4))/2;
if(abs(theta)<1)
    theta1=theta;
end
pw=r(1)-phi1^2*p(1)-phi1-phi1*p(2);
delta2=(r0+p(1)^2*r0-2*phi1*r(1))*(1+sqrt(1-4*pw^2))/2;
 

0

  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有