1. Trang chủ
  2. » Luận Văn - Báo Cáo

(Luận văn thạc sĩ) phân tích phổ chuỗi thời gian

133 6 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 133
Dung lượng 1,89 MB

Nội dung

ĐẠI HỌC QUỐC GIA TP.HCM TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN Võ Minh Tâm PHÂN TÍCH PHỔ CHUỖI THỜI GIAN LUẬN VĂN THẠC SĨ TỐN HỌC TP HỒ CHÍ MINH - NĂM 2013 ĐẠI HỌC QUỐC GIA TP.HCM TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN Võ Minh Tâm PHÂN TÍCH PHỔ CHUỖI THỜI GIAN Chuyên ngành: Lý thuyết Xác suất Thống kê Toán học Mã số chuyên ngành: 60 46 15 LUẬN VĂN THẠC SĨ TOÁN HỌC Người hướng dẫn khoa học: PGS TS Nguyễn Bác Văn TP HỒ CHÍ MINH - NĂM 2013 i Lời cảm ơn Luận văn hoàn thành trường Đại học Khoa học Tự nhiênĐại học Quốc gia Thành phố Hồ Chí Minh hướng dẫn khoa học Thầy giáo PGS TS Nguyễn Bác văn Tác giả xin bày tỏ lòng biết ơn chân thành sâu sắc Thầy, người dành nhiều thời gian quý báu, quan tâm giúp đỡ, hướng dẫn tận tình cho tác giả hồn thành luận văn Nhân dịp tác giả xin chân thành gửi lời cảm ơn tới Thầy giáo PGS TS Tô Anh Dũng, Thầy giáo PGS TS Trần Lộc Hùng, Thầy giáo TS Dương Tôn Đảm Thầy giáo, Cô giáo Khoa Toán-Tin học tham gia giảng dạy, giúp đỡ tác giả suốt trình học tập nâng cao trình độ kiến thức Cuối tác giả xin cảm ơn gia đình, đồng nghiệp Khoa Tốn họcTrường Đại học Đồng Tháp bạn học viên cao học Lý thuyết Xác suất Thống kê Toán học K21 ủng hộ, động viên tạo điều kiện tốt cho tác giả suốt trình học tập nghiên cứu Mặc dù có nhiều cố gắng, song luận văn khơng thể tránh thiếu sót, tác giả mong nhận ý kiến đóng góp quý báu từ Thầy giáo, Cô giáo bạn để đề tài hoàn thiện Xin chân thành cảm ơn! Tp.HCM, ngày 09 tháng 09 năm 2013 Tác giả Võ Minh Tâm ii Mục lục Trang phụ bìa i Lời cảm ơn ii Mục lục iii Danh mục hình vẽ v Mở đầu Chương KIẾN THỨC CHUẨN BỊ 1.1 1.2 Một số khái niệm 1.1.1 Quá trình ngẫu nhiên chuỗi thời gian 1.1.2 Quá trình dừng 1.1.3 Quá trình tự hồi quy trung bình trượt 1.1.4 Mô hình cho chuỗi thời gian khơng dừng 11 1.1.5 Tích phân theo q trình ngẫu nhiên 13 Giải tích Fourier 15 1.2.1 Dãy hàm trực giao - Hệ số Fourier 15 1.2.2 Biểu diễn phức chuỗi lượng giác 20 1.2.3 Biến đổi Fourier 21 Chương PHÂN TÍCH PHỔ CHUỖI THỜI GIAN 23 2.1 Giới thiệu 23 2.2 Chu kỳ đồ 26 iii 2.3 Biểu diễn phổ phân phối phổ 33 2.4 Mật độ phổ 38 2.4.1 Mật độ phổ mẫu 38 2.4.2 Mật độ phổ lý thuyết 40 2.4.3 Bộ lọc tuyến tính bất biến theo thời gian 43 Mật độ phổ cho trình ARMA 46 2.5 Chương ƯỚC LƯỢNG PHỔ CHUỖI THỜI GIAN 55 3.1 Tính chất thống kê mật độ phổ mẫu 55 3.2 Làm trơn mật độ phổ 63 3.3 Độ chệch phương sai 66 3.4 Băng thông (Bandwidth) 68 3.5 Khoảng tin cậy cho phổ 69 3.6 Rò rỉ (Leakage) vuốt thon (Tapering) 72 3.6.1 Rò rỉ 72 3.6.2 Vuốt thon 75 3.7 Ước lượng phổ tự hồi quy 78 3.8 Một số phương pháp ước lượng phổ khác 85 Chương ỨNG DỤNG: PHÂN TÍCH PHỔ CHUỖI GIÁ 90 4.1 Ví dụ chuỗi giá vàng 90 4.2 Ví dụ chuỗi giá xăng 100 Kết luận 105 Tài liệu tham khảo 106 iv Phu lục 108 Phụ lục 111 Chỉ mục 122 v Danh mục hình vẽ 2.1 Đường cosin với n = 96 hai tần số pha 24 2.2 Tổ hợp tuyến tính hai đường cosin 24 2.3 Chu kỳ đồ chuỗi thời gian Hình 2.2 28 2.4 Chuỗi thời gian với chu kỳ “ẩn” 29 2.5 Chu kỳ đồ chuỗi thời gian Hình 2.4 29 2.6 Độ sáng thay đổi qua 600 đêm liên tiếp 30 2.7 Chu kỳ đồ chuỗi thời gian Hình 2.6 30 2.8 Chu kỳ đồ chuỗi thời gian Hình 2.6 với < f < 1/2 32 2.9 Minh họa tính tương đồng (alias) 32 2.10 Chuỗi thời gian với với cỡ mẫu 96 Ví dụ 2.3.1 37 2.11 Hàm phân phối phổ F (f ), ≤ f ≤ 1/2 chuỗi thời gian Ví dụ 2.3.1 37 2.12 Mật độ phổ trình MA(1) với θ = 0.9 48 2.13 Mật độ phổ trình MA(1) với θ = −0.9 48 2.14 Mật độ phổ trình MA(2) với θ1 = θ2 = −0.6 49 2.15 Mật độ phổ trình AR(1) với φ = 0.9 50 2.16 Mật độ phổ trình AR(1) với φ = −0.6 50 2.17 Mật độ phổ trình AR(2) với φ1 = 1.5 φ2 = −0.75 51 2.18 Mật độ phổ trình AR(2) với φ1 = 0.1 φ2 = 0.4 52 2.19 Mật độ phổ trình ARMA(1,1) với φ = 0.5 θ = 0.8 52 2.20 Mật độ phổ trình MA theo mùa với θ = 0.4, Θ = 0.9, s = 12 vi 54 2.21 Mật độ phổ trình AR theo mùa với φ = 0.5, Φ = 0.9, s = 12 54 3.1 Mật độ phổ mẫu q trình AR(1) mơ 56 3.2 Trung bình mật độ phổ mẫu cho q trình MA(1) mơ với θ = 0.9 n = 48 3.3 60 Độ lệch chuẩn mật độ phổ mẫu cho trình MA(1) mô với θ = 0.9 n = 48 60 3.4 Biểu đồ QQ phân phối phổ f = 15/48 61 3.5 Trung bình mật độ phổ mẫu cho q trình AR(2) mơ với φ1 = 1.5, φ2 = −0.75 n = 96 3.6 61 Độ lệch chuẩn mật độ phổ mẫu cho q trình AR(2) mơ với φ1 = 1.5, φ2 = −0.75 n = 96 62 3.7 Biểu đồ QQ phân phối phổ f = 40/48 62 3.8 Phổ trơn sử dụng cửa sổ Daniell với m = 64 3.9 Phổ trơn sử dụng cửa sổ Daniell với m = 15 65 3.10 Cửa sổ phổ Daniell biến đổi tích chập 65 3.11 Giới hạn tin cậy từ mật độ phổ trơn 71 3.12 Logarit phổ trơn từ Hình 3.9 72 3.13 Chu kỳ đồ chuỗi thời gian {Yt } với đỉnh f = 0.088 f = 14/96 73 3.14 Nhân Dirichlet nhân Dirichlet sau vuốt thon 75 3.15 Chuông cosin vuốt thon 10% chuông cosin tách với n = 100 77 3.16 Ước lượng tự hồi quy mật độ phổ 78 3.17 Phổ độ sáng biến đổi với vuốt thon 0%, 10%, 20% 50% 79 3.18 Các mật độ phổ ước lượng 80 vii 3.19 Ước lượng phổ AR: Ước lượng (nét chấm), thực (nét liền) 81 3.20 Ước lượng phổ cho mơ hình phổ lõm AR(2) 82 3.21 Ước lượng phổ AR: Ước lượng (nét chấm), thực (nét liền) 82 3.22 Ước lượng phổ cho trình ARMA(1,1) 83 3.23 Ước lượng phổ AR cho trình ARMA(1,1) 83 3.24 Ước lượng phổ cho trình theo mùa 84 3.25 Ước lượng phổ AR cho trình theo mùa 84 3.26 Phổ theo mùa ước lượng với cửa sổ chập 85 4.1 Giá vàng SJC mua vào 93 4.2 Đồ thị dãy tự tương quan dãy tự tương quan riêng chuỗi giá vàng 94 4.3 Sai phân logarit chuỗi giá vàng 94 4.4 Đồ thị dãy tự tương quan chuỗi sai phân logarit giá vàng 95 4.5 Biểu đồ phân phối sai phân logarit giá vàng 95 4.6 Biểu đồ Q-Q chuẩn sai phân logarit giá vàng 96 4.7 Chu kỳ đồ chuỗi sai phân logarit giá vàng với tần số Fourier 96 4.8 Mật độ phổ mẫu chuỗi sai phân logarit giá vàng 97 4.9 Phổ trơn sử dụng cửa sổ Daniel với m = 13, m = 27, m = 53 chuỗi sai phân logarit giá vàng 98 4.10 Ước lượng phổ AR chuỗi sai phân logarit giá vàng 98 4.11 Các mật độ phổ ước lượng chuỗi sai phân logarit giá vàng 99 4.12 Phổ chuỗi sai phân logarit giá vàng 99 4.13 Giá xăng Mogas 92 100 viii 4.14 Đồ thị dãy tự tương quan dãy tự tương quan riêng chuỗi giá xăng 101 4.15 Sai phân logarit chuỗi giá xăng 102 4.16 Chu kỳ đồ chuỗi sai phân logarit giá xăng với tần số Fourier 102 4.17 Mật độ phổ mẫu chuỗi sai phân logarit giá xăng 103 4.18 Phổ trơn sử dụng cửa sổ Daniel với m = 5, m = 11, m = 21 chuỗi sai phân logarit giá xăng 103 4.19 Phổ trơn sử dụng cửa sổ Daniel với m = 21 chuỗi sai phân logarit giá xăng 104 4.20 Phổ trơn sử dụng tích chập lần cửa sổ Daniel với m = 21 chuỗi sai phân logarit giá xăng ix 104 sinh viên sau sinh viên trường, sinh viên tiếp tục tiếp cận với phần mềm sử dụng công việc Nếu giảng dạy phần mềm giữ quyền SAS (nếu nhà trường có mua quyền sử dụng) sau sinh viên tốt nghiệp, khơng thể ứng dụng luật bảo vệ sở hữu trí tuệ thực thi R coi chuẩn thực tế (factor standard) để giảng dạy thống kê R ngơn ngữ lập trình nguồn mở: R thành phần GNU project (dự án hợp tác đại trà phần mềm miễn phí) Mã nguồn R cung cấp miễn phí cho tất người tuân theo giấy phép công cộng chung GNU (GNU General Public License) phiên nhị phân trước biên dịch cung cấp cho nhiều hệ điều hành khác Do phần mềm nguồn mở, có đến 2000 người đóng góp vào việc xây dựng phần mềm có đến triệu người dùng Là nguồn mở nên việc phát triển R linh hoạt cho phép tích hợp R với hệ thống khác với phần mềm sử lí số liệu khác Các diễn đàn cộng đồng sử dụng R phổ biến Crantastic, Stackoverflow, revolutions blog, R-bloggers, #rstats R ngơn ngữ lập trình thơng dịch (interpreted language) sử dụng thơng qua trình thơng dịch dịng lệnh (command line intepreter) Tương tự phần mềm khác, R hỗ trợ phép tính ma trận Cấu trúc liệu R không số nguyên (integer), số thực (double precision), chuỗi (string) mà cịn vector, ma trận, khung liệu (data frame) ma trận với cấu trúc liệu thuộc loại khác R ngơn ngữ lập trình: - Cho phép người dùng thêm vào tính bổ sung cách định nghĩa hàm số mới, xây dựng gói (package) mới, dùng gói người khác xây dựng - Có thể liên kết với mã ngơn ngữ C, ngôn ngữ C++, ngôn ngữ Fortran, Là ngôn ngữ lập trình nên người sử dụng kết hợp nhiều phương pháp khác để giải vấn đề cho kết có tính lập 109 lại R có sẵn thư viện thực thi đối tượng khác véctor, ma trận Khơng ngơn ngữ lập trình, R cịn mơi trường phần mềm có nghĩa R cung cấp nhiều thư viện cho giải thuật truy cập số liệu, thao tác số liệu, phân tích số liệu vẽ đồ thị R vẽ loại đồ thị chuỗi thời gian, tổ chức đồ, phân tán đồ, mặt chiều, đồ, R ngơn ngữ lập trình chun dụng cho chun viên thống kê: R tiến hành thuật tốn thống kê chuẩn tính tốn trung bình, độ lệch chuẩn, phương sai, hiệp phương sai, hồi quy, ANOVA, phân tích sống cịn, GLM, GAM, mạng thần kinh Ngồi phương pháp thống kê kinh điển, R vượt qua phần mềm khác để ứng dụng phương pháp tính tốn đại (thí dụ để phân tích hệ gen - genomics, xác định biến dị DNA người, ) Trong luận văn này, chúng tơi sử dụng phần mềm R version 2.15.3 gói lệnh TSA Cách cài đặt hướng dẫn sử dụng R tham khảo [10] [4] Gói lệnh TSA(3) phát triển nhóm tác giả KSC, cung cấp số lượng lớn hàm lập trình sẵn R sử dụng việc phân tích chuỗi thời gian (3) Tải trang web: www.r-project.org 110 Phụ lục Các mã lệnh (code) R sử dụng luận văn # Code R Chương library(TSA) # Hình 2.1 win.graph(width=4.875,height=2.5,pointsize=8) t=1:96 # n=96 cos1=cos(2*pi*t*4/96) cos2=cos(2*pi*(t*14/96+.3)) plot(t,cos1, type='o', ylab='Cosines') lines(t,cos2,lty='dotted',type='o',pch=4) # Hình 2.2 win.graph(width=4.875,height=2.5,pointsize=8) t=1:96 # n=96 cos1=cos(2*pi*t*4/96) cos2=cos(2*pi*(t*14/96+.3)) y=2*cos1+3*cos2 plot(t,y,type='o',ylab=expression(y[t])) # Hình 2.3 # Giả sử y cho Hình 2.2 sp=periodogram(y) # Chú ý thông số mặc định với taper=0 abline(h=0) axis(1,at=c(0.04167,.14583)) detrend=F # Hình 2.4 # Chu kỳ ẩn win.graph(width=4.875,height=2.5,pointsize=8) t=1:96 # n=96 set.seed(134) integer=sample(48,2)#Mẫu ngẫu nhiên số nguyên từ 1:48 # không thay freq1=integer[1]/96; freq2=integer[2]/96 A1=rnorm(1,0,2); B1=rnorm(1,0,2) # mẫu "biên độ" chuẩn A2=rnorm(1,0,3); B2=rnorm(1,0,3) w=2*pi*t y=A1*cos(w*freq1)+B1*sin(w*freq1)+A2*cos(w*freq2)+B2*sin(w*freq2)+ rnorm(96,0,1) plot(t,y,type='o',ylab=expression(y[t])) # Hình 2.5 # Giả sử y cho Hình 2.2 periodogram(y) abline(h=0) # Hình 2.6 win.graph(width=4.875, height=2.5,pointsize=8) data(star) plot(star,xlab='Day',ylab='Brightness') # Hình 2.7 win.graph(width=4.875, height=2.5,pointsize=8) periodogram(star,ylab='Variable Star Periodogram'); 111 abline(h=0) # Hình 2.8 win.graph(width=4.875, height=2.5,pointsize=8) spec(gp.mua,log='no',main='',sub='', demean=T, detrend=T, xlab='Frequency',ylab='sPeriodogram ') # Hình 2.9 # Tính tương đồng (aliasing) win.graph(width=4.875, height=2.5,pointsize=8) t=seq(0,8,by=.05) plot(t,cos(2*pi*t/4),axes=F,type='l', ylab=expression(Y[t]), xlab='t') axis(1,at=c(1,2,3,4,5,6,7)) axis(1); axis(2); box() lines(t,cos(2*pi*t*3/4),lty='dashed',type='l') abline(h=0) points(x=c(0:8),y=cos(2*pi*c(0:8)/4),pch=19) # Hình 2.10 win.graph(width=4.875,height=2.5,pointsize=8) t=1:96 # n=96 freq1=4/96; freq2=18/96 A1=rnorm(1,0,3); B1=rnorm(1,0,3) # sample normal # "amplitudes" A2=rnorm(1,0,1); B2=rnorm(1,0,1) w=2*pi*t y=A1*cos(w*freq1)+B1*sin(w*freq1)+A2*cos(w*freq2) +B2*sin(w*freq2)+rnorm(96,0,1) plot(t,y,type='o',ylab=expression(y[t])) # Hình 2.11 win.graph(width=4.875,height=2.5,pointsize=8) x1.96/sq rt(n)) # Hình 3.5 sdf1=ARMAspec(model=list(ar=c(phi1,phi2),ma=c(theta1,theta2)),freq=res$freq, plot=F)$spec plot(y=sdf1,x=res$freq, xlab='Frequency',ylab='Average Spectral Density Estimates',type='l', main='',ylim=extendrange(c(means,sdf1))) points(y=means,x=res$freq) abline(h=0) # Hình 3.6 m=round(n/2) plot(y=sdf1[-m],x=res$freq[-m],xlab='Frequency', ylab='Standard Deviation of Spectral Density Estimate', type='l',main='',ylim=extendrange(c(sqrt(vars[m]),sdf1))) points(y=sqrt(vars[-m]),x=res$freq[-m]) abline(h=0) 114 # Hình 3.7 win.graph(width=2.5,height=2.5,pointsize=8) qqplot(qchisq(((1:nrepl)-.5)/nrepl,df=2),specm[40,], xlab='Chi-Square Quantitles',ylab='Sample Spectral Distribution') # Hình 3.8 # Mô AR(1) với phi=-0.6 n = 200 win.graph(width=4.875,height=2.5,pointsize=8) set.seed(271435); n=200; phi=-0.6 y=arima.sim(model=list(ar=phi),n=n) k=kernel('daniell',m=5) sp=spec(y,kernel=k,log='no',main='',sub='', xlab='Frequency',ylab=' Smoothed Sample Spectral Density') lines(sp$freq,ARMAspec(model=list(ar=phi),freq=sp$freq,pl ot=F)$spec, lty='dotted') # Hình 3.9 win.graph(width=4.875,height=2.5,pointsize=8) k=kernel('daniell',m=15) sp=spec(y,kernel=k,log='no',main='',sub='', xlab='Frequency',ylab='Smoothed Sample Spectral Density') lines(sp$freq,ARMAspec(model=list(ar=phi),freq=sp$freq,pl ot=F)$spec, lty='dotted') # Hình 3.10 win.graph(width=4.875,height=2,pointsize=10) oldpar=par par(mfrow=c(1,3)) plot(kernel("modified.daniell", c(3)),lwd=2,main='',ylim=c(0,.17),ylab=expression(W(k))) abline(h=0) plot(kernel("modified.daniell", c(3,3)),lwd=2,main='',ylim=c(0,.17),ylab=expression(W(k)) ) abline(h=0) plot(kernel("modified.daniell", c(3,3,3)),lwd=2,main='',ylim=c(0,.17),ylab=expression(W(k ))) abline(h=0) par=oldpar # Hình 3.11 win.graph(width=4.875,height=2.5,pointsize=8) set.seed(271435); n=200; phi=-0.6 y=arima.sim(model=list(ar=phi),n=n) k=kernel('daniell',m=15) sp=spec(y,kernel=k,main='',sub='',xlab='Frequency', ylab='Log(Smoothed Sample Spectrum)',ci.plot=T,ci.col=NULL) lines(sp$freq,ARMAspec(model=list(ar=phi),sp$freq,plot=F) $spec,lty="dashed") abline(h=0) # Hình 3.12 win.graph(width=4.875,height=2.5,pointsize=8) sp=spec(y,span=31,sub='',xlab='Frequency', ylab='Log(Smoothed Sample Spectrum)') lines(sp$freq,ARMAspec(model=list(ar=phi),sp$freq, plot=F)$spec,lty='dotted') 115 # Hình 3.13 # Rị rỉ (leakage) win.graph(width=4.875,height=2.5,pointsize=8) t=1:96 f1=0.088; f2=14/96 y=3*cos(f1*2*pi*t)+sin(f2*2*pi*t) spec(y,log='no',main='',sub='',type='h',lwd=2, ylab='Periodogram',xlab='Frequency') abline(h=0) # Hình 3.14 win.graph(width=4.875,height=2.5,pointsize=8) olfpar=par par(mfrow=c(1,2)) n=100 f=seq(-.1,.1,.0001) D=(1/n)*sin(pi*n*f)/sin(pi*f) D[1001]=1 plot(x=f,y=D, typ='l',ylab='Dirichlet Kernel',xlab='Frequency',ylim=c(-.25,1.05)) abline(h=0) # Vuốt thon (Tapered) Dt=filter(D,filter=c(.5,rep(0,100),1,rep(0,100),.5),metho d='convolution') plot(x=f,y=Dt,typ='l',xlab='Frequency',ylim=c(.25,1.05),ylab=expression(D[T])) abline(h=0) par=oldpar # Hình 3.15 # Rị rỉ chng Cosin win.graph(width=4.875,height=2.5,pointsize=8) oldpar=par par(mfrow=c(1,2)) t=1:100 y=rep(1,100) tp=spec.taper(y,p=.5) abline(h=0) plot(t,tp,typ='l',ylab='Cosine Bell',xlab='Time') abline(h=0) taper=spec.taper(y,p=.1) plot(t,taper,ylab='Split Cosine Bell',xlab='Time',typ='l') abline(h=0) par=oldpar # Hình 3.16 win.graph(width=4.875,height=7,pointsize=12) opar=par() par(mfrow=c(4,1),mar=c(2,1,1,1)+.1,oma=c(3,3,2,0)) temp=NULL data(star) for (taper in c(0,0.1,0.2,0.5) ) { sp=spec(star,sub='',main='',taper=taper,plot=F) temp=c(temp,sp$spec) } for (taper in c(0,0.1,0.2,0.5) ) { sp=spec(star,sub='',main='',taper=taper,ylim=pmax(extendr ange(temp),0.0000001),ci.col='black') } par(opar) 116 # Hình 3.17 # Mơ AR(1) với phi=-0.6 n = 200 for Hình 3.1,3.8,3.9 3.2 win.graph(width=4.875,height=2.5,pointsize=8) set.seed(271435) n=200 phi=-0.6 y=arima.sim(model=list(ar=phi),n=n) sp=spec(y,method='ar',sub='',xlab='Frequency', ylab='Log(AR Spectral Density Estimate') lines(sp$freq,ARMAspec(model=list(ar=phi),freq=sp$freq, plot=F)$spec,lty='dotted') # Hình 3.18 # Phân tích phổ mô chuỗi thời gian win.graph(width=4.875,height=2.5,pointsize=8) set.seed(271435) n=100 phi1=1.5; phi2=-.75 # Đặt lại giá trị tham số để có Hình 3.16 & 3.17 y=arima.sim(model=list(ar=c(phi1,phi2)),n=n) sp1=spec(y,main='',spans=3,sub='',lty='dotted', xlab='Frequency', ylab='Log(Estimated Spectral Density)') sp2=spec(y,,spans=9,plot=F) sp3=spec(y,,spans=15,plot=F) lines(sp2$freq,sp2$spec,lty='dashed') # Use different colors to see the results more easily! lines(sp3$freq,sp3$spec,lty='dotdash') f=seq(0.001,.5,by=.001) lines(f,ARMAspec(model=list(ar=c(phi1,phi2)),freq=f,plot= F)$spec,lty='solid') # Hình 3.19 win.graph(width=4.875,height=2.5,pointsize=8) sp4=spec(y,method='ar',main='',lty='dotted', xlab='Frequency', ylab='Log(Estimated AR Spectral Density)') f=seq(0.001,.5,by=.001) lines(f,ARMAspec(model=list(ar=c(phi1,phi2)),freq=f,plot= F)$spec,lty='solid') sp4$method # Điều cho biết bậc mơ hình AR chọn # Hình 3.20 win.graph(width=4.875,height=2.5,pointsize=8) set.seed(28) n=200 phi1=0.1; phi2=0.4 y=arima.sim(model=list(ar=c(phi1,phi2)),n=n) sp1=spec(y,main='',spans=7,sub='',lty='dotted', xlab='Frequency', ylab='Log(Estimated Spectral Density)') sp2=spec(y,,spans=15,plot=F) sp3=spec(y,,spans=31,plot=F) lines(sp2$freq,sp2$spec,lty='dashed') # Sử dụng màu sắc khác dễ thấy kết lines(sp3$freq,sp3$spec,lty='dotdash') f=seq(0.001,.5,by=.001) lines(f,ARMAspec(model=list(ar=c(phi1,phi2)),freq=f,plot= F)$spec,lty='solid') 117 # Hình 3.21 win.graph(width=4.875,height=2.5,pointsize=8) sp4=spec(y,method='ar',main='',lty='dotted', xlab='Frequency', ylab='Log(Estimated AR Spectral Density)') f=seq(0.001,.5,by=.001) lines(f,ARMAspec(model=list(ar=c(phi1,phi2)),freq=f,plot= F)$spec,lty='solid') sp4$method # Hình 3.22 win.graph(width=4.875,height=2.5,pointsize=8) set.seed(324135) n=500 phi=.5; theta=.8 y=arima.sim(model=list(ar=phi,ma=-theta),n=n) sp1=spec(y,spans=11,main='',sub='',lty='dotted', xlab='Frequency', ylab='Log(Estimated Spectral Density)') sp2=spec(y,spans=22,plot=F) sp3=spec(y,spans=44,plot=F) lines(sp2$freq,sp2$spec,lty='dashed') lines(sp3$freq,sp3$spec,lty='dotdash') f=seq(0.001,.5,by=.001) lines(f,ARMAspec(model=list(ar=phi,ma=theta),f,plot=F)$spec, lty='solid') # Hình 3.23 win.graph(width=4.875,height=2.5,pointsize=8) sp4=spec(y,method='ar',main='',lty='dotted',ylim=c(.15,1 9), xlab='Frequency', ylab='Log(Estimated AR Spectral Density)') f=seq(0.001,.5,by=.001) lines(f,ARMAspec(model=list(ar=phi,ma=theta),f,plot=F)$spec, lty='solid') sp4$method # Hình 3.24, 3.25, 3.26 # Hình 3.24 win.graph(width=4.875,height=2.5,pointsize=8) set.seed(247135) n=144 theta=.4;THETA=.9 y=arima.sim(model=list(ma=c(-theta,rep(0,10),THETA,theta*THETA)),n=n) sp1=spec(y,spans=6,main='',sub='',lty='dotted',ylim=c(.15 ,9), xlab='Frequency',ylab='Log(Estimated Spectral Density)') sp2=spec(y,,spans=12,plot=F) sp3=spec(y,,spans=24,plot=F) lines(sp2$freq,sp2$spec,lty='dashed') lines(sp3$freq,sp3$spec,lty='dotdash') f=seq(0.001,.5,by=.001) lines(f,ARMAspec(model=list(ma=-theta,seasonal=list(sma=THETA,period=12)),freq=f,plot=F)$spec,lty='solid') # Hình 3.25 win.graph(width=4.875,height=2.5,pointsize=8) sp4=spec(y,method='ar',main='',ylim=c(.15,15),lty='dotted ', xlab='Frequency',ylab='Log(Estimated AR Spectral Density)') 118 f=seq(0.001,.5,by=.001) lines(f,ARMAspec(model=list(ma=-theta,seasonal=list(sma=THETA,period=12)),freq=f,plot=F)$spec,lty='solid') sp4$method # Hình 3.26 win.graph(width=4.875,height=2.5,pointsize=8) sp5=spec(y,spans=c(3,3),main='',sub='',lty='dotted',demea n=T, xlab='Frequency',ylab='Log(Estimated Spectral Density)') f=seq(0.001,.5,by=.001) lines(f,ARMAspec(model=list(ma=-theta,seasonal=list(sma=THETA,period=12)),freq=f,plot=F)$spec,lty='solid') # Code R Chương data(gp.mua) # Hình 4.1 win.graph(width=4.875,height=2.5,pointsize=8) plot(gp.mua) # Kết Bảng 4.1 summary(gp.mua) # Tổng quan chuỗi desc

Ngày đăng: 15/06/2021, 10:38

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w