arma110.m

来自「统计学习的Matlab程序:包括各种假设检验,模型识别和线性回归等.」· M 代码 · 共 37 行

M
37
字号
function [phi1,theta1,delta2]=arma110(Z)
%ARMA110 ARMA(1,1)模型的参数估计
%《随机过程》(汪荣鑫编)P148.  ARMA(1,1)模型的参数估计 
%调用格式: [phi1,theta1,delta2]=arma110(Z)
%Z为时间序列的向量

%By:Ji Lin
%Email: linji@live.com
%Blog: http://linji526.spaces.live.com
%Date: 2007,2008/08/18

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;

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?