Số liệu cho dự báo phân phối
bởi Leonidas Tsaprounis
Ở Haleon, dự báo phân phối đóng vai trò quan trọng đối với các giải pháp tối ưu hóa hàng tồn kho của chúng tôi. Trước đây, chúng tôi dựa vào một loạt điểm lượng tử và số liệu dự báo điểm để đánh giá các dự báo này. Gần đây, chúng tôi đã thử nghiệm các số liệu có tính đến toàn bộ phân phối được dự đoán. Trong bài viết này, chúng ta sẽ xem xét một số chỉ số này (Điểm nhật ký và CRPS) và sẽ kiểm tra các thuộc tính của chúng.
Giới thiệu: Dự báo điểm và Dự báo phân phối
Tại sao chúng ta cần dự báo? Tôi muốn nói một câu trả lời hay là hỗ trợ/tự động hóa việc ra quyết định trong điều kiện không chắc chắn. Sự không chắc chắn là từ khóa ở đây. Dự báo điểm, thường hiển thị Giá trị mong đợi (được ước tính theo giá trị trung bình) trong tương lai của chuỗi thời gian của chúng ta. Đối với bất kỳ phân phối liên tục nào, xác suất của một điểm duy nhất chỉ bằng 0, ngay cả đối với giá trị dự kiến. Vì vậy, những gì chúng tôi thực sự muốn nói bằng cách hiển thị dự báo điểm là “các giá trị sẽ ở xung quanh khu vực này”.
Nhưng xung quanh có nghĩa là gì? Điều gì sẽ xảy ra nếu diện tích của “xung quanh” này là rất lớn? Ví dụ: khi đại dịch COVID-19 bùng phát, khi chúng tôi thấy các dự đoán về tỷ lệ lấp đầy của ICU, bệnh viện địa phương của bạn nên làm gì? Lập kế hoạch cho công suất trung bình? Bạn có thể muốn được bảo hiểm cho trường hợp xấu nhất thực tế (ví dụ: 95% phân vị hàng đầu của phân phối dự báo). Hoặc trong trường hợp kiểm soát hàng tồn kho, bạn có thể muốn xác định lượng hàng tồn kho cần thiết để duy trì một mức độ dịch vụ cụ thể. Đây là nơi các dự báo phân phối (còn gọi là xác suất) đi vào bức tranh.
Dự báo phân phối cố gắng dự đoán phân phối của các giá trị được dự báo — trái ngược với một điểm duy nhất — và là thông lệ phổ biến trong các lĩnh vực như dự báo thời tiết và bệnh truyền nhiễm. Rất nhiều thuật toán dự báo thống kê phổ biến, theo một vài giả định (ví dụ: các lỗi độc lập và được phân phối giống hệt nhau và đến từ phân phối Chuẩn) có các công thức phân tích cho phân phối dự báo. Ngoài ra còn có các cách phi tham số để có được phân phối theo kinh nghiệm cho dự báo của bạn, ví dụ: bằng cách khởi động phần dư [1].
Để đánh giá hiệu suất của thuật toán dự báo, chúng tôi sử dụng một trong nhiều chiến lược xác thực chéo chuỗi thời gian và tính toán hiệu suất bằng cách sử dụng các dự đoán và giá trị thực tế cho mỗi lần.
Các số liệu dự đoán điểm đã được biết rõ và ưu và nhược điểm của từng số liệu vẫn là một chủ đề tranh luận sôi nổi đối với các học giả và các nhà thực hành.
Nhưng một số liệu tốt cho dự báo phân phối là gì? Chúng tôi sẽ không bao giờ quan sát toàn bộ phân phối của một bước thời gian được dự báo. Nếu chúng tôi có phân phối tạo ra các giá trị được quan sát, chúng tôi chỉ có thể sử dụng thứ gì đó như phân kỳ Kullback-Leibler để đo khoảng cách giữa 2 phân phối, dự đoán và thực tế. Thật không may, thực tế là chúng ta sẽ chỉ quan sát các giá trị điểm thực tế. Vì vậy, một số liệu tốt cho phép chúng tôi so sánh phân phối dự đoán của chúng tôi với một giá trị điểm là gì?
Quy tắc chấm điểm phù hợp
Quy tắc chấm điểm là số liệu để đánh giá chất lượng của dự báo phân phối dựa trên các giá trị thực tế của chuỗi thời gian. “Quy tắc chấm điểm là phù hợp nếu người dự báo tối đa hóa điểm số mong đợi cho một quan sát được rút ra từ phân phối F nếu họ đưa ra dự báo xác suất F, thay vì G≠F. Hoàn toàn đúng nếu giá trị lớn nhất là duy nhất.” [2].Vì vậy, nếu một người dự báo muốn đạt được số điểm cao nhất có thể, nếu quy tắc tính điểm hoàn toàn phù hợp, thì họ chỉ có thể làm như vậy bằng cách cung cấp phân phối tạo dữ liệu thực như dự báo của họ. Do đó, một quy tắc tính điểm hoàn toàn phù hợp sẽ khuyến khích các dự báo phân bổ trung thực. Đừng lo lắng nếu định nghĩa này có vẻ hơi trừu tượng vào lúc này, chúng tôi sẽ đưa ra một số ví dụ về ý nghĩa của điều này trong các thuật ngữ thực tế ở phần sau của bài viết này. Chúng tôi sẽ đề cập đến 2 quy tắc tính điểm phù hợp nghiêm ngặt, Điểm nhật ký và CRPS (Điểm xác suất xếp hạng liên tục).
Trong bài viết này, chúng tôi sẽ sử dụng quy ước rằng các giá trị nhỏ hơn của điểm số sẽ tốt hơn, do đó, trái với định nghĩa ở trên, mục tiêu của chúng tôi sẽ là giảm thiểu điểm số thay vì tối đa hóa nó. Chúng tôi làm điều này để đảm bảo tính nhất quán giữa các quy tắc tính điểm và hàm chi phí khác nhau.
Đối với phần còn lại của bài viết này, chúng tôi sẽ sử dụng phân phối nhị thức âm tương tự như [3] để chỉ ra cách chúng tôi có thể tái tạo kết quả từ bài báo bằng các phương pháp tính toán trong python. Để lấy mẫu từ các bản phân phối, chúng tôi sẽ sử dụng numpy và đối với một đối tượng phân phối thực tế, chúng tôi sẽ sử dụng các bản phân phối được đóng băng scipy .
Mã bên dưới tạo các đối tượng phân phối, mẫu và giá trị thực cho các ví dụ được hiển thị trong bài viết này.
Ghi điểm
Điểm log (LogS), được giới thiệu bởi IJ Good vào năm 1952 [4], là log của hàm mật độ xác suất (PDF) của phân phối dự đoán cho giá trị thực tức là LogS(F, y) = log(F(y ) ) , trong đó F là PDF của phân phối dự đoán và y là giá trị của quan sát. Bởi vì chúng tôi sử dụng quy ước rằng một giá trị nhỏ hơn sẽ tốt hơn cho tất cả các điểm, nên trong bài viết này, chúng tôi sẽ sử dụng -LogS.
Điểm nhật ký là số liệu được sử dụng trong cuộc thi sáng suốt của CDC đã được công nhận rộng rãi trong cộng đồng dự báo dịch tễ học.
Sử dụng phân phối cố định scipy, rất dễ dàng để tính điểm nhật ký trong python:log_score = -np.log(frozen_dist.pdf(y))
Biểu đồ bên dưới hiển thị điểm số (đường màu xanh lá cây) cho các giá trị thực tế khác nhau (trục x) cho cùng một phân phối (đường màu xanh lam):
Một vấn đề với Điểm nhật ký, cũng được nêu rõ trong [2] là nó không hoạt động tốt đối với các đường dẫn dự báo được lấy mẫu thay cho các hàm mật độ xác suất. Tuy nhiên, các đường dẫn được lấy mẫu là một cách tiếp cận rất phổ biến để phục vụ các dự báo phân phối. Dưới đây là nỗ lực làm cho điểm nhật ký hoạt động đối với các mẫu bằng cách sử dụng biểu đồ được chuẩn hóa bằng cách tạo nhóm các mẫu.
Bây giờ chúng ta hãy xem lại định nghĩa về quy tắc tính điểm phù hợp. Quy tắc chấm điểm là phù hợp nếu người dự báo tối thiểu hóa (vì chúng tôi áp dụng quy ước rằng các giá trị nhỏ hơn sẽ tốt hơn) điểm số dự kiến cho một quan sát được rút ra từ phân phối F nếu họ đưa ra dự báo xác suất F, thay vì G≠F. Như đã thảo luận ở trên, trong thực tế, chúng ta sẽ không bao giờ biết phân phối F tạo ra dữ liệu thực tế. Tuy nhiên, rất dễ dàng để chỉ ra tính chất này thông qua một thử nghiệm mô phỏng, nơi chúng ta có thể xác định trước F.
Thử nghiệm rất đơn giản, chúng tôi sẽ chọn một phân phối F và chúng tôi sẽ lấy mẫu một số lượng lớn các quan sát từ nó, đây sẽ là những thực tế được mô phỏng. Sau đó, chúng tôi sẽ tính Điểm nhật ký cho các bản phân phối với một loạt các tham số xung quanh bản phân phối F mà chúng tôi đã sử dụng để tạo dữ liệu. Nếu điểm thực sự là một quy tắc tính điểm phù hợp, thì trung bình của nó trên tất cả các quan sát mô phỏng (tức là kỳ vọng của nó) sẽ nhỏ hơn đối với các phân phối rất gần với F và cực tiểu tại F.
Để tạo dữ liệu, chúng tôi sử dụng Phân phối chuẩn với giá trị trung bình, μ = 0 và độ lệch chuẩn, σ = 3 và đối với các phân phối dự đoán ứng viên, chúng tôi sử dụng Phân phối chuẩn trong đó -1 ≤ μ ≤ 1 & 2 ≤ σ ≤ 4. Hình dưới đây cho thấy bản đồ nhiệt của Điểm nhật ký trong không gian tham số này. Màu đỏ biểu thị điểm thấp và màu xanh biểu thị điểm nhật ký cao. Từ bản đồ nhiệt, rõ ràng là các tham số của phân phối được dự đoán càng gần với phân phối tạo dữ liệu thì điểm số càng nhỏ, đó là kỳ vọng của chúng tôi từ thuộc tính tính điểm phù hợp.
Điểm xác suất xếp hạng liên tục (CRPS)
Lần đầu tiên tôi biết đến CRPS là bài nói chuyện này của prof. Rob Hyndman , khi anh ấy đang xem chi tiết mô hình dự báo COVID-19 mà anh ấy đã phát triển cho Úc. CRPS đã được James E. Matheson và Robert L. Winkler giới thiệu như một điểm thích hợp cho các bản phân phối liên tục vào năm 1976 [5].
CRPS dựa trên hàm phân phối tích lũy (CDF) trái ngược với hàm mật độ xác suất (PDF) được sử dụng trong điểm số nhật ký. Điều này làm cho nó phù hợp hơn với các trường hợp dự báo ở dạng mẫu vì chúng ta có thể sử dụng CDF theo kinh nghiệm. Nó được định nghĩa là:
Về mặt khái niệm, CRPS đang định lượng sự khác biệt của CDF phân phối dự đoán với CDF dự đoán “hoàn hảo”. Một dự báo phân phối hoàn hảo cho một giá trị nhất định của một quan sát thực tế về cơ bản là một dự báo điểm bằng với giá trị thực tế. CDF của một dự đoán hoàn hảo là một hàm bước đi từ 0 đến 1, với bước là giá trị thực. Các khu vực màu xám trong biểu đồ bên dưới hiển thị 2 khu vực được tính tổng để cung cấp CRPS:
Tuy nhiên, CRPS có một tài sản tốt đẹp khác. Nếu dự báo là dự đoán điểm, CRPS bằng với Sai số tuyệt đối trung bình (MAE). Một số hình học mầm non là đủ để hiểu tại sao, nhìn vào biểu đồ dưới đây:
Diện tích giữa 2 dự đoán về cơ bản là diện tích của hình bình hành được tạo thành. Chiều rộng là sự khác biệt tuyệt đối của dự đoán và thực tế, MAE và chiều cao là 1. Do đó, điểm CRPS cho dự đoán điểm chỉ là MAE. Chính thức hơn, với một số tính toán cấp trung học:
Tất nhiên, việc tính toán tích phân một cách giải tích cho một CDF theo kinh nghiệm là không thể. Nhưng đó không phải là vấn đề vì chúng ta có thể sử dụng các phương thức số như bẫy của numpy để tính toán nó theo cách được vector hóa trong python. Bằng cách sử dụng phát sóng và véc tơ hóa, chúng tôi có thể tính toán CRPS cho nhiều mẫu mà không cần vòng lặp for, do đó có thể dễ dàng tăng tốc ~10 lần trong các phép tính.
Để minh họa thuộc tính tính điểm phù hợp của CRPS, chúng ta có thể thực hiện thử nghiệm tương tự như với Điểm nhật ký ở trên. Kết quả như mong đợi, điểm trung bình được giảm thiểu cho các bản phân phối có tham số gần với bản phân phối tạo dữ liệu.
CRPS phụ thuộc vào quy mô của chuỗi thời gian. Nếu bạn muốn tổng hợp và so sánh CRPS một cách có ý nghĩa cho nhiều chuỗi thời gian, bạn sẽ cần phải chia tỷ lệ theo cách nào đó. Một chiến lược tốt là chia nó cho CRPS của dự báo chuẩn (ví dụ: dự báo ngây thơ) [1] [6]. Đối với tùy chọn chia tỷ lệ ít tốn kém hơn về mặt tính toán, tôi sẽ sử dụng hệ số tỷ lệ tương tự như trong MASE (Lỗi tỷ lệ tuyệt đối trung bình) [8], cụ thể là MAE của dự báo Naive một bước trong tập huấn luyện nhưng tôi có thể nói rằng điều này không mạnh bằng như phương pháp chia tỷ lệ trước đây.
Điểm nhạy cảm với khoảng cách địa phương VS
Điểm nhật ký và CRPS thuộc 2 loại quy tắc tính điểm khác nhau.
Điểm nhật ký là một quy tắc tính điểm cục bộ , nghĩa là giá trị của điểm cho một quan sát cụ thể chỉ phụ thuộc vào giá trị hàm mật độ xác suất cho giá trị của quan sát đó [7]. Điều này rõ ràng từ định nghĩa của điểm log, LogS( f , y ) = - log( f (y) ), trong đó f là PDF của phân phối dự đoán và f (y) là giá trị của PDF cho quan sát .
CRPS là một điểm số nhạy cảm với khoảng cách . Trong trường hợp các giá trị có xếp hạng có ý nghĩa (ví dụ: kho chứa 10 bàn chải đánh răng nhỏ hơn so với 20), chúng tôi thường muốn rằng quy tắc tính điểm của chúng tôi tính đến “khoảng cách” của phân phối được dự đoán từ giá trị được quan sát chứ không chỉ xác suất được giao. Để biết thêm chi tiết về định nghĩa quy tắc tính điểm theo khoảng cách, bạn nên xem phần 3 trong [6].
Để hiểu rõ sự khác biệt giữa 2 lớp, hãy xem xét trường hợp tầm thường trong đó chúng tôi cung cấp dự báo điểm thay vì dự báo phân phối. Giả sử rằng giá trị được quan sát là 101 và dự báo điểm là 100, trong trường hợp này, PDF của phân phối dự đoán f(x) là 1 nếu x = 100 và 0 nếu ngược lại. Điểm nhật ký cho dự báo này sẽ là -log(0) không xác định, bởi vì PDF cho bất kỳ giá trị nào khác 100 là 0 và CRPS sẽ là 1, đây có thể được coi là điểm tốt trong trường hợp này. Tùy thuộc vào trường hợp sử dụng của chúng tôi, chúng tôi muốn điểm số của mình hoạt động theo cách này hay cách khác nhưng để kiểm soát hàng tồn kho, điểm nhạy cảm với khoảng cách sẽ phù hợp hơn.
Sự khác biệt giữa 2 loại điểm cũng rất rõ ràng trong ví dụ bên dưới, nơi chúng tôi đang tính điểm cho phân phối hai phương thức đối xứng ( double Weibull ). Trong trường hợp này, PDF trên đường trung bình của phân phối sẽ rất gần bằng không. Do đó, CRPS được giảm thiểu nếu quan sát bằng với trung vị của phân phối dự đoán này và Điểm nhật ký được tối đa hóa, nghĩa là 2 điểm có sự khác biệt lớn gần với trung vị.
Để tất cả chúng cùng nhau!
Bây giờ là lúc để đưa các số liệu này vào hoạt động! Thật không may, không có thư viện nào đưa ra các bản phân phối bị đóng băng scipy dưới dạng dự báo phân phối (mặc dù phải thừa nhận rằng đó là một ý tưởng hay). Tuy nhiên, rất nhiều thư viện cung cấp các dự báo xác suất dưới dạng các đường dẫn tương lai được lấy mẫu.
Đối với bài viết này, chúng tôi sẽ sử dụng các mô hình thống kê và API chuỗi thời gian đã được thử nghiệm và thử nghiệm của chúng để cung cấp cho hầu hết các mô hình dự báo một phương pháp mô phỏng. Phương pháp này tạo ra nhiều đường dẫn tương lai mô phỏng. Chúng tôi sẽ sử dụng 2 mô hình ETS [9] để phù hợp với bộ dữ liệu loạt hành khách của hãng hàng không nổi tiếng. Đây là cách những con đường tương lai mô phỏng này trông như thế nào:
Mô hình tốt nhất cho chuỗi thời gian này (dựa trên Tiêu chí thông tin Akaike, AIC) là mô hình có sai số nhân, xu hướng cộng và thuật ngữ thời vụ nhân, ETS-MAM. Để tạo cho mô hình đó một số đối thủ cạnh tranh mà nó có thể dễ dàng đánh bại, chúng tôi sẽ so sánh nó với một mô hình ETS không có tính thời vụ, cụ thể là ETS-MMN. Chúng tôi sẽ sử dụng tập dữ liệu trong 12 tháng qua làm dữ liệu thử nghiệm để đánh giá hiệu suất ngoài mẫu của 2 mô hình. Đối với các dự báo phân phối của chúng tôi, chúng tôi sẽ sử dụng 10.000 đường dẫn trong tương lai được mô phỏng từ mỗi mô hình (tức là 10 nghìn mẫu cho mỗi bước thời gian được dự báo).
Và đây là kết quả:
Lưu ý rằng chúng tôi cũng có thể đo lường CRPS cho các dự báo điểm và không có gì ngạc nhiên khi nó xấp xỉ bằng MAE. Tất nhiên, dự báo điểm hoạt động kém hơn về mặt CRPS so với dự báo phân phối, nhưng CRPS tốt hơn cho dự báo điểm chính xác của mô hình theo mùa (ETS-MAM) so với dự báo phân phối của mô hình không theo mùa (ETS -MMN) vì đó là điểm số nhạy cảm với khoảng cách.
Một số nhận xét
Một cụm từ phổ biến trong số những người thực hành dự báo là "ngựa chiến", nghĩa là xếp hạng hiệu suất giữa các mô hình dự báo khác nhau phụ thuộc vào nhiều yếu tố, bao gồm cả chỉ số được sử dụng. Trong trường hợp của chúng tôi, chúng tôi muốn tìm số liệu phù hợp sẽ giúp chúng tôi chọn mô hình dự báo phân phối tốt nhất cho hệ thống kiểm soát hàng tồn kho của mình. Kourentze và cộng sự. [10] chứng minh rằng mối liên hệ giữa độ chính xác của dự báo và hiệu suất kiểm soát hàng tồn kho không đơn giản như chúng ta nghĩ. Trong bài báo, họ so sánh các mô hình liên quan đến số liệu dự báo điểm và hiệu suất kiểm soát hàng tồn kho trong mô phỏng. Kết quả cho thấy một số bất đồng rất thú vị!
Đây là lý do tại sao chúng tôi vẫn đang thử nghiệm các chỉ số này và ứng dụng của chúng cho các vấn đề kiểm soát hàng tồn kho của chúng tôi. Điều quan trọng đối với chúng tôi là xác định nơi xếp hạng hiệu suất không phù hợp với các số liệu khác, thuộc tính chung của chúng là gì và số liệu nào phù hợp nhất cho vấn đề của chúng tôi.
Để tìm hiểu thêm về cách chúng tôi sử dụng dự báo phân phối để kiểm soát hàng tồn kho, hãy xem bài trình bày này của Tiến sĩ Gueorgui Mihaylov, Nhà khoa học dữ liệu chính của Haleon về Chuỗi cung ứng và Tài chính trong hội nghị OR Society hàng năm .
Để tái tạo các thí nghiệm và đồ thị từ bài viết này, hãy kiểm tra sổ ghi chép này.
phần mềm liên quan
- chấm điểm phù hợp — Một thư viện python với các triển khai hiệu quả cho CRPS và Brier Score, tận dụng tê liệt để tăng tốc đáng kể. Thật không may, bản phát hành cuối cùng là vào năm 2015.
- scoreutils — Thư viện R với nhiều quy tắc tính điểm. Tôi cũng nhận thấy rằng một trong những tác giả của [3], Giáo sư Nicholas Reich , là một trong những người đóng góp cho thư viện này!
- ScoreRules — Thư viện R với các triển khai quy tắc tính điểm trong rcpp để có hiệu suất tốt hơn.
[1] Hyndman, RJ, & Athanasopoulos, G. (2021) Dự báo: nguyên tắc và thực hành, tái bản lần thứ 3, OTexts: Melbourne, Australia. OTexts.com/fpp3 . Truy cập ngày 10 tháng 10 năm 2022.
[2] Tilmann Gneiting & Adrian E Raftery (2007) Quy tắc chấm điểm, dự đoán và ước tính đúng đắn, Tạp chí của Hiệp hội Thống kê Hoa Kỳ, 102:477, 359–378, DOI: 10.1198/ 016214506000001437
[3] Bracher J, Ray EL, Gneiting T, Reich NG (2021) Đánh giá dự báo dịch bệnh theo định dạng khoảng thời gian. PLOS Sinh học tính toán 17(2): e1008618.https://doi.org/10.1371/journal.pcbi.1008618
[4] Tốt, IJ (1952), Những quyết định hợp lý. Tạp chí của Hiệp hội Thống kê Hoàng gia: Series B (Phương pháp luận), 14: 107–114.https://doi.org/10.1111/j.2517-6161.1952.tb00104.x
[5] Matheson, JE, & Winkler, RL (1976). Quy tắc chấm điểm cho phân phối xác suất liên tục. Khoa học quản lý , 22 (10), 1087–1096.http://www.jstor.org/stable/2629907
[6] Jose, VR, Nau, RF, & Winkler, RL (2009). Độ nhạy đối với Phân phối Khoảng cách và Đường cơ sở trong Đánh giá Dự báo. quản lý. Khoa học, 55, 582–590.
[7] Bernardo, JM (1979). Thông tin mong đợi như Tiện ích mong đợi. Biên niên sử thống kê, 7(3), 686–690.http://www.jstor.org/stable/2958753
[8] Hyndman, RJ, Koehler, AB (2006) Một cái nhìn khác về các thước đo độ chính xác của dự báo. Tạp chí Dự báo Quốc tế, Tập 22, Số 4, Trang 679–688, ISSN 0169–2070,https://doi.org/10.1016/j.ijforecast.2006.03.001.
[9] Hyndman, RJ, Koehler, AB, Ord, JK, & Snyder, RD (2008). Dự báo với làm mịn hàm mũ: Cách tiếp cận không gian trạng thái. Springer-Verlag.http://www.exponentialsmoothing.net
[10] Kourentzes, Nikolaos và Svetunkov, Ivan và Trapero, Juan R. (ngày 1 tháng 7 năm 2021) Kết nối hiệu suất dự báo và kiểm kê: một nhiệm vụ phức tạp. Có sẵn tại SSRN:https://ssrn.com/abstract=3878176hoặchttp://dx.doi.org/10.2139/ssrn.3878176

![Dù sao thì một danh sách được liên kết là gì? [Phần 1]](https://post.nghiatu.com/assets/images/m/max/724/1*Xokk6XOjWyIGCBujkJsCzQ.jpeg)



































