Lab 1. SAN BẰNG SỐ MŨ (Exponential Smoothing) Biên soạn: TS. Nguyễn Văn Ngọc File dữ liệu chap4.sav chứa số liệu về hàng tồn kho (chuỗi amount- số lượng). Quản trị tồn kho là nguồn bài tập mẫu phù hợp với mô hình san bằng số mũ. Để dự báo nhu cầu hàng tồn kho cần phải có một phương pháp dự báo đơn giản, lưu ý đến các quan sát gần nhất, có khả năng làm thay đổi đặc điểm của chuỗi dữ liệu. 1. Xây dựng đồ thị cho chuỗi dữ liệu Việc đầu tiên khi nghiên cứu chuỗi thời gian là xây dựng đồ thị. Điều này giúp bạn hình dung được về cách chuyển vận (hành vi) của dữ liệu. Để xây dựng đồ thị chuỗi amount, bạn chọn trong Menu Graphs: Graphs Sequence Hình 1. Hộp thoại Sequence Charts (đồ thị chuỗi). Bạn hãy đưa biến amount vào khung danh sách biến nguồn VARIABLES và nhấp OK, Kết quả nhận được trong hình 2. 1 Sequence number 145 137 129 121 113 105 97 89 81 73 65 57 49 41 33 25 17 9 1 AMOUNT 1060 1040 1020 1000 980 960 940 Hình 2. Biểu đồ chuỗi dữ liệu. Từ đồ thị hình 2. ta nhận thấy: - Chuỗi không có tính xu thế, nó dao động một cách ngẫu nhiên xung quanh đường trung bình. - Chuỗi không có thành phần mùa vụ rõ ràng. - Chuỗi có tính chất “ghi nhớ”, với nghĩa là mỗi một giá trị có gắn bó với giá trị đứng trước nó. Đó cũng là hiện tượng rất phổ biến trong chuỗi thời gian (tự tương quan). Phương pháp san bằng số mũ rất thích hợp với chuỗi dữ liệu có tính chất “ghi nhớ” như vậy. San bằng số mũ nhấn mạnh tính qui luật của chuỗi thời gian, nhờ loại khỏi dữ liệu một số sai lệch ngẫu nhiên. Phát hiện ra tính qui luật này, bạn có thể sử dụng nó để dự báo. 2 2. San bằng chuỗi chuỗi dữ liệu Thủ thuật san bằng loại khỏi dữ liệu các dao động ngẫu nhiên. Điều này cho phép bạn tập trung vào những đặc điểm mang tính qui luật rõ nét nhất của chuỗi, và sử dụng nó để dự báo cho các giá trị mới. Để dự báo cho các giá trị tiếp theo, bạn cần lưu ý đến một số vấn đề sau đây: - Quan sát gần nhất. Phần lớn các chuỗi thời gian có tính chất tự tương quan dương, nghĩa là mỗi giá trị tiếp theo gần giống với giá trị đứng trước đó. - Trung bình chung của chuỗi. Đôi khi đó là điều nhiều nhất bạn có thể nói về chuỗi dữ liệu, nếu như bạn không thể tìm được bất kỳ qui luật nào về hành vi của chuỗi. - Xu thế. Nếu như các giá trị của chuỗi giảm đến 10 đơn vị/ngày, bạn sẽ phải chú ý tới tính xu thế trong chuỗi. Như vậy, tuy nhiên kỳ vọng một xu thế tương tự sớm hoặc muộn sẽ biến mất - đặc điểm của chuỗi dữ liệu nhất định sẽ thay đổi, khi tồn kho bằng 0. - Mùa vụ. Nếu bạn xây dựng mô hình dự báo doanh số đồ chơi trẻ em, bạn phải tính đến qui luật mùa vụ, gắn với Đại lễ Giáng sinh. Dựa trên cơ sở những điều đã phân tích ở trên, có thể phân ra làm 2 quan điểm trái ngược nhau: 1. Xem nhẹ số liệu quá khứ của chuỗi, và cho rằng giá trị tiếp theo sẽ bằng đúng giá trị gần nhất. Quan điểm này đúng khi tương quan dương của chuỗi vượt lên bất kỳ qui luật nào khác, điều này thường hay xảy ra khi bạn khảo sát chuỗi dữ liệu trong một khoảng thời gian cực ngắn. Ví dụ, ngày 31/12 gần như cần một lượng đồ chơi gần như đã bán được trong ngày 30. 2. Xem nhẹ các quan sát gần nhất và làm dự báo dựa trên cơ sở giá trị trung bình của chuỗi, của xu thế tìm được và của thành phần mùa vụ. Quan điểm này có ý nghĩa khi bạn chọn một khoảng thời gian tương đối dài, và có thể xem nhẹ tương quan của các giá trị. Trong trường hợp này, giá trị gần nhất trong chuỗi không quá quan trọng đối với bất kỳ một giá trị nào khác, như vậy bạn có thể hy vọng vào mô hình dựa trên các dữ liệu quá khứ của chuỗi: giá trị trung bình, tính xu thế và thành phần mùa vụ. Người ta thường kết hợp cả 2 quan điểm trên. Sử dụng giá trị trung bình, tính xu thế và thành phần mùa vụ, đồng thời bổ sung trọng số lớn cho các quan sát gần nhất. Quan điểm này là cơ sở của phương pháp san bằng số mũ. Chuỗi có tính xu thế và mùa vụ có thể được cho đến 4 tham số, thể hiện “mức độ quan trọng” củ các quan sát gần nhất. Tất cả các tham số biến thiên từ 0 đến 1. 1. Tham số chung alpha cho trọng số của quan sát gần nhất và được sử dụng trong tất cả các mô hình, Khi alpha=1, dự báo chỉ sử dụng giá trị gần nhất; khi alpha=0, thì tất cả các giá trị đều có trọng số ngang bằng nhau. 3 2. Tham số gamma được sử dụng cho chuỗi có tính xu thế. Khi giá trị gamma cao, dự báo dựa trên cơ sở xu thế, được ước lượng theo các giá trị gần nhất. Khi gamma nhỏ, dự báo sử dụng xu thế của toàn chuỗi dữ liệu. 3. Tham số delta, được sử dụng trong chuỗi có tính mùa vụ. Các mô hình có delta cao, khi ước lượng tính mùa vụ các giá trị gần nhất được coi trọng; các mô hình có delta nhỏ, tất cả các quan sát được cho là tương đương nhau. 4. Tham số Phi được sử dụng cùng với gamma, khi chuỗi có xu thế tắt dần. Khi giá trị của phi lớn, mô hình phản ứng nhanh chóng lên bất kỳ biểu hiện tắt dần nào của xu thế. Khi phi nhỏ, ước lượng sự tắt dần của chuỗi được xây dựng theo dữ liệu của toàn chuỗi. 3. Ước lượng mô hình đơn giản (Simple Model) Bạn hãy chọn trong Menu Analyze: Analyze Time Series… Exponential Smoothing Hình 3. Hộp thoại “San bằng số mũ”. Các tuỳ chọn trong Hộp thoại “San bằng số mũ”: ◊Simple - Chuỗi không có tính xu thế, cũng không có tính mùa vụ. ◊Holt - Chuỗi có tính xu thế, nhưng không có tính mùa vụ. ◊Winters - Chuỗi không có tính xu thế, và có tính mùa vụ. Mô hình này sẽ không hoạt động nếu không khai báo tính mùa vụ trong Data Define Dates. ◊Custom - Bạn có thể chọn dạng xu thế và phương pháp tính thành phần mùa vụ. 4 Seasonal Factors (các nhân tố mùa vụ). Trong các mô hình có thành phần mùa vụ (Winters hoặc Custom) bạn có thể đưa tham số có chứa các nhân tố mùa vụ vào cửa sổ Seasonal Factors. Thủ tục Seasonal Decomposition tạo ra các biến số đó. Nếu chuỗi không có tính xu thế và mùa vụ, thì chọn mô hình Simple trong nhóm Model. Chọn Parameters. Nếu bạn chọn Custom. Hộp thoại Exponential Smoothing Custom Model được mở ra: Hình 4. Hộp thoại Exponential Smoothing Custom Model. Các tùy chọn trong nhóm Trend Component: ◊None: Chuỗi không có tính xu thế. ◊Linear: Chuỗi tăng hoặc giảm tuyến tính. ◊Exponential: Chuỗi tăng hoặc giảm theo đường số mũ. ◊Damped (tắt dần). Nghĩa là chuỗi tăng hoặc giảm theo thời gian, nhưng với tốc độ thay đổi giảm dần. Nếu bạn xác định độ dài thời đoạn nhờ lệnh Define Dates từ Menu Datа, thì bạn có thể chọn thêm các yếu tố mùa vụ (Seasonal Component): ◊None. Chuỗi không có biến đổi mùa vụ, được xác định trong Define Dates. ◊Additive (tính cộng): Chuỗi mùa vụ có tính cộng. ◊Multiplicative (tính nhân). Chọn mô hình Holt trong Hộp thoại Exponential Smoothing tương đương với chọn Linear trong Trend Component và None trong Seasonal Component trong Hộp thoại Custom. Chọn mô hình Winters trong Hộp thoại Exponential Smoothing tương đương với chọn Linear trong Trend Component và Multiplicative trong Seasonal Component. 5 Hình 5. Hội thoại “Tham số”. General (alpha)- Hệ số san bằng số mũ. Seasonal (delta)- Hệ số san bằng số mũ để ước lượng mùa vụ. Trend (gamma)- Hệ số san bằng số mũ để ước lượng xu thế. Trend Modification (Phi) – Tham số Phi là hệ số tốc độ “tắt dần” của xu thế, tốc độ giảm theo thời gian. Đối với từng nhóm kiểm soát có thể chọn một trong các tuỳ chọn Value hoặc Grid Search. Initial Values (các giá trị ban đầu). Với chuỗi san bằng bạn có thể cho các giá trị ban đầu hoặc đại lượng xu thế khi chọn các tuỳ chọn sau: ◊Automatic - SPSS tự động tính giá trị ban đầu. ◊Custom - Nếu chọn Custom, bạn hãy đánh số vào ô Starting, đối với mô hình có tính xu thế hãy đánh số vào ô Trend. Lựa chọn các giá trị ban đầu không đúng có thể dẫn đến mô hình nhận được không phù hợp. Kết quả: Results of EXSMOOTH procedure for Variable AMOUNT 6 MODEL= NN (No trend, no seasonality) Initial values: Series Trend 1006.90604 Not used DFE = 148. The 10 smallest SSE's are: Alpha SSE .8000000 17291.25233 .9000000 17435.96280 .7000000 17470.24396 1.000000 17879.19675 .6000000 18033.12401 .5000000 19089.28926 .4000000 20820.58960 .3000000 23510.67242 .2000000 27541.47917 .1000000 32919.01373 The following new variables are being created: NAME LABEL FIT_1 Fit for AMOUNT from EXSMOOTH, MOD_2 NN A .80 ERR_1 Error for AMOUNT from EXSMOOTH, MOD_2 NN A .80 Hình 6. San bằng số mũ: không có tính xu thế và mùa vụ. 4. Xây dựng đồ thị Ta lại sử dụng thủ tục Sequence Charts và so sánh chuỗi ban đầu với chuỗi dự báo. Bạn hãy chọn trong Menu Graphs: Graphs Sequence 7 Sequence number 145 137 129 121 113 105 97 89 81 73 65 57 49 41 33 25 17 9 1 1060 1040 1020 1000 980 960 940 AMOUNT Fit_1 a=0.8 Hình 7. Giá trị ban đầu và giá trị dự báo. 5. Đồ thị phần dư Biến số err_1, được tạo ra bởi thủ thuật Exponential Smoothing, có chứa phần dư (sai số). Xem xét đồ thị phần dư, bạn hãy chọn trong Menu Graphs: Graphs Sequence… Đưa biến err_1 vào danh mục Variables và nhấp OK. 8 Sequence number 145 137 129 121 113 105 97 89 81 73 65 57 49 41 33 25 17 9 1 Error f or AMOUNT f rom EXSMOOTH, MOD_2 NN A .80 40 30 20 10 0 -10 -20 -30 Hình 8. Đồ thị phần dư. Như thường lệ phần dư phải phân bố ngẫu nhiên, không có bất kỳ một qui luật nào. Nếu phân phối của phần dư có qui luật, thì mô hình của chúng ta không phù hợp. 6. Dự báo nhờ phương pháp san bằng số mũ Thủ thuật Exponential Smoothing sử dụng cho dự báo ngắn hạn. Để dự báo ta chọn Save…, chọn Predict through: (Dự báo đến) . 9 Hình 9. Dự báo nhờ thủ thuật Exponential Smoothing. 1 0 . number 14 5 13 7 12 9 12 1 11 3 10 5 97 89 81 73 65 57 49 41 33 25 17 9 1 1060 10 40 10 20 10 00 980 960 940 AMOUNT Fit _1 a=0.8 Hình 7. Giá trị ban đầu và giá trị dự báo. 5. Đồ thị phần dư Biến số err _1, . Component. 5 Hình 5. Hội thoại “Tham số . General (alpha)- Hệ số san bằng số mũ. Seasonal (delta)- Hệ số san bằng số mũ để ước lượng mùa vụ. Trend (gamma)- Hệ số san bằng số mũ để ước lượng xu thế. Trend. Trend 10 06.90604 Not used DFE = 14 8. The 10 smallest SSE's are: Alpha SSE .8000000 17 2 91. 25233 .9000000 17 435.96280 .7000000 17 470.24396 1. 000000 17 879 .19 675 .6000000 18 033 .12 4 01 .5000000