Hình 2 .4 Đồ thị theo thời gian của chuỗi rev và chuỗi san mũ Winters Revhw
Hình 2.11 Kết quả dự báo trong mẫu
Nguồn: Nhóm tác giả tự phân tích bằng phần mềm Eview 8
Nhìn vào kết quả dự báo trong mẫu ta thấy:
Mean Abs. Percent Error = 15.95585 > 5%
Tiến hành dự báo ngoài mẫu (2003q1 – 2020q3) cho chuỗi đã hiệu chỉnh mùa vụ - revsaf:
Hình 2.12. Kết quả dự báo ngồi mẫu
Nguồn: Nhóm tác giả tự phân tích bằng phần mềm Eview 8
Bước cuối cùng, ta thêm yếu tố mùa vụ vào chuỗi hiệu chỉnh đã dự báo revsaf bằng lệnh:
Genr revf1= revsaf * sfm
Vẽ chuỗi dữ liệu gốc và chuỗi đã dự báo trên cùng một đồ thị bằng lệnh: line rev revf1 ta được:
Hình 2.13. Đồ thị theo thời gian chuỗi gốc rev và chuỗi dự báo revf1
Nguồn: Nhóm tác giả tự phân tích bằng phần mềm Eview 8
- Tính MAPE bằng lệnh genr mape = @mean(@abs(rev - revf)/rev) Ta được MAPE = 0.129047
- Tính RMSE bằng lệnh genr rmse = @sqrt(@mean (rev - revf)^2) Ta được RMSE = 1.606420
Dạng 2: Bậc 2
Hình 2.14. Kết quả ước lượng mơ hình bậc 2
Nguồn: Nhóm tác giả tự phân tích bằng phần mềm Eview 8
Ta thấy biến t^2 có p-value = 0.37 > α=10%. Biến khơng có ý nghĩa thống kê. Mơ hình này khơng phù hợp để dự báo.
Dạng 3: Bậc 3
Sử dụng câu lệnh: ls revsa c t t^2 t^3. Ước lượng mơ hình này ta được kết quả:
Hình 2.15. Kết quả ước lượng mơ hình bậc 3
Ta thấy biến t có p-value = 0.5281 > α=10%. Biến khơng có ý nghĩa thống kê Mơ hình này không phù hợp để dự báo
Dạng 4: Tạo biến giả d1, loại bỏ yếu tố mùa, hồi quy với biến t^2 và t^3
Trên cửa sổ Command, lần lượt gõ các câu lệnh:
Genr d1=0: để tạo biến giả d1 có giá trị bằng 0 cho tồn mẫu Smpl 2009q2 2020q3
Genr d1=1: để tạo biến giả d1 có giá trị bằng 1 cho mẫu từ 2009q2 đến 2020q3 Smpl 2003q1 2020q3
Loại bỏ yếu tố mùa tạo thành chuỗi đã hiệu chỉnh có tên revsa Tạo biến xu thế t bằng lệnh: Genr t=@trend(2002q4)
Thực hiện hồi quy mơ hình bằng câu lệnh: ls revs c d1 t^2 t^3 Ta được kết quả hồi quy như sau:
Hình 2.16. Kết quả ước lượng mơ hình chứa biến giả
Nguồn: Nhóm tác giả tự phân tích bằng phần mềm Eview 8
- Thực hiện kiểm định cho mô hình này:
+ Kiểm định phân phối chuẩn của nhiễu
Nguồn: Nhóm tác giả tự phân tích bằng phần mềm Eview 8
Cặp giả thuyết: {H0: Nhiễu phân phối chuẩn H1: Nhiễu không phân phối chuẩn
Ta thấy p-value = 0.44 > α = 5%. Chưa có cơ sở để bác bỏ H0 => Nhiễu phân phối chuẩn
+ Kiểm định phương sai sai số thay đổi:
Hình 2.18. Kết quả kiểm định phương sai sai số thay đổi
Nguồn: Nhóm tác giả tự phân tích bằng phần mềm Eview 8
Cặp giả thuyết: {H0: Phương sai sai số không đổi H1: Phương sai sai số thay đổi
Ta thấy p-value = 0.0820 > α= 5%. Chưa có cơ sở để bác bỏ H0 Mơ hình có phương sai sai số không đổi
+ Kiểm định tự tương quan
Nguồn: Nhóm tác giả tự phân tích bằng phần mềm Eview 8
Cặp giả thuyết: {H0: Mơ hình khơng có tự tương quan H1: Mơ hình có tự tương quan Ta thấy p – value = 0.5586 > α. Chưa có cơ sở để bác bỏ H0 => Mơ hình khơng có tự tương quan
=> Ta thấy mơ hình thỏa mãn tất cả các giả thiết OLS. Tiến hành dự báo bằng mơ hình này
B1: Tiến hành dự báo trong mẫu cho mơ hình với mẫu từ 2003Q1 đến 2007Q3
Hình 2.20. Kết quả Dự báo trong mẫu
Nguồn: Nhóm tác giả tự phân tích bằng phần mềm Eview 8
Dự báo trong mẫu cho ra Mean Abs. Percent Error = 12.54
B2: Tiến hành dự báo ngoài mẫu cho chuỗi đã được hiệu chỉnh revsa
Nguồn: Nhóm tác giả tự phân tích bằng phần mềm Eview 8
B3: Thêm yếu tố mùa vụ vào chuỗi đã dự báo revsaf bằng lệnh:
Genr revf = revsaf * sfm
Vẽ chuỗi dự báo và chuỗi gốc trên cùng một đồ thị bằng lệnh: line rev revf
Hình 2.22. Đồ thị theo thời gian của chuỗi gốc rev và chuỗi dự báo revf
Nguồn: Nhóm tác giả tự phân tích bằng phần mềm Eview 8
- Tính MAPE bằng lệnh genr mape = @mean(@abs(rev - revf)/rev) Ta được MAPE = 0.10216
Ta được RMSE = 1.691364
2.3 Dự báo bằng mơ hình ARIMA
2.3.1 Tổng quan về mơ hình
Mơ hình ARIMA bậc p, d, q là mơ hình với: AR(p) là mơ hình tự tương quan bậc p Y(d) là chuỗi dừng khi lấy sai phân bậc d MA(q) là mơ hình trung bình trượt bậc q có phương trình là:
Y(d) = c + Φ1Y(d)t-1 + … + ΦpY(d)t-p + θ1ut-1 + … + θqut-q + ut
2.3.2 Các bước tiến hành
Bước 1: Kiểm tra tính dừng của chuỗi cần dự báo
• Đối với chuỗi thường: kiểm tra tính dừng của chuỗi gốc và tiến hành dự báo ARIMA với chuỗi gốc.
• Đối với chuỗi có tính mùa vụ: tách yếu tố mùa vụ khỏi chuỗi gốc, sau đó kiểm tra tính dừng của chuỗi tách và tiến hành dự báo ARIMA với chuỗi tách.
• Đối với chuỗi có tính xu thế: kiểm tra tính dừng của chuỗi gốc Yt =β̂
1+β̂
2t + et (với et là phần dư), sau đó kiểm tra tính dừng của chuỗi et và tiến hành dự báo ARIMA với chuỗi et.
Bước 2: Xác định độ trễ p, q.
Bước 3: Kiểm tra các điều kiện giả định của mơ hình:
• Mơ hình khả nghịch và ổn định (nghiệm đơn vị của các mơ hình hồi quy phụ < 1).
• Nhiễu trắng (nhiễu khơng tự tương quan). • Chất lượng dự báo.
Bước 4: Dự báo ngồi mẫu
• Đối với chuỗi có yếu tố mùa vụ: Nhân hoặc cộng chuỗi dự báo đã hiệu chỉnh với chỉ số mùa vụ để dự báo chuỗi gốc.
• Đối với chuỗi có yếu tố xu thế: Tạo biến Yf = β̂
1 + β̂
2t + ef là dự báo của chuỗi Yt.
2.3.3 Áp dụng
Kiểm tra tính mùa vụ và tách yếu tố mùa vụ:
Ta đã xác định được chuỗi thuộc dạng mơ hình nhân (như đã kết luận ở phần trên) và tách yếu tố mùa vụ ta thu được chuỗi revsa và seasonal factor: sfm
Dạng 1: Dự báo ARIMA cho chuỗi revsa đã hiệu chỉnh mùa vụ
Kiểm định tính dừng của chuỗi revsa
Cặp giả thuyết: {H0: Chuỗi không dừng
H1: Chuỗi dừng
Trên cửa sổ Series: REVSA vào View/ Unit Root Tests/ Standard Unit Root Test Trên cửa sổ Unit Root Test, phần Test for unit root in chọn Level
Theo kết quả kiểm định ta thấy
P-value (Prob.) = 0,9478 > α = 0,05 Khơng có cơ sở bác bỏ H0 Chuỗi revsa khơng dừng Vậy ta kiểm định tính dừng của chuỗi revsa sai phân bậc 1
Trên cửa sổ Series: REVSA vào lại View/ Unit Root Tests/ Standard Unit Root Test Trên cửa sổ Unit Root Test, phần Test for unit root in chọn 1st difference
Hình 2.23. Kết quả kiểm định tính dừng của chuỗi revsa sai phân bậc 1
Nguồn: Nhóm tác giả tự phân tích bằng phần mềm Eview 8
Theo kết quả kiểm định ta thấy:
Bác bỏ H0, chấp nhận H1 Chuỗi revsa dừng ở sai phân bậc 1. Tìm độ trễ cho mơ hình AR và MA cho chuỗi revsa
Trên cửa sổ Series: REVSA vào View/ Correlogram
Số bậc trễ (lags) thông thường bằng sấp sỉ căn bậc hai của số quan sát = sqrt(67) 9
Trên cửa sổ Correlogram Specification chọn độ trễ phần Lags to include là 9 Ta có kết quả
Hình 2.24. Giản đồ tự tương quan của chuỗi revsa
Nguồn: Nhóm tác giả tự phân tích bằng phần mềm Eview 8
Đồ thị ACF có dạng xương cá nên MA = 0. Chọn PACF = 2, 3 và 7
Lần lượt thực hiện hồi quy các mơ hình ARIMA(2,1,0), (3,1,0), (7,1,0) cho chuỗi
revsal
a. Gõ lệnh ls d(revsa) c ar(2)
Thực hiện các kiểm định với nhiễu: nhiễu phân phối chuẩn (p – value > 0.5), có tự tương quan, PSSS thay đổi
Tiến hành dự báo trong mẫu: mape = 15.5606
Nguồn: Nhóm tác giả tự phân tích bằng phần mềm Eview 8
Ta thực hiện tiếp dự báo ngoài mẫu
Hình 2.26. Kết quả dự báo ngồi mẫu
Nguồn: Nhóm tác giả tự phân tích bằng phần mềm Eview 8
Kết hợp yếu tố mùa vụ sfm vào chuỗi dự báo đã hiệu chỉnh mùa vụ revsaf để dự báo chuỗi gốc rev, ta gõ lệnh:
genr revf_ar2=revsaf_ar2*sfm
Vẽ chuỗi dữ liệu gốc và chuỗi đã dự báo trên cùng một đồ thị, ta được:
Nguồn: Nhóm tác giả tự phân tích bằng phần mềm Eview 8 genr mape=@mean(@abs(rev-revf_ar2)/rev)
ta được mape= 0.1556064988896205
b. Với MH: ls d(revsa) c ar(3)=> biến khơng có ý nghĩa thống kê c. Với MH: ls d(revsa) c ar(7) => biến khơng có ý nghĩa thống kê
Dạng 2: Lấy logarit chuỗi revsa rồi dự báo ARIMA
Gõ lệnh genr revsal=log(revsa)
Tạo biến revsal để kiểm định tính dừng và tìm độ trễ p, q
Thực hiện kiểm định Unit root test: revsal là chuỗi kết hợp bậc 1 => d = 1
Nguồn: Nhóm tác giả tự phân tích bằng phần mềm Eview 8
Từ giản đồ ACF và PACF, ta chọn p = 1, 2 và 3
Lần lượt thực hiện hồi quy các mơ hình ARIMA(1,1,0), (2,1,0), (3,1,0) cho chuỗi
revsal
a. Gõ lệnh ls d(log(revsa)) c ar(1)
Kiểm định cho phần dự: nhiễu phân phối chuẩn (p – value = 0.4938), có tự tương quan, PSSS khơng đổi (p – value = 0.5680 >0.5)
Hình 2.29. Kết quả dự báo trong mẫu
Nguồn: Nhóm tác giả tự phân tích bằng phần mềm Eview 8
Dự báo ngồi mẫu cho revsa sample 2003q1 2020q3
Hình 2.30. Kết quả dự báo ngồi mẫu
Nguồn: Nhóm tác giả tự phân tích bằng phần mềm Eview 8
Kết hợp yếu tố mùa vụ sfm vào chuỗi dự báo đã hiệu chỉnh mùa vụ revsaf để dự báo chuỗi gốc rev, ta gõ lệnh
genr revlf_ar1=revsaf*sfm
Hình 2.31. Đồ thị theo thời gian của chuỗi gốc rev và chuỗi dự báo revf_ar1
Nguồn: Nhóm tác giả tự phân tích bằng phần mềm Eview 8 genr mape=@mean(@abs(rev-revlf_ar1)/rev)
Mape= 0.2005
b. Với MH: ls d(log(revsa)) c ar(2)
Nhiễu phân phối chuẩn (0.8189), có tự tương quan, PSSS khơng đổi (0.6366) Dự báo trong mẫu: mape = 19.4361
Hình 2.32. Kết quả dự báo trong mẫu
Nguồn: Nhóm tác giả tự phân tích bằng phần mềm Eview 8
Hình 2.33. Kết quả dự báo ngồi mẫu
Nguồn: Nhóm tác giả tự phân tích bằng phần mềm Eview 8
Kết hợp yếu tố mùa vụ sfm vào chuỗi dự báo đã hiệu chỉnh mùa vụ revsaf để dự báo chuỗi gốc rev, ta gõ lệnh:
genr revlf_ar2=revsaf*sfm
Vẽ chuỗi dữ liệu gốc và chuỗi đã dự báo trên cùng một đồ thị, ta được:
Hình 2.34. Đồ thị theo thời gian của chuỗi gốc rev và chuỗi dự báo revlf_ar2
genr mape=@mean(@abs(rev-revlf_ar2)/rev)
mape= 0.1943
PHẦN 3: TỔNG KẾT
Chọn các chuỗi rev revd revf revf1 revf_ar2 revh revhw revlf_ar1 revlf_ar2 revsa: click chuột phải chọn Open/ as Group
Chọn các số liệu là kết quả của các phương pháp dự báo, ta có bảng số liệu sau:
Bảng 3.1. Kết quả của các phương pháp dự báo
Nguồn: Nhóm tác giả tự phân tích bằng phần mềm Eview 10
Để so sánh các mơ hình dự báo: Trên cửa sổ Series: Rev vào View/ Forecast Evaluation:
Trên cửa sổ Forecast Evaluation, trong phần Forecast data objects gõ tên các chuỗi dự báo:
Hình 3.1. Hướng dẫn so sánh các mơ hình dự báo
Nguồn: Nhóm tác giả tự phân tích bằng phần mềm Eview 10
Ta có kết quả so sánh sau:
Nguồn: Nhóm tác giả tự phân tích bằng phần mềm Eview 10
Hình 3.2. Đồ thị theo thời gian của chuỗi gốc rev và các chuỗi dự báo
Nguồn: Nhóm tác giả tự phân tích bằng phần mềm Eview 10
Dựa vào kết quả dự báo ta thấy phương pháp phân tích (chuỗi revf) và phương pháp san mũ Winters (chuỗi revhw) có các thơng số như nhau và chính xác hơn so với các phương pháp cịn lại với các chỉ số RMSE, MAE, MAPE nhỏ nhất.
Vậy, để lựa chọn phương pháp dự báo tốt nhất cho chuỗi, ta lựa chọn phương pháp phân tích và phương pháp san mũ Winters.
TÀI LIỆU THAM KHẢO
PGS.Ts Nguyễn Quang Dong & PGS.Ts Nguyễn Thị Minh, 2013, Giáo trình Kinh Tế Lượng, NXB Đại học Kinh tế Quốc dân, Hà Nội.
PHỤ LỤC
Doanh thu Công ty cổ phần Bibica
Đơn vị tính: triệu đồng t rev t rev 2003Q1 64982 2011Q3 259550 2003Q2 60,000 2011Q4 354633 2003Q3 55531 2012Q1 194474 2003Q4 80551 2012Q2 173838 2004Q1 61830 2012Q3 253047 2004Q2 48071 2012Q4 308294 2004Q3 58469 2013Q1 216662 2004Q4 75636 2013Q2 158503 2005Q1 70301 2013Q3 282259 2005Q2 50043 2013Q4 395363 2005Q3 70274 2014Q1 226703 2005Q4 94745 2014Q2 204487 2006Q1 83754 2014Q3 284740 2006Q2 62248 2014Q4 410784 2006Q3 88183 2015Q1 250815 2006Q4 107146 2015Q2 174073 2007Q1 93598 2015Q3 280877 2007Q2 72363 2015Q4 463445 2007Q3 126453 2016Q1 245748 2007Q4 161730 2016Q2 176416 2008Q1 131404 2016Q3 329634 2008Q2 100303 2016Q4 541223 2008Q3 146135 2017Q1 233721 2008Q4 166577 2017Q2 209602 2009Q1 121330 2017Q3 338681 2009Q2 117121 2017Q4 507889 2009Q3 162040 2018Q1 295940 2009Q4 227506 2018Q2 209146 2010Q1 143592 2018Q3 354994 2010Q2 122081 2018Q4 565531 2010Q3 217372 2019Q1 296626 2010Q4 303945 2019Q2 209181 2011Q1 210109 2019Q3 385813 2011Q2 176076