logo资料库

时间序列实验报告.docx

第1页 / 共14页
第2页 / 共14页
第3页 / 共14页
第4页 / 共14页
第5页 / 共14页
第6页 / 共14页
第7页 / 共14页
第8页 / 共14页
资料共14页,剩余部分请下载后查看
时间序列上机作业 统计学 1001 班 杨宸暐 U201010071 1. (p96 习题一 1.5)已知平稳序列的自协方差函数 (    0 2 , , 1 )  (12.4168, 4.7520,5.2),   k  0, k 3,  试为这个平稳序列建立 MA(2) 模型。 解:利用公式可以计算自协方差函数是: 2 b   1 b b  1 2 ) 2 b 2 ) (1 ( b 1 b 2 k     2   0 2   1 2   2 0,  k 0.36, a 1  2 编程求解上述方程得到: a 1    0.65, 2   8 故这个平稳序列 MA(2)模型为: X t   t  0.36  t 1   0.65  t  2 , t   程序代码: clear,clc %% syms b1 b2 sigma2; [b1 b2 sigma2]=solve('sigma2*(1+b1^2+b2^2)=12.4168',... 'sigma2*(b1+b1*b2)=-4.7520',... 'sigma2*b2=5.2','b1','b2','sigma2'); b1=vpa(b1,4) b2=vpa(b2,4) sigma2=vpa(sigma2,4) 2. (p1062.4)给定平稳序列 tX 的自协方差函数 (   0 1 , ,  ,   ) 4 (5.61, 1.1,0.23,0.43, 0.1)   ,试为 tX 建立 ARMA(2,2)模型。
1) 解:利用(2.15)计算出自回归系数 ( , 2 a a   1 ) ( 0.0211, 0.3953)  2) 利用(1.12)计算出滑动平均部分的系数和白噪声的方差: ( , b b 1 2 ) 3) 所要求的模型是:   ( 0.1758,0.4539), 2   5.3412 X t   0.0211 X  0.3953 X   t  0.1758  1 t   0.4539  t  2 , t   t  2 t 1  其中 t 是 (0,5.3412) WN 。 主函数程序: clc,clear %% Gama= [ 5.61, -1.1, 0.23, 0.43, -0.1 ]; p = 2; q = 2; k = 10; [ a, b_q, sigma2 ] = ARMA ( Gama, p, q, k ); %% psi0 = 1; N = 100; psi = zeros(N); psi(1) = b_q(1) + a(1) * psi0; psi(2) = b_q(2) + a(1) * psi(1) + a(2) * psi0; for j = 3:N if j > q b = 0; else b = b_q(j); end psi(j) = b + a(1) * psi(j-1) + a(2) * psi(j-2);
end for i = 5:10 Gama(i) = sigma2 * [ psi0, psi( 1:N-i ) ] * psi( i:N )'; end 函数文件: function [ a, b_q, sigma2 ] = ARMA ( gamma, p, q, k ) Gamma_pq = diag( gamma(q+1)*ones(p,1) ); for i = 1:p-1 Gamma_pq = Gamma_pq + diag( gamma(q+1+i)*ones(p-i,1), -i )... + diag( gamma(q+1-i)*ones(p-i,1), i ); end gamma_pq = gamma( q+2:q+p+1 )'; a = Gamma_pq \ gamma_pq; gamma_y = zeros(1,q+1); a_ = [ -1; a ]; for j = 1:q+1 gamma_kp = diag( gamma(j)*ones(p+1,1) ); for i = 1:p gamma_kp = gamma_kp + diag( gamma(abs(j-1-i)+1)*ones(p+1-i,1), -i )... + diag( gamma(j+i)*ones(p+1-i,1), i ); end gamma_y(j) = a_' * gamma_kp * a_; end [ b_q, sigma2 ] = MA ( gamma_y, q, k ); end 3. (p1271.5)利用公式(2.10),(2.11)计算 ARMA(2,2)模型(2.26)的自协方差函数
k k   (p1062.5) 5,6, ,10. , 解:由上面的 ARMA(2,2)模型可以计算得自协方差函数为 , k k   : 5,6, ,10. -0.1679 0.0431 0.0655 -0.0184 -0.0255 0.0078 4. 对于不同的实数 , a b   和正态白噪声 ( 1,1) WN 2 (0,2 ) ,产生 AR(2)模型 (1 )     b X )(1 a  , t t t   的 N=200 个数据,计算 NX ,分析 ,a b 的取值怎样影响估计量 NX 的精度。 解:对 ,a b 取不同值计算结果如下: a b NX 0.1 0.5 0.3 0.5 0.5 0.7 0.5 0.9 -0.8938 0.3105 0.6412 2.9052 因此可以发现:随着 a 的增大 NX 增大,随b 的增大 NX 减大。 程序如下: clc,clear a=0.5; b=0.5; N = 200; eps0 = normrnd( 0, 2^2 ); eps = normrnd( 0, 2^2, [1,N] ); x0 = eps0; x(1) = eps(1) + (a+b) * x0; x(2) = eps(2) + (a+b) * x(1) - a*b * x0; for i = 3:N x(i) = eps(i) + (a+b) * x(i-1) - a*b * x(i-2); end xmean = mean(x) 5. (p1433.4)设 t 是正态 WN  ,对 ARMA(2,2)模型 (0, ) 2
 1  c B 1  1  c B X 2  t  1   d B 1  1  d B 2  , t t   中的不同参数 c c d d   ,在计算机上产生 500 个 ARMA(2,2)数据。用 2 1 2 1 2 , , ,   1,1 检验方法检验 0H :是白噪声,取 m=6.回答以下问题:当 1 c c d d 取何值时, 2 , , , 2 1 2 检验对 0H 的否定率可以达到 90%或以上。 c 解:当取 1  0.1, c 2   0.9, c 3  0.9, c 4  时否定率可以达到 100%。 0.9 主程序: clear,clc m=0; for k=1:20 p(k)=p_k(); if p(k)>=12.59 m=m+1; end end m/k 函数文件: function p2=p_k() %% c1=0.1; c2=-0.9; d1=0.9; d2=0.9; N = 500; m=6; eps0 = normrnd( 0, 2^2 ); eps = normrnd( 0, 2^2, [1,N] ); x0 = eps0; x(1) = eps(1)-(d1+d2) * eps0 + (c1+c2) * x0;
x(2) = eps(2)-(d1+d2) * eps(1) + c1*c2 * eps0+ (c1+c2) * x(1) - c1*c2 * x0; %% for i = 3:N x(i) = eps(i) + -(d1+d2) * eps(i-1) + c1*c2 * eps(i-2)+(c1+c2) * x(i-1) - c1*c2 * x(i-2); end xmean = mean(x); s=sum((x-xmean).^2); %% for k=1:m for t=1:N-k y(t)=(x(t)-xmean)*(x(t+k)-xmean); p(k)=sum(y)/s; end end p2=N*sum(p.^2) end 6. 设 t 是[-4,4]上均匀分布的白噪声,AR(4)模型 ( A B X  的参数是 ) t t a 1 a 3     0.9, 0.7, a 2 a 4     1.4, 0.6. 在计算机上产生上述 AR(4)模型的 500 个数据。为这 500 个数据建立 AR 模型: 取阶数的上界 0 P  ,分别用 AIC 和 BIC 方法定阶,计算 Yule-Walker 估计。 12 解:当 p=4 时 AIC 与 BIC 同时取得最小值,因此定阶为 4,此时 Yule-Walker 估 计的系数分别为-0.890,-1.327,-0.697,-0.512,可以返现估计效果较好,同时 方差为 1.0043,与标准正态分布几乎相同。 主程序: clear,clc %% P0=12;
N=200; %% for k=1:P0 sigma2(k)=AIC_BIC(k); AIC(k)=log(sigma2(k))+2*k/N; BIC(k)=log(sigma2(k))+log(N)*k/N; end %% [C1 I1]=min(AIC) [C2 I2]=min(BIC) 函数文件: function sigma2=AIC_BIC(p) %% a1=-0.9; a2=-1.4; a3=-0.7; a4=-0.6; N = 200; eps0 = normrnd( 0, 1 ); eps = normrnd( 0, 1, [1,N] ); %% x0 = eps0; x(1) = eps(1) + a1* x0; x(2) = eps(2) + a1* x(1) + a2 * x0; x(3) = eps(3) + a1* x(2) + a2 *x(1) + a3* x0; x(4) = eps(4) + a1* x(3) + a2 *x(2) + a3* x(1) + a4 * x0; for i = 5:N x(i) = eps(i) + a1 * x(i-1) + a2 * x(i-2) + a3 * x(i-3) + a4 * x(i-4);
end %% xmean = mean(x); y=x-xmean; r0=sum(y.^2)/N; for k=1:p for j=1:N-k ss(j)=y(j)*y(j+k); end r(k)=sum(ss)/N; end for i=1:p Gama(i,i)=r0; end for i=2:p for j=1:i-1 Gama(i,j)=r(i-j); Gama(j,i)=Gama(i,j); end end a=inv(Gama)*r'; sigma2=r0-r*a; 7. (p225 3.1)设 t 是正态白噪声 (0,4) WN ,并且 ARMA(4,2)模型的参数是 a  T (1.16, 0.37, 0.19,0.18) ,   b  T (0.5, 0.4) .  设 p=4,q=2,已知用计算机产生上述 的 ARMA 模型的 100 个数据。 1) 用公式(3.5)计算自回归部分的参数估计,用逆性关系数的方法计算运动平均
分享到:
收藏