Opsio - Cloud and AI Solutions
Cloud6 min czytania· 1462 słów

Jaki procent dokładności prognozy jest dobry?

Johan Carlsson
Johan Carlsson

Country Manager, Szwecja

Opublikowano: ·Zaktualizowano:
Przetłumaczone z angielskiego i zweryfikowane przez zespół redakcyjny Opsio. Zobacz oryginał →

Nie istnieje jeden dobry procent dokładności prognozy. Dokładność, zwykle podawana jako 100% minus MAPE lub WAPE, zależy od poziomu, na którym mierzysz, od horyzontu czasowego i od zmienności popytu. Dobra prognoza pokonuje prostą prognozę naiwną i Twoją własną dotychczasową dokładność, na poziomie, na którym faktycznie podejmuje się decyzje.

Najważniejsze wnioski

  • Ta sama prognoza może uzyskać blisko 99% dla rodziny produktów w ujęciu miesięcznym i poniżej 80% dla pojedynczej pozycji w ujęciu tygodniowym. Zawsze podawaj poziom i horyzont razem z liczbą.
  • WAPE (suma bezwzględnych błędów podzielona przez sumę wartości rzeczywistych) to bezpieczniejsza podstawa procentu dokładności niż MAPE, który zawodzi przy niskiej lub zerowej sprzedaży.
  • Oceniaj dokładność względem punktu odniesienia: prognozy naiwnej, zeszłorocznej dokładności lub błędu, na jaki Cię stać przy danych czasach dostaw i zapasie bezpieczeństwa.
  • Śledź obciążenie (bias) osobno. Prognoza, która jest stale o 10% za wysoka, może wyglądać na „dokładną” średnio, a jednocześnie zapełniać magazyny.
  • Mierz na poziomie decyzji: tygodniowo na centrum dystrybucyjne przy uzupełnianiu zapasów, miesięcznie na rodzinę produktów przy mocach produkcyjnych, kwartalnie przy budżetach.

Czym jest dokładność prognozy?

Dokładność prognozy mówi, jak blisko wartości przewidywane są tego, co faktycznie się wydarzyło. Większość zespołów najpierw liczy błąd prognozy, a potem wyraża dokładność jako jego dopełnienie: jeśli błąd wynosi 15%, dokładność to 85%.

Kłopot w tym, że „błąd” można liczyć na kilka sposobów i każdy daje inny procent dla tej samej prognozy. Zanim porównasz swoją liczbę z cudzą, sprawdź, jakiego wzoru, jakiego poziomu agregacji i jakiego opóźnienia czasowego użyto.

Jak obliczyć dokładność prognozy?

To wzory, które spotkasz najczęściej. A to wartość rzeczywista, a F prognoza dla każdej pozycji i okresu.

MiaraWzórDobra doNa co uważać
MAPE (średni bezwzględny błąd procentowy)średnia z |A − F| ÷ APojedynczych szeregów o stałych, dużych wolumenachNieokreślona, gdy A wynosi zero; gwałtownie rośnie, gdy A jest małe
WAPE (ważony bezwzględny błąd procentowy)Σ|A − F| ÷ ΣAPortfeli o mieszanych wolumenach; najczęstsza podstawa „dokładności %”Dominują pozycje o dużym wolumenie, więc wolno rotujące mogą się ukryć
Bias (obciążenie)Σ(F − A) ÷ ΣAWychwytywania systematycznego zawyżania lub zaniżania prognozyBłędy dodatnie i ujemne się znoszą, więc nigdy nie używaj go samodzielnie
RMSE (pierwiastek ze średniego błędu kwadratowego)√ średniej z (A − F)²Gdy duże pomyłki są znacznie gorsze niż małeWyrażony w jednostkach, nie w procentach; wrażliwy na wartości odstające
MASE (średni bezwzględny błąd skalowany)MAE ÷ MAE prognozy naiwnejPorównań między szeregami; wbudowany punkt odniesieniaMniej intuicyjny dla odbiorców biznesowych

Dokładność prognozy w % to zwykle 100% − WAPE, z dolnym ograniczeniem do zera. Podręcznik prognozowania Hyndmana i Athanasopoulosa wyjaśnia, dlaczego błędy procentowe, takie jak MAPE, są „nieskończone lub nieokreślone”, gdy wartości rzeczywiste wynoszą zero, i skrajne, gdy są bliskie zera (Forecasting: Principles and Practice, rozdział 5.8). To główny powód, dla którego planiści popytu przechodzą z MAPE na WAPE. Dokumentacja prognozowania AWS opisuje WAPE tak samo i zauważa, że jest mniej wrażliwy na wartości odstające niż RMSE, ponieważ używa błędów bezwzględnych, a nie kwadratowych (Amazon Forecast accuracy metrics).

