Predikce zásob pomocí AI

4. Referenční modely vs DeepLearning

Proč začít u klasických ML modelů

  • Rychlý reality-check – Základní algoritmy se trénují v řádu minut a okamžitě odhalí, zda v datech není zásadní problém (chybný kalendář, duplikované řádky apod.).
  • Referenční laťka – Jakmile známe výkon lineární regrese či rozhodovacího stromu, můžeme přesně vyčíslit, o kolik se musí zlepšit deep-learning, aby jeho nasazení dávalo ekonomický smysl.
  • Transparentnost – Jednodušší modely se lépe vysvětlují; pomáhají porozumět vztahu mezi vstupy a výstupy ještě před nasazením komplexnější architektury.
Referenční modelyJak fungují
LR – Linear RegressionUmí zachytit jednoduchý rostoucí / klesající trend. Jakmile jsou data složitější, rychle ztrácí přesnost.
DT – Decision TreeUmí složitější křivky a nelinearity, ale pokud strom nechám růst moc hluboko, začne být přetrénovaný - opakuje se.
FR – Random ForestZprůměruje chyby jednotlivých stromů → stabilnější než jeden strom, ovšem náročnější na paměť a pomalejší při velkém počtu položek.
XGB – XGBoost RegressorČasto nejlepší z klasických ML – umí zachytit složité vztahy i bez složitého ručního ladění.
GBR – Gradient Boosting RegressorHodí se jako levné srovnání: když selže i on, data jsou opravdu náročná.

Jak vypadá vizualizace 4 položek, predikce na 12 měsíců?


Deep-learningové architektury, které jsem nasadil?

Pro porovnání jsem vytvořil 3 základní DL modely. Ve všech případech se jedná o AI modely pro časové řady, jestliže referenční modely patřili k tomu jednoduššímu, tak tyto patří k tomu komplexnějšímu. 

DL algoritmusJak fungujeVýhody/nevýhody
DeepAR
(autoregresivní LSTM)
Učí se z podobných položek, při predikci generuje celé pravděpodobnostní rozmezí poptávky ⇒ vidíme optimistický i pesimistický scénář prodejůNovinky, long-tail, při spoustě nul a extrémů má tendenci křivku „vyhlazovat“.
TFT
(Temporal Fusion Transformer)
Výborný na komplexní scénáře, sám si vybere, která informace je důležitá, umí výběr vysvětlit.Komplexní datové sady s mnoha externími signály, potřebuje hodně dat, trénink je časově náročný.
N-HiTS
(Hierarchical Interpolation)
Rozloží sérii na víc časových hladin (roky / měsíce / týdny), na každé vrství vlastní malou síť — nakonec je složí zpět.Dlouhé predikční horizonty a potřeba rychlých výpočtů, vyžaduje pravidelný časový krok.

Proč tyto komlexní modely?

  • Vytěží jemné i dlouhé sezónní vzorce a promo efekty, které klasická ML přehlédne.
  • Sdílejí znalost napříč sortimentem — pomáhají novinkám i položkám s krátkou historií.
  • Vracejí interval nejistoty, takže nákupčí dostává doporučení „kolik objednat v optimistickém a pesimistickém scénáři“.


Jak vypadá vizualizace 4 položek, predikce na 12 měsíců u DL modelů?


Výsledky

Testování jsem prováděl pouze při scénáři 1, tedy validace i trénink probíhala na stejném datasetu. Použil jsem 5000 položek zboží, pouze s plnou historií 36 měsíců. 
Klasické modely dávají prvotní orientaci, ale ani ty nejlepší z nich se nepřibližují cílové přesnosti. Deep-learning přináší skokové zlepšení — už v základní konfiguraci snižuje chybu na polovinu či třetinu. To je rozhodující signál, že má smysl investovat čas do ladění featur, hyper-parametrů a produkčního nasazení.

Metriky porovnávající ML a DL modely. Pokročilé metriky pro validaci jsem začal používat až později.

ML - referenční modely
MetrikaWAPERMSEMAPE
GBR0.4259124.9833173.599275.8702
FR0.3444133.5684157.6839217.063
DT0.2529142.5767165.8517212.5132
XGB0.2153146.125168.5045266.1286
LR0.0745158.6966200.3072477.9817
DeepLearning modely
MetrikaWAPERMSEMAPE
DeepAR0.84753.61562.8242188.5804
TFT0.390130.2255125.4162141.6336
NHiTS0.432206.9327121.0321382.6455


Test číslo 2 - Encoder vs Decoder

V předchozí fázi jsem si ověřil, že hlubší (DL) architektury skutečně výrazně převyšují klasické ML. Než jsem se pustil do ladění parametrů typu loss, optimizer nebo drop-out (které zde nebudu rozebírat), je nutné dobře porozumět architektuře encoder–decoder, která v modelech pro časové řady je klíčovou komponentou a určuje, kolik minulosti model „čte“ a jak dlouho do budoucna predikuje.

 

Encoder: Říká, jak dlouhý úsek minulosti model použije pro vytvoření jedné konkrétní předpovědi. Analogie nákupčího, který se dívá např. na posledních 12 měsíců historie.

Decoder: Pohled do budoucnosti – na základě informací od encoderu vygeneruje predikce. 

 

Architektura ale na rozdíl od nákupčího vytvoří při tréninku několik predikcí (klouzavá okna) pro každé zboží. Mám-li 36 měsíců historie, chci aby se model koukal na posledních 18 měsíců a predikoval 3 měsíce,  pak při tréninku se vytvoří 18 klouzavých oken nad těmito měsíci:

EncoderDecoder
0-1819-21
1-1920-22
......
17-3536-38

Tříletá historie tak vytváří 18 tréninkových scénářů pro každou položku; model vidí všechny možné přechody (zima → jaro, vánoce → leden apod.).

Hlavní rozdíl a vliv na chování modelu:
Jaký je rozdíl při nastavení délky encoderu 18 a 30 měsíců? Klíčový rozdíl je v tom, jaké typy vzorců se model naučí a na co bude klást důraz. Je to klasický kompromis mezi flexibilitou a stabilitou.

Encoder_length = 18Encoder_length = 30
Lepší adaptace na změny: Model rychleji zareaguje, na náhlé změny na trhu (trend, promo)Dobrý v dlouhodobé sezónnosti: Lépe rozpozná opakující se vzorce a pomalé dlouhodobé trendy.
Více tréninkových oken: Rychlejší učení, menší riziko přetrénování u položek s krátkou historií.Stabilnější predikce: Robustnější k výkyvům v posledních měsících
Nižší paměťové a časové nároky: rychlejší inference.Méně tréninkových oken: Delší trénink, vyšší riziko přetrénování, pokud dat není dost.
Hůře vidí sezónní cykly: Model nemusí plně pochopit vzorce, které se opakují ve víceletých cyklech.Pomalejší reakce na změny: trvá déle se adaptovat na náhlé změny na trhu (trendy, proma)
Sezónní paměť: Větší riziko, že vánoční špičku z minulosti úplně „zapomene“.Vyšší paměťové a časové nároky

Jak tedy vybrat?

Neexistuje univerzálně nejlepší volba. V praxi jsem testoval 12 / 18 / 24 / 30 měsíců a jako nejvyváženější se ukázal encoder = 18 měsíců, decoder = 3 měsíce. Ten nabízí dost historie, přitom generuje velký počet tréninkových oken a dobře reaguje na krátkodobé změny trhu.