Xây dựng đồ thị Trong thời đoạn luyện tập xây dựng mô hình bạn hãy chọn 100 quan sát đầu tiên của chuỗi sales.. Sử dụng thủ thuật Curve Estimation Đồ thị các giá trị của biến sales, được
Trang 1Lab 2 DỰ BÁO BẰNG PHƯƠNG PHÁP HỒI QUI
Biên soạn: TS Nguyễn Văn Ngọc
File chap5.sav chứa dữ liệu về bán hàng Dữ liệu sẽ được phân ra làm 2 thời đoạn: luyện
tập và để kiểm tra Dữ liệu của thời đoạn kiểm tra đôi khi còn được gọi là mẫu để dành (hold-out sample)
1 Xây dựng đồ thị
Trong thời đoạn luyện tập xây dựng mô hình bạn hãy chọn 100 quan sát đầu tiên của chuỗi
sales Chọn trong Menu Data:
Data
Select Cases
Hình 1 Hộp thoại “Chọn số quan sát”
Bạn hãy chọn Based on time or case range (Dựa trên thời gian hoặc số quan sát), sau đó nhấp
vào nút Range Hộp thoại Select Cases: Range (Chọn vùng quan sát) được mở ra.
1
Trang 2Hình 2 Hộp thoại “Chọn vùng quan sát”
Bây giờ xem xét chuỗi của chúng ta Chọn trong Menu Graphs:
Graphs
Sequence…
Sequence number
96
91 86
81 76
71 66
61 56
51 46
41 36
31 26
21 16
11 6 1
260 250 240 230 220 210 200 190
2
Trang 3Hình 3 Dữ liệu về bán hàng (thời đoạn luyện tập).
2 Sử dụng thủ thuật Curve Estimation
Đồ thị các giá trị của biến sales, được xây dựng cho 100 quan sát đầu tiên tăng liên tục, đặc
biệt là về cuối Rõ ràng là chuỗi có tự tương quan dương: mỗi một giá trị gần đúng với giá trị đứng trước đó, dường như chuỗi có “bộ nhớ” Phương pháp dự báo đơn giản nhất cho chuỗi này là xác định một đường cong xấp xỉ với giá trị của chuỗi
Thủ thuật Curve Estimation dùng để làm điều đó: xác định phương pháp tốt nhất xây dựng
đường cong đi qua chuỗi dữ liệu và cho biết nó phù hợp đến mức độ nào Thủ thuật này sẽ tạo ra 4 chuỗi thời gian mới: dự báo bằng mô hình, sai số, giới hạn trên và giới hạn dưới của độ tin cậy cho các giá trị dự báo Có thể xây dựng đồ thị các chuỗi này, để nhờ chúng xác định xem mô hình chạy tốt tới mức nào
Chọn dạng đường cong bậc hai và lập phương.
Bạn hãy thử ước lượng các hệ số cho đường bậc hai và đường lập phương cho 100 quan sát đầu tiên của chuỗi Sau đó làm tiếp cho thời đoạn kiểm tra và so sánh 2 mô hình
Phân tích hồi qui được sử dụng trong thủ thuật Curve Estimation để ước lượng các tham số
của đường cong Để chọn đường bậc hai, gần với chuỗi sales, bạn hãy chọn trong Menu Analyze:
Analyze
Regression
Curve Estimation…
3
Trang 4Hình 4 Hộp thoại “Ước lượng đường cong”.
Bạn hãy chọn biến sales và đưa vào khung danh sách Dependent(s) (các biến phụ thuộc)
Trong nhóm Independent (Các biến độc lập) hãy chọn Time (Thời gian) Trong nhóm Models bạn hãy đánh dấu chọn Linear, Quadratic và Cubic Để có thể so sánh giá trị của các mô hình với các
giá trị quan sát của chuỗi sales, hãy nhấp vào nút Save… Hộp thoại Curve Estimation Save được
mở ra như hình 5
Hình 5 Hộp thoại “Curve Estimation: save”.
Đầu tiên chúng ta xem xét các giá trị dự báo, tạo ra bởi các mô hình bậc hai và lập phương,
cho nên trong nhóm Save ta chọn Predicted values (Các giá trị dự báo) Trong phần dưới của Hộp
thoại chỉ ra giai đoạn luyện tập (Estimation Period) đã chọn các quan sát từ 1 đến 100 Để dự báo tất
cả các giá trị của chuỗi (cho đến giá trị cuối cùng), hãy chọn trong nhóm Predict Cases (dự báo quan sát) tùy chọn Predict from estimation period through last case (Dự báo từ thời đoạn luyện
tập đến quan sát cuối cùng) Nhấp lên nút Continue, để trở về Hộp thoại chính Curve Estimation
Hãy chắc chắn rằng các tùy chọn Include constant in equation (Đưa constant vào mô hình) và Plot models (Xây dựng đồ thị cho mô hình) đã được đánh dấu Nhấp vào nút OK.
Chúng ta hãy xem xét các dữ liệu thống kê trình bày trong hình 6
Dependent Mth Rsq d.f F Sigf b0 b1 b2 b3
SALES QUA 462 97 41.73 000 206.517 .0593 .0021
SALES CUB 877 96 227.80 000 185.507 2.4952 -.0579 .0004
The following new variables are being created:
Name Label
FIT_1 Fit for SALES from CURVEFIT, MOD_2 QUADRATIC
FIT_2 Fit for SALES from CURVEFIT, MOD_2 CUBIC
Hình 6 Ước lượng đường cong bậc hai và đường lập phương.
Phương trình đường cong bậc 2 có dạng:
sales = 206 517 + ( 0 0593 × case) ( + 0 0021 × case2 )
4
Trang 5Trong đó: case – số quan sát Hệ số đứng trước số hạng bình phương có giá trị nhỏ – đường
cong gần với đường thẳng
Với đường cong bậc 3, ngoài b0, b1 và b2, mô hình này còn có hệ số b3 đứng trước số hạng lập phương Hệ số b3 nhỏ
Phương trình tốt hơn là phương trình bậc 3:
sales = 185 507 + 2 4925 × case + 0 0579 × case 2 + 0 0004 × case 3
3 Xây dựng các đồ thị
Thủ thuật Curve Estimation tạo ra các giá trị dự báo bởi 2 mô hình và được ghi trong biến
mới fit_1 và fit_2 Trên hình 7 thể hiện đồ thị của chuỗi ban đầu và chuỗi dự báo Trước khi gọi thủ
thuật Graph/Sequence để vẽ đồ thị, bạn chớ quên vào Data/Select Cases và bật tùy chọn All cases.
Sequence number
145 137
129 121
113 105
97 89
81 73
65 57
49 41
33 25
17 9 1
700
600
500
400
300
200
100
SALES QUADR CUBIC
Hình 7 Các giá trị ban đầu và các mô hình dự báo
4 Hồi qui với chỉ báo phòng ngừa
Thủ thuật Curve Estimation thực hiện phân tích hồi qui Biến độc lập mà chúng ta đã sử dụng là thời gian Thủ thuật Curve Estimation chọn ra đường cong phù hợp nhất với dạng đồ thị
của chuỗi thời gian và không đặt ra câu hỏi tại sao nó lại có dạng như vậy Rõ ràng là nếu chúng ta
có một chuỗi có quan hệ với chuỗi mà chúng ta đang quan tâm, thì chất lượng dự báo đôi khi có thể được nâng lên Đơn giản nhất là sử dụng thông tin của chuỗi tương tự, nếu nó cho phép dự báo các
5
Trang 6giá trị tương lai của chuỗi mà chúng ta quan tâm, thì nghĩa là chúng ta đang sử dụng chỉ báo phòng ngừa.
Chỉ báo phòng ngừa
Dữ liệu của chuỗi ban đầu có chứa chuỗi-chỉ báo, nhờ nó các giá trị tương lai của chuỗi sales
có thể được dự báo tốt hơn Để sử dụng chỉ báo này trước hết phải xác định độ xa của nó gắn với
chuỗi sales như thế nào Giả sử nói giá trị index của tháng hiện hành liên quan đến các giá trị của
sales trong 4 tháng trước, thì chỉ báo này cho chúng ta biết không quá nhiều để dự báo bán hàng cho
tháng tiếp theo
Đôi khi sự thay đổi trước đó của một chuỗi, ảnh hưởng sớm đến sự thay đổi của chuỗi khác Nếu như không có thông tin như vậy, có thể sử dụng thủ thuật Cross-Correlation và khảo sát hàm Cross-Correlation- CCF Đây là hàm chỉ ra tương quan giữa 2 chuỗi, được tính cho những độ trễ khác nhau Nghiên cứu CCF của 2 chuỗi chúng ta sẽ tìm được thời đoạn trễ, mà ở đó chúng có tương quan mạnh nhất Thủ thuật Cross-Correlation chỉ áp dụng cho chuỗi dừng Từ đồ thị trong hình 3 rõ
ràng chuỗi sales không dừng.
Sai phân
Phương pháp đơn giản để chuyển một chuỗi thành dừng là lấy sai phân Trong bảng 1 trình bày một vài giá trị của chuỗi sales và sai phân bậc 1 và 2
Chuỗi
sales Sai phân bậc 1 Sai phân bậc 2
Bảng 1 Chuỗi sales và sai phân của nó.
Thủ thuật Cross-Correlation
Thủ thuật Cross-Correlation dùng để tính hàm tương quan chéo, nghĩa là xác định tương quan giữa các giá trị của 2 chuỗi cách nhau một khoảng thời gian nhất định (được gọi là độ trễ)
Bạn hãy chọn trong Menu Graph:
Graph
Time Series
Hộp thoại Cross-Correlation trình bày trong hình 8.
6
Trang 7INDEX with SALES
Transforms: difference (1)
Lag Number
7 6 5 4 3 2 1 0 -1 -2 -3 -4 -5 -6 -7
1.0
.5
0.0
-.5
-1.0
Confidence Limits
Coefficient
Hình 8 Hộp thoại Cross-Correlation
Bạn hãy chọn chuỗi index và sales và đưa chúng vào miền Varables list Vì các chuỗi không
dừng, nên bạn hãy chọn Difference trong nhóm Transform Chọn bậc sai phân bằng 1 và nhấp OK
Kết quả nhận được như hình 9
Hình 9 Tương quan chéo giữa index và sales.
7
Trang 8Như bạn nhìn thấy trên đồ thị, phần lớn các hệ số tương quan là nhỏ Chỉ có 2 hệ số tương quan khác 0 đáng kể: tương quan âm -0.345 với độ trễ bằng 2, và tương quan dương 0.71 với độ trễ bằng 3 Lưu ý rằng, đồ thị chỉ ra tương quan khi độ trễ âm, cũng như khi độ trễ dương Độ trễ âm
nghĩa là chuỗi thứ nhất index xảy ra trước chuỗi sales Độ trễ dương nghĩa là chuỗi thứ nhất “dẫn đắt” chuỗi thứ hai Chúng ta có thể kết luận rằng, index thật sự là chỉ báo phòng ngừa và tốt nhất là
để nó dự báo chuỗi sales trước 3 quan sát
Tạo chỉ báo
File dữ liệu chứa các giá trị của chuỗi là sales và index được đo trong cùng một thời điểm
Để dự báo sales, chúng ta cần tạo ra chuỗi, mà mỗi quan sát chứa giá trị index được đo với độ trễ 3
thời đoạn- đó là các giá trị dự báo tốt nhất của sales Bạn hãy chọn trong Menu Transform:
Transform
Hộp thoại Create Time Series (Tạo chuỗi thời gian) trình bày trong hình 10.
Hình 10 Hộp thoại “Tạo chuỗi thời gian”.
Bạn hãy chọn index và nhấp vào mũi tên Trong khung danh sách New Variables xuất hiện:
index_1 = DIFF(index,1)
Nếu bạn nhấp OK thì một biến mới có tên là index_1 sẽ được tạo ra, là sai phân bậc 1 của
chuỗi index Để có một phép biến đổi khác, bạn hãy sử dụng nhóm Name and Function:
•Hãy xóa index_1 trong miền Name và sử dụng tên lead3ind, vì chuỗi mới là chỉ báo với độ
trễ 3 thời đoạn
•Chọn hàm Lag trong danh sách Functions
8
Trang 9•Trong miền Order (bậc) chứa giá trị 1 Bạn hãy thay nó bằng 3, để nhận được giá trị của
chuỗi index với độ trễ 3 thời đoạn.
•Nhấp nút Change Bây giờ trong danh sách New Variables có:
lead3ind=LAG(index,3)
•Nhấp OK và chuỗi thời gian mới sẽ được tạo ra.
5 Hồi qui đơn
Thủ thuật Linear Regression có thể sử dụng dự báo hồi qui Vì trong giai đoạn luyện tập mọi thứ vẫn không thay đổi, bạn hãy tiếp tục công việc Chọn trong Menu Analyze:
Analyze
Regression
Linear…
Hình 11 Thủ thuật hồi qui tuyến tính
Đưa sales vào miền Dependent và lead3ind vào miền Independent(s) Kết quả như hình 12.
9
Trang 1011238.477 1 11238.477 773.139 000 1380.936 95 14.536
12619.413 96
Regression
Residual
Total
Model
1
Sum of Squares df
Mean
ANOVA
(Constant) LEAD3IND
Model
1
B Std Error
Unstandardized Coefficients
Beta
Standardi
z ed Coefficien ts
Coef f icient s
Hình 12 Hồi qui tuyến tính với Линейная регрессия с ведущим индикатором
sales = 54 4 + ( 14 7 × lead ind3 )
Dự báo nhờ thủ thuật Linear Regression
Transform
Compute…
Đặt tên biến predict vào miền Target Variable của Hộp thoại Compute Variable Trong Hộp thoại Numeric Expression đưa vào biểu thức 54.4 + 14.7*lead3ind Bấm OK để tính giá trị
cho biến mới predict.
Có thể so sánh đồ thị của chuỗi mới predict và chuỗi ban đầu sales Bạn hãy chọn trong Menu
Data:
Data
Select Cases
và nhấp vào All cases Đồ thị như hình 13
1 0
Trang 11Sequence number
145 137
129 121
113 105
97 89
81 73
65 57
49 41
33 25
17 9 1
280
260
240
220
200
180
SALES PREDICT
Hình 13 Dự báo bằng hồi qui đơn.
Các giá trị dự báo thể hiện không tồi một chút nào Với thời đoạn kiểm soát (sau 100 quan sát đầu tiên), mô hình tạo ra các giá trị nhỏ hơn giá trị thực tế, tuy nhiên dự báo bám theo các giá trị của chuỗi tương đối tốt
1 1