0. 9, s=12
4.8 Mật độ phổ mẫu của chuỗi sai phân logarit giá vàng
Bây giờ chúng ta sẽ làm trơn phổ mẫu của chuỗi sai phân logarit giá vàng. Với √
730 ≈ 27(2), ta thấy ba ước lượng tương ứng với 3 cửa sổ phổ m = 13 (đường nét chấm), m = 27 (đường nét đứt) và m = 53 (đường nét gạch-chấm) trong Hình 4.9. Băng thông của 3 cửa sổ này lần lượt tương ứng là 0.0047, 0.01, 0.02. Chỉ dẫn băng thông tương ứng vớim = 13 (đường nét chấm) là hẹp nhất và khoảng tin cậy cho việc ước lượng này là dài nhất. Hai đường còn lại có băng thông rộng hơn và khoảng tin cậy ngắn hơn.
Sử dụng phần mền R, ta chọn được mô hình AR tốt nhất dựa trên tiêu chẩu AIC nhỏ nhất là mô hình AR(14) và được ước lượng với phổ được hiển thị trong Hình 4.10. Kết hợp với Hình 4.9, ta được Hình 4.11 và có thể so sánh được các ước lượng trong Hình 4.9 với ước lượng phổ AR. Nhận thấy rằng, ước lượng dựa trên cửa sổ phổ Daniel với m = 27 (đường nét
0.0 0.1 0.2 0.3 0.4 0.5 2e−05 4e−05 8e−05 Frequency Log(Estimated Spectr al Density)
Hình 4.9: Phổ trơn sử dụng cửa sổ Daniel với
m = 13, m = 27, m = 53 của chuỗi sai phân logarit giá vàng đứt) có lẽ là tốt nhất so với 2 ước lượng còn lại (m = 13 và m = 53). Tuy nhiên cả 3 ước lượng trên so với ước lượng của mô hình AR(14) đều tỏ ra chưa tốt. 0.0 0.1 0.2 0.3 0.4 0.5 4e−05 8e−05 frequency spectr um Series: x AR (14) spectrum
Hình 4.10: Ước lượng phổ AR của chuỗi sai phân logarit giá vàng
Bây giờ, dựa trên mô hình AR(14) (đường nét chấm) trên Hình 4.12 được lựa chọn cho chuỗi sai phân logarit giá vàng có tiêu chuẩn AIC nhỏ nhất, qua một số bước thử trên phần mềnR, ta quyết định chọn cửa sổ phổ trơn với việc sử dụng tắch chập 2 lần cửa sổ Daniel vớim = 13 (span = 13). Trong trường hợp này, băng thông là 0.0066 và ước lượng mật độ phổ trơn
0.0 0.1 0.2 0.3 0.4 0.5 2e−05 4e−05 8e−05 Frequency Log(Estimated Spectr al Density)
Hình 4.11: Các mật độ phổ được ước lượng của chuỗi sai phân logarit giá vàng
(đường nét liền) trên Hình 4.12. Có 4 đỉnh mang năng lượng lớn mà chúng ta chú ý đó là tại các tần số f ≈ 0.08, f ≈ 0.16, f ≈ 0.22 và f ≈ 0.35
tương ứng với 4 chu kỳ tìm được là xấp xỉ 13 ngày, 7 ngày, 5 ngày và 3 ngày. Đỉnh mang năng lượng cao nhất là tại tần số f ≈ 0.35 tương ứng với chu kì xấp xỉ 3 ngày. Trên hình 4.12, nhìn chung ta có thể thấy năng lượng phổ của chuỗi sai phân logarit giá vàng phân bố khá đồng đều tại các tần số. 0.0 0.1 0.2 0.3 0.4 0.5 3e−05 5e−05 9e−05 Frequency Log(Spectr um)
4.2 Vắ dụ về chuỗi giá xăng
z Dữ liệu chuỗi giá xăng Mogas 92 trên thị trường bán lẻ (trung bình theo tháng) từ tháng 01/2005 đến tháng 12/2012. Giá xăng (đơn vị: đồng) cho 1 lắt, nguồn http://www.xangdau.net.
[1] 7550 7550 7550 7550 7550 7550 8800 10000 10000 10000 9500 9500 [13] 9500 9500 9500 11000 11000 11000 11000 12000 11000 10500 10500 [24] 10500 10100 10100 11000 11000 11800 11800 11800 11300 11300 11300 [35] 13000 13000 13000 14500 14500 14500 14500 14500 19000 17500 16500 [46] 15500 13500 11500 11500 11000 11000 11750 12500 13500 14200 15200 [57] 15200 15350 16300 15950 16400 16690 16690 16690 16490 15990 15990 [68] 16400 16400 16400 16400 16400 16400 19300 21300 21300 21300 21300 [79] 21300 20800 20800 20800 20800 20800 20800 20800 22900 23800 23000 [90] 21550 20800 22850 22850 22850 23165 23165
Sử dụng kĩ thuật phân tắch phổ tương tự như trên chuỗi giá vàng SJC, chúng ta cũng có một số kết quả khi phân tắch phổ trên chuỗi giá xăng Mogas 92 (dữ liệu "mp.g").
Hình 4.13 biểu diễn quá trình diễn biến chuỗi giá xăng Mogas 92 được bán lẻ trên thị trường. Time mg.p 0 20 40 60 80 10000 20000
Một số thông số về chuỗi giá vàng được thể hiện trong Bảng 4.2
Min. 1st Qu. Median Mean 3rd Qu. Max. SD SE
7550 11000 14500 14810 17880 23800 4693 479
Bảng 4.2 Bảng thông số chuỗi giá xăng
Nhìn vào đồ thị dãy tự tương quan và dãy tự tương quan riêng của chuỗi giá xăng trong Hình 4.14, ta cũng có kết luận chuỗi giá xăng cũng là một chuỗi không dừng. Từ việc lấy sai phân logarit của chuỗi giá xăng (Biểu thị trong hình 4.15) và cũng kết luận được chuỗi sai phân logarit giá xăng là một chuỗi dừng. 5 10 15 −0.2 0.2 0.6 Lag A CF 5 10 15 −0.2 0.2 0.6 Lag P ar tial A CF
Hình 4.14: Đồ thị dãy tự tương quan và dãy tự tương quan riêng của chuỗi giá xăng
Time Retur n 0 20 40 60 80 −0.1 0.1 0.2
Hình 4.15: Sai phân logarit của chuỗi giá xăng
Chu kỳ đồ của chuỗi sai phân logarit giá xăng được thể hiện trong Hình 4.16. Chúng ta có thể tìm được một số đỉnh mang năng lượng tương đối cao, đó là tại các tần số f ≈ 0.0519, f ≈ 0.0621, f ≈ 0.0831, f ≈ 0.1143, f ≈ 0.2500, f ≈ 0.2602, f ≈ 0.3642 và tìm được những chu kỳ tương ứng là xấp xỉ 19 tháng, 16 tháng, 12 tháng, 9 tháng, 4 tháng, 3 tháng. 0.0 0.1 0.2 0.3 0.4 0.5 0.000 0.010 0.020 Frequency P er iodogr am
Hình 4.16: Chu kỳ đồ của chuỗi sai phân logarit giá xăng với tần số Fourier
Mật độ phổ mẫu được biểu thị trong Hình 4.17 cho thấy chuỗi sai phân logarit giá xăng có khá nhiều biến động. Dẫn tới việc làm trơn mật độ phổ mẫu trong Hình 4.18.
Trong Hình 4.18, trên cở sở căn bậc 2 độ dài của chuỗi sai phân logarit giá xăng, √
0.0 0.1 0.2 0.3 0.4 0.5 0.000 0.004 0.008 Frequency Sample spectr al density
Hình 4.17: Mật độ phổ mẫu của chuỗi sai phân logarit giá xăng giá xăng là m = 5 (đường nét chấm), m = 11 (đường nét đứt), m = 21
(đường nét gạch-chấm) và băng thông tương ứng cho 3 ước lượng này là 0.0131, 0.0305, 0.0604. Sử dụng phần mềnR, ta chọn được mô hình AR tốt nhất dựa trên tiêu chẩu AIC nhỏ nhất là mô hình AR(1) và có được ước lượng phổ đối với mô hình AR(1) (đường nét liền).
0.0 0.1 0.2 0.3 0.4 0.5 5e−04 2e−03 5e−03 Frequency Log(Estimated Spectr al Density)
Hình 4.18: Phổ trơn sử dụng cửa sổ Daniel với m = 5, m= 11, m = 21 của chuỗi sai phân logarit giá xăng Như vậy, ta có thể thấy ước lượng phổ với cửa sổ phổ Danial, m = 21
(đường nét gạch-chấm) khá tốt so với phổ mô hình AR(1) của chuỗi sai phân logarit giá xăng. Để nhìn thấy rõ hơn điều này, bây giờ ta sẽ sử dụng Hình 4.19, ước lượng phổ với m = 21 (đường nét liền), ước lượng phổ mô hình AR(1) (đường nét chấm). Nhận thấy có một đỉnh đáng chú ý nhất
trong Hình 4.19 đó là đỉnh tại tần số f ≈ 0.1563 và chu kỳ tương ứng là xấp xỉ 7 tháng. 0.0 0.1 0.2 0.3 0.4 0.5 0.0020 0.0030 0.0045 Frequency Log(Spectr um)
Hình 4.19: Phổ trơn sử dụng cửa sổ Daniel với m = 21 của chuỗi sai phân logarit giá xăng
Sử dụng tắch chập 2 lần cửa sổ Daniel với m = 21 (Hình 4.20), phổ được ước lượng (đường nét liền), với băng thông là 0.0684 và ước lượng phổ cho mô hình AR(1), ta thấy rằng việc làm trơn với việc sử dụng tắch chập 2 lần cửa sổ Daniel với m = 21 gần giống với phổ mô hình AR(1) của chuỗi sai phân logarit giá xăng. Tuy nhiên, đối với điều này, ta phải chấp nhận độ chệch tương đối cao.
0.0 0.1 0.2 0.3 0.4 0.5 0.0025 0.0035 0.0045 Frequency Log(Spectr um)
Hình 4.20: Phổ trơn sử dụng tắch chập 2 lần cửa sổ Daniel với m = 21 của chuỗi sai phân logarit giá xăng
Kết luận
Luận văn ỘPhân tắch phổ chuỗi thời gianỢ nghiên cứu vấn đề phân tắch phổ chuỗi thời gian thông qua việc hệ thống và làm sáng tỏ những khái niệm, tắnh chất về lý thuyết phân tắch phổ chuỗi thời gian. Sử dụng phần mềm thống kê R để tắnh toán và vẽ đồ thị với các vắ dụ cụ thể. Kết quả mới của luận văn là đã ứng dụng phổ vào việc phân tắch dữ liệu chuỗi giá vàng và giá xăng trên thị trường trong nước.
Hướng nghiên cứu tiếp theo của luận văn là nghiên cứu sâu vào những ứng dụng của phân tắch phổ trong y học, sinh học, xử lý tắn hiệu,... Ngoài ra đề tài còn là cơ sở để nghiên cứu trên lý thuyết phân tắch phổ nhiều chiều cũng như những ứng dụng của nó.
Tài liệu tham khảo
Tiếng Việt
1. Dương Tôn Đảm (2006), Quá trình ngẫu nhiên - Phần mở đầu, NXB Đại học Quốc Gia Tp Hồ Chắ Minh.
2. Nguyễn Hồ Quỳnh (2006), Chuỗi Thời Gian-Phân tắch và Nhận dạng, NXB Khoa học và Kỹ thuật, Hà Nội.
3. Trần Thị Hồng Nhiên (2013), Chuỗi thời gian tự hồi quy trung bình trượt, Luận văn Thạc sĩ Toán học, Trường Đại học Khoa học Tự Nhiên, Tp Hồ Chắ Minh.
4. Nguyễn Văn Tuấn (2006), Phân tắch dữ liệu và tạo biểu đồ bằng R, NXB Khoa học và Kỹ thuật, Tp Hồ Chắ Minh.
Tiếng Anh
5. Peter Bloomfield (2000), Fourier Analysis of Time Series: An
Introduction, John Wiley &Sons, New York.
6. Peter J. Brockwell - Richard A. Davis (1991), Time Series: Theory and Methods, 2nd ed, Springer-Verlag, New York.
7. J. Brockwell - Richard A. Davis (2002), Introduction to Time
Series and Forecasting, Springer-Verlag, New York.
8. . E. P. Box - G. M. Jenkins - G. C. Reinsel (1994), Time Series
Analysis, Forecasting and Control, 2nd ed. New York:Prentice-Hall.
9. C. Chatfield (2004), The Analysis of Time Series, 6th ed. London: Chapman and Hall.
10. Michael J. Crawley (2007), The R Book, John Wiley & Sons, England.
11. Jonat han D. Cryer - Kung-Sik Chan (2008),Time Series Anal-
ysis With Applications in R, Springer-Verlag, New York.
12. H. Cramér and M. Leadbetter (1967), Stationary and Related Stochastic Processes: Sample Function Properties and Their Applica-
tions, John Wiley & Sons, New York.
13. Wayne A. Fuller (1996), Introduction to Statistical Time Series, John Wiley &Sons, Canada.
14. Lambert H. Koopmans (1995), The Spectral Analysis of Time Se- ries, Academic Press, London.
15. Hui Hsiung Kuo (2006), Introduction Stochastic Integration, Springer, New York.
16. M. B. Priestley (1981),Spectral Analysis and Time Series, Volumes 1 and 2. New York: Academic Press.
17. Enders A. Robinson (1982), A historical perspective of spectrum
Phụ lục 1
Giới thiệu phần mềm R 1. R là gì?
Nói một cách ngắn gọn, R là một phần mềm sử dụng cho phân tắch thống kê và đồ thị. Thật ra, về bản chất R là ngôn ngữ máy tắnh đa năng, có thể sử dụng cho nhiều mục tiêu khác nhau, từ tắnh toán đơn giản, toán học giải trắ (recreational mathematics), tắnh toán ma trận, đến các phân tắch thống kê phức tạp.
Ngôn ngữ lập trình R được tạo ra bởi Ross Ihaka và Robert Gen-
tleman ở trường Đại học Auckland, New Zealand, và hiện nay R được phát triển bởi Development Core Team. Ngôn ngữ lập trình này được đặt tên R bởi vì :
- R là chữ viết tắt của tên của hai tác giả đầu tiên của của ngôn ngữ lập trình này (Robert và Ross)
- R là phần mềm được lấy cảm hứng từ ngôn ngữ S và có nhiều đặc tắnh tương tự như ngôn ngữ S. Ngôn ngữ S được tạo ra bởi John Chambers khi ông này còn làm việc ở Phòng thắ nghiệm Bell. Kắ tự R và S đều là những kắ tự của bảng chữ cái hàm ý sự giống nhau của 2 ngôn ngữ nhưng R đứng trước S hàm ý rằng ngôn ngữ R đứng trước ngôn ngữ S.
Mặc dù một số người thường gọi R là phần mềm thống kê nhưng thật ra R là một ngôn ngữ lập trình và là môi trường phần mềm cho tắnh toán thống kê và đồ họa.
2. Ưu điểm của phần mềm R
1. R là ngôn ngữ lập trình miễn phắ: Để phân tắch thống kê hay lập trình có thể có sử dụng nhiều phần mềm hay ngôn ngữ khác nhau (như SAS, SPSS, Stata, Fortran, C#,...) Tuy nhiên, phần lớn những phần mềm này không phải là miễn phắ. Do vậy nếu sử dụng R để giảng dạy thì cho
sinh viên thì sau khi sinh viên ra trường, sinh viên có thể tiếp tục tiếp cận với phần mềm và sử dụng trong công việc. Nếu giảng dạy bằng một phần mềm giữ bản quyền như SAS (nếu nhà trường có mua quyền sử dụng) thì sau khi sinh viên tốt nghiệp, không thể ứng dụng được nếu luật bảo vệ sở hữu trắ tuệ được thực thi.R hiện nay được coi là chuẩn trên thực tế (factor standard) để giảng dạy về thống kê.
2. R là ngôn ngữ lập trình nguồn mở: R là một thành phần của GNU project (dự án hợp tác đại trà và phần mềm miễn phắ). Mã nguồn của R cung cấp miễn phắ cho tất cả mọi người tuân theo giấy phép công cộng chung GNU (GNU General Public License) và phiên bản nhị phân trước khi biên dịch được cung cấp cho nhiều hệ điều hành khác nhau. Do là 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 và có đến 2 triệu người dùng. Là nguồn mở nên việc phát triển R rất linh hoạt và cho phép tắch hợp R với các hệ thống khác nhau và với các phần mềm sử lắ số liệu khác nhau. Các diễn đàn của cộng đồng sử dụng R phổ biến nhất là Crantastic, Stackoverflow, revolutions blog, R-bloggers, #rstats.
3. R là một ngôn ngữ lập trình thông dịch (interpreted language) được sử dụng thông qua trình thông dịch dòng lệnh (command line intepreter) Tương tự như các phần mềm khác, R có thể hỗ trợ các phép tắnh ma trận. Cấu trúc dữ liệu của R không chỉ là số nguyên (integer), số thực (double precision), chuỗi (string) mà còn có thể là vector, ma trận, khung dữ liệu (data frame) là các ma trận với cấu trúc dữ liệu thuộc các loại khác nhau. R là ngôn ngữ lập trình:
- Cho phép người dùng thêm vào các tắnh năng bổ sung bằng cách định nghĩa các hàm số mới, xây dựng các gói (package) mới, dùng các gói do người khác xây dựng
- Có thể liên kết với các mã của 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 có thể kết hợp nhiều phương pháp khác nhau để giải quyết vấn đề và cho kết quả có tắnh lập
lại. R có sẵn các thư viện có thể thực thi trên các đối tượng khác nhau như véctor, ma trận.
4. Không chỉ là ngôn ngữ lập trình, R còn là một môi trường phần mềm có nghĩa là R cung cấp nhiều thư viện cho các giải thuật truy cập số liệu, thao tác số liệu, phân tắch số liệu và vẽ đồ thị. R có thể vẽ các loại đồ thị như chuỗi thời gian, tổ chức đồ, phân tán đồ, mặt 3 chiều, bản đồ,...
5. R là ngôn ngữ lập trình chuyên dụng cho chuyên viên thống kê: R có thể tiến hành các thuật toán thống kê chuẩn như tắnh toá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. Ngoài các phương pháp thống kê kinh điển, R vượt qua các phần mềm khác để ứng dụng trong các phương pháp tắnh toán hiện đại nhất (thắ dụ như để phân tắch hệ gen - genomics, xác định các biến dị của 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 và gói lệnh TSA. Cách cài đặt cũng như hướng dẫn sử dụng R chúng ta có thể tham khảo trong [10] và [4]. Gói lệnh TSA(3) được phát triển bởi nhóm tác giả KSC, cung cấp một số lượng lớn các hàm được lập trình sẵn trong R sử dụng trong việc phân tắch chuỗi thời gian.
Phụ lục 2
Các mã lệnh (code) R được sử dụng trong luận văn # Code R Chương 2 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 bởi Hình 2.2 sp=periodogram(y)
# Chú ý rằng các thông số được mặc định với taper=0 và detrend=F abline(h=0) axis(1,at=c(0.04167,.14583)) # 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 2 số nguyên từ 1:48 # không thay thế
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 bởi Hình 2.2 periodogram(y)