Przykład obliczeniowy: jedna prognoza, trzy liczby dokładności

Weźmy trzy produkty w jednym tygodniu (liczby poglądowe):

ProduktPrognozaRzeczywistośćBłąd bezwzględny
A, szybko rotujący1009010
B, średni507020
C, wolno rotujący1028
Razem16016238
  • Poziom ogółem: prognoza 160 wobec rzeczywistych 162. Błąd 1,2%, więc dokładność wynosi 98,8%.
  • Poziom pozycji, WAPE: 38 ÷ 162 = 23,5% błędu, więc dokładność wynosi 76,5%.
  • Poziom pozycji, MAPE: 11,1%, 28,6% i 400%, co daje średnio około 147% błędu. Dokładność jest bezsensowna wyłącznie dlatego, że produkt C sprzedał się w 2 sztukach.
  • Bias: (160 − 162) ÷ 162 = −1,2%, blisko neutralnego.

Między tymi wierszami nic się nie zmieniło w prognozie. Zmieniał się tylko pomiar. Dlatego dostawca deklarujący „95% dokładności” mówi bardzo niewiele, dopóki nie znasz poziomu, miary i horyzontu.

Jaki procent dokładności prognozy jest dobry?

Dobra liczba to taka, która jest lepsza od prostego punktu odniesienia i wystarczająca dla decyzji, którą wspiera. Publikowane „średnie branżowe” rzadko podają swój wzór lub poziom, więc traktuj je ostrożnie i zbuduj zamiast tego własną linię bazową.

Użyj trzech testów:

  1. Czy pokonuje prognozę naiwną? Prognoza naiwna po prostu powtarza ostatnią wartość lub, dla pozycji sezonowych, wartość z tego samego okresu rok wcześniej. Jeśli Twój model tego nie pokona, nie dodaje wartości. MASE czyni to jawnym: w definicji z podręcznika błąd skalowany poniżej jedności oznacza, że prognoza jest lepsza od naiwnej (FPP3).
  2. Czy poprawia się względem Twojej historii? Porównaj WAPE z tego kwartału z tym samym kwartałem rok wcześniej, na tym samym poziomie i przy tym samym opóźnieniu.
  3. Czy pozostały błąd jest do udźwignięcia? Przełóż błąd na zapas bezpieczeństwa, utraconą sprzedaż lub niewykorzystane moce. Jeśli obniżenie błędu o dwa punkty kosztuje więcej niż zaoszczędzony dodatkowy zapas, na tym poprzestań.

Przydatne sprawdzenie rzeczywistości z tego samego podręcznika: dla kwartalnej produkcji piwa w Australii zwykła sezonowa metoda naiwna daje MAPE 3,17%, co zostałoby podane jako około 97% dokładności. Gładkie, sezonowe szeregi są łatwe. Zmienne i przerywane nie, a niższy procent dla nich może nadal oznaczać lepszą prognozę.

Co podnosi lub obniża tę liczbę

CzynnikWpływ na dokładnośćCo zrobić
Poziom agregacjiWyższe poziomy (rodzina, region, miesiąc) dają znacznie wyższe wynikiRaportuj dokładność na poziomie, na którym zapadają decyzje o zamówieniach i mocach
WolumenPozycje o niskim wolumenie i przerywane mają niskie wynikiSegmentuj pozycje (np. ABC/XYZ) i ustal osobne cele
Horyzont i opóźnieniePrognozy z większym wyprzedzeniem są mniej dokładneMierz przy opóźnieniu odpowiadającym czasowi dostawy u dostawcy
Wiek produktuNowe produkty nie mają historiiUżyj produktów analogicznych lub oceny eksperckiej i śledź je osobno
Promocje, pogoda, wydarzeniaSkoki, o których model nie wiedziałPodawaj znane wydarzenia jako dane wejściowe; przeglądaj ręczne korekty po fakcie

Jak poprawić dokładność prognozy

  • Oczyść historię. Przed trenowaniem usuń okresy braków towaru (zerowa sprzedaż, bo półki były puste), duplikaty i jednorazowe zamówienia.
  • Zacznij prosto. Sezonowy model naiwny lub wygładzanie wykładnicze to uczciwa linia bazowa i łatwo ją wyjaśnić. Dodawaj złożoność tylko wtedy, gdy pokonuje linię bazową w backtestach.
  • Stosuj backtesting. Oceniaj modele na okresach, których nie widziały, najlepiej z walidacją krzyżową z kroczącym początkiem (rolling-origin), a nie na danych, do których je dopasowano.
  • Dodaj czynniki, które faktycznie znasz z wyprzedzeniem: zmiany cen, promocje, święta, krótkoterminową pogodę dla towarów sezonowych.
  • Mierz wartość ręcznych korekt. Porównaj prognozę statystyczną ze skorygowaną. Korekty sprzedaży i planistów często dodają obciążenie.
  • Uzgodnij jedną liczbę między funkcjami. Sprzedaż, marketing, operacje i finanse powinny przeglądać tę samą prognozę, ze znanymi założeniami, w ustalonym rytmie.
  • Zaplanuj błąd, którego nie da się usunąć. Czasem krótsze czasy dostaw, mniejsze partie lub elastyczne moce opłacają się bardziej niż kolejny model.

