arma(1,1)模型的参数估计 .txt

来自「matlab时间序列信号处理」· 文本 代码 · 共 35 行

TXT
35
字号
>>ARMA(1,1)模型的参数估计 
0
推荐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;
 

⌨️ 快捷键说明

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