Uczenie maszynowe i chmurowe narzędzia prognostyczne

Modele uczenia maszynowego pomagają najbardziej, gdy masz wiele powiązanych szeregów i użyteczne czynniki zewnętrzne, na przykład tysiące SKU w wielu sklepach. Mniej pomagają przy krótkich, rzadkich historiach. W AWS pamiętaj, że Amazon Forecast nie jest już dostępny dla nowych klientów (dokumentacja AWS). Nowe projekty zwykle używają SageMaker lub bibliotek open source, z tymi samymi miarami dokładności opisanymi wyżej. Niezależnie od narzędzia zachowaj w raportach naiwną linię bazową, abyś widział, co model dodaje.

Jak pomaga Opsio

Zespoły Opsio ds. doradztwa w analityce predykcyjnej i analityki danych i BI pomagają organizacjom zbudować potoki danych, backtesting i dashboardy stojące za wiarygodną liczbą dokładności. Gdy modele trafiają na produkcję, nasza praktyka MLOps zajmuje się ponownym trenowaniem, monitoringiem i alertami o dryfie w chmurze. Szerszy obraz różnic między ML a innymi dyscyplinami AI znajdziesz w artykule computer vision vs machine learning.

Najczęściej zadawane pytania

Czy 80% dokładności prognozy to dobry wynik?

To zależy od poziomu. Na poziomie pozycji w ujęciu tygodniowym dla mieszanego asortymentu detalicznego 80% (100% − WAPE) może być mocnym wynikiem. Na poziomie całej firmy w ujęciu miesięcznym zwykle byłby słaby. Zanim zdecydujesz, porównaj go z prognozą naiwną na tym samym poziomie.

Jak obliczyć dokładność prognozy w Excelu?

Wpisz wartości rzeczywiste w kolumnie A, a prognozy w kolumnie B. Oblicz błąd bezwzględny dla każdego wiersza wzorem =ABS(A2-B2) (w polskiej wersji Excela =MODUŁ.LICZBY(A2-B2)). Następnie dokładność = 1 − SUMA(błędów bezwzględnych) ÷ SUMA(wartości rzeczywistych), czyli 1 − WAPE. Sformatuj wynik jako procent, a wartości ujemne ogranicz do zera.

Jaka jest różnica między dokładnością prognozy a obciążeniem prognozy?

Dokładność mierzy wielkość błędów niezależnie od kierunku. Obciążenie (bias) mierzy ich kierunek: czy średnio prognozujesz za wysoko, czy za nisko. Potrzebujesz obu, ponieważ błędy w przeciwnych kierunkach znoszą się w biasie.

Dlaczego mój MAPE jest tak wysoki, skoro prognoza wygląda dobrze?

Zwykle dlatego, że niektóre pozycje mają bardzo małe wartości rzeczywiste. Pomyłka o 8 sztuk przy pozycji, która sprzedała się w 2 sztukach, to błąd 400%, który podbija średnią. Przejdź na WAPE lub MASE albo wydziel wolno rotujące pozycje.

Czy dokładność prognozy może być ujemna?

Matematycznie 1 − MAPE lub 1 − WAPE może spaść poniżej zera, gdy błędy przekraczają wartości rzeczywiste. Większość zespołów ogranicza wynik do 0% i patrzy zamiast tego na bazowy błąd.

Autor

Johan Carlsson
Johan Carlsson

Country Manager, Szwecja

Johan kieruje działalnością Opsio w Szwecji, prowadząc wdrażanie AI, transformację DevOps, strategię bezpieczeństwa i rozwiązania chmurowe dla nordyckich przedsiębiorstw. Dzięki ponad 12-letniemu doświadczeniu w infrastrukturze chmurowej dostarczył ponad 200 projektów na AWS, Azure i GCP — specjalizując się w przeglądach Well-Architected, projektowaniu landing zones i strategii multi-cloud.

Zasady redakcyjne: Artykuł napisał wskazany powyżej specjalista od chmury. Aktualizujemy go, gdy zmienia się opisywana technologia lub regulacja; daty na tej stronie pokazują ostatnią aktualizację. Opsio zachowuje niezależność redakcyjną.