Megosztás a következőn keresztül:


Az AutoML előrejelzési módszereinek áttekintése

Ez a cikk azokat a módszereket ismerteti, amelyeket az AutoML az idősoradatok előkészítéséhez és az előrejelzési modellek létrehozásához használ. Az AutoML-ben a betanítási előrejelzési modellekre vonatkozó utasításokat és példákat a beállított AutoML idősor-előrejelzési cikkünkben találja.

Az AutoML számos módszert használ az idősor értékeinek előrejelzésére. Ezek a módszerek nagyjából két kategóriába sorolhatók:

  1. Idősorozat-modellek, amelyek a célmennyiség előzményértékeit használják előrejelzések készítésére a jövőbe.
  2. Regressziós vagy magyarázó modellek, amelyek prediktorváltozókat használnak a célértékek előrejelzéséhez.

Vegyük például azt a problémát, hogy egy élelmiszerboltból származó narancslé egy adott márkája napi keresletét kell előrejelezni. A $y_t$ képviselje a márka iránti keresletet a $t$ napján. Az idősorozat-modell előrejelzi a keresletet $t+1$ időpontban a korábbi igények valamilyen funkciójának használatával,

$y_{t+1} = f(y_t, y_{t-1}, \ldots, y_{t-s})$.

A $f$ függvény gyakran olyan paraméterekkel rendelkezik, amelyeket a múltban megfigyelt igények alapján hangolunk. A $f$ által az előrejelzések készítéséhez használt előzménymennyiség ($s$) a modell paraméterének is tekinthető.

A narancslé-igény példában szereplő idősorozat-modell nem biztos, hogy elég pontos, mivel csak a múltbeli keresletre vonatkozó információkat használja. Számos más tényező is befolyásolhatja a jövőbeli keresletet, például az árat, a hét napját, és azt, hogy ünnepről van-e szó. Vegyünk egy regressziós modellt , amely ezeket a prediktorváltozókat használja,

$y = g(\text{price}, \text{day of week}, \text{holiday})$.

A $g$ általában számos paraméterrel rendelkezik, beleértve a szabályzást szabályozó paramétereket is, amelyeket az AutoML az igény és a prediktorok múltbeli értékeit használva hangol. Kihagyjuk a $t$ kifejezést, hogy hangsúlyozzuk, hogy a regressziós modell korrelációs mintákat használ az egyidejűleg definiált változók között az előrejelzések létrehozásához. Vagyis a $y_{t+1}$ $g$-ból való előrejelzéséhez tudnunk kell, hogy a hét melyik napja $t+1$ esik, hogy ünnepről van-e szó, és a narancslé ára $t+1$. Az első két információ mindig könnyen megtalálható egy naptárban. A kiskereskedelmi árat általában előre állítják be, így a narancslé ára valószínűleg egy nappal előre is ismert. Azonban az ár nem ismert 10 nap a jövőben! Fontos tisztában lenni azzal, hogy ennek a regressziónak a hasznosságát korlátozza, hogy milyen messze van szükségünk az előrejelzésekre, más néven az előrejelzési horizontra, és hogy milyen mértékben ismerjük az előrejelzők jövőbeli értékeit.

Fontos

Az AutoML előrejelzési regressziós modelljei feltételezik, hogy a felhasználó által biztosított összes funkció ismert a jövőben, legalábbis az előrejelzési horizontig.

Az AutoML előrejelzési regressziós modelljei kiegészíthetők a cél és a prediktorok előzményértékeinek használatára is. Az eredmény egy hibrid modell, amely egy idősoros modell jellemzőivel és egy tiszta regressziós modellel rendelkezik. Az előzménymennyiségek további prediktorváltozók a regresszióban, és hanyatlott mennyiségként hivatkozunk rájuk. A késés sorrendje azt jelenti, hogy az érték milyen messze van ismert. Például a narancslé-keresleti példánk célértékének két megrendelési késésének aktuális értéke a két nappal ezelőtti megfigyelt gyümölcslé-kereslet.

Az idősormodellek és a regressziós modellek között egy másik jelentős különbség az előrejelzések létrehozásának módja. Az idősorozat-modelleket általában a rekurziós kapcsolatok határozzák meg, és egyenként készítenek előrejelzéseket. Ha több időszakot szeretne előrejelzni a jövőbe, iterálják az előrejelzési horizontot, és a korábbi előrejelzéseket visszatáplálják a modellbe, hogy szükség szerint létrehozzák a következő, egy időszakot megelőző előrejelzést. Ezzel szemben a regressziós modellek úgynevezett közvetlen előrejelzési modellek , amelyek egyetlen lépésben generálják az összes előrejelzést a horizontig. A közvetlen előrejelzők előnyösebbek lehetnek a rekurzívaknál, mivel a rekurzív modellek összetett előrejelzési hibát okoznak, amikor a korábbi előrejelzéseket visszatáplálódnak a modellbe. Ha a késési funkciók szerepelnek, az AutoML fontos módosításokat végez a betanítási adatokon, hogy a regressziós modellek közvetlen előrejelzési modellként működhessenek. További részletekért tekintse meg a késési funkciókról szóló cikket .

Modellek előrejelzése az AutoML-ben

Az alábbi táblázat az AutoML-ben implementált előrejelzési modelleket és azok kategóriát sorolja fel:

Idősorozat-modellek Regressziós modellek
Naív, szezonális naiv, átlag, szezonális átlag, ARIMA(X), exponenciális simítás Lineáris SGD, LARS LASSO, Elastic Net, Próféta, K legközelebbi szomszédok, Döntési fa, Véletlenszerű erdő, Rendkívül randomizált fák, Színátmenet kiemelt fák, LightGBM, XGBoost, TCNForecaster

Az egyes kategóriák modelljei nagyjából a beépíthető minták összetettsége, más néven a modellkapacitás alapján vannak felsorolva. Egy naiv modell, amely egyszerűen az utolsó megfigyelt értéket előrejelzési, alacsony kapacitással rendelkezik, míg a temporális konvolúciós hálózat (TCNForecaster) egy mély neurális hálózat, amely több millió halhatatlan paraméterrel rendelkezik, nagy kapacitással rendelkezik.

Fontos, hogy az AutoML olyan együttes modelleket is tartalmaz, amelyek a legjobban teljesítő modellek súlyozott kombinációit hozzák létre a pontosság további javítása érdekében. Az előrejelzéshez egy puha szavazó együttest használunk, ahol a caruanai együttes kiválasztási algoritmusán keresztül találjuk meg a kompozíciókat és a súlyokat.

Megjegyzés:

Az előrejelzési modell együtteseinek két fontos kifogása van:

  1. A TCN jelenleg nem vehető fel az együttesek közé.
  2. Az AutoML alapértelmezés szerint letilt egy másik együttesmetódust, a verem-együttest, amely az AutoML alapértelmezett regressziós és besorolási feladatai közé tartozik. A verem-együttes a legjobb modell-előrejelzésekhez illeszkedik egy metamodellhez az együttes súlyainak megkereséséhez. A belső teljesítményértékelés során megállapítottuk, hogy ez a stratégia egyre inkább hajlamos az idősoradatok megfelelőségére. Ez gyenge általánosítást eredményezhet, ezért a verem-együttes alapértelmezés szerint le van tiltva. Az AutoML-konfigurációban azonban szükség esetén engedélyezhető.

Hogyan használja az AutoML az adatokat?

Az AutoML táblázatos, "széles" formátumú idősoradatokat fogad el; vagyis minden változónak saját megfelelő oszloppal kell rendelkeznie. Az AutoML megköveteli, hogy az egyik oszlop legyen az előrejelzési probléma időtengelye. Ennek az oszlopnak dátum/idő típusba kell elemezhetőnek lennie. A legegyszerűbb idősor adatkészlete egy időoszlopból és egy numerikus céloszlopból áll. A cél az a változó, amelyet előre szeretne jelezni a jövőbe. Az alábbi példa a formátumra ebben az egyszerű esetben:

timestamp mennyiség
2012-01-01 100
2012-01-02 97
2012-01-03 106
... ...
2013-12-31 347

Összetettebb esetekben az adatok az időindexhez igazított egyéb oszlopokat is tartalmazhatnak.

timestamp SKU price Hirdetett mennyiség
2012-01-01 JUICE1 3,5 0 100
2012-01-01 KENYÉR3 5.76 0 47
2012-01-02 JUICE1 3,5 0 97
2012-01-02 KENYÉR3 5,5 1 68
... ... ... ... ...
2013-12-31 JUICE1 3.75 0 347
2013-12-31 KENYÉR3 5.7 0 94

Ebben a példában egy termékváltozat, egy kiskereskedelmi ár és egy jelző látható, amely azt jelzi, hogy az időbélyeg és a célmennyiség mellett meghirdettek-e egy tételt. Ebben az adatkészletben nyilvánvalóan két sorozat található : egy a JUICE1 termékváltozathoz és egy a BREAD3 termékváltozathoz; az SKU oszlop egy idősor-azonosító oszlop , mivel az alapján történő csoportosítás két olyan csoportot biztosít, amelyek mindegyike egyetlen sorozatot tartalmaz. A modellek átsöprése előtt az AutoML elvégzi a bemeneti konfiguráció és az adatok alapszintű ellenőrzését, és mérnöki funkciókat ad hozzá.

Adathosszra vonatkozó követelmények

Az előrejelzési modell betanításához elegendő mennyiségű előzményadattal kell rendelkeznie. Ez a küszöbérték a betanítási konfigurációtól függően változik. Ha érvényesítési adatokat adott meg, az idősoronként szükséges betanítási megfigyelések minimális számát a következő adja meg:

$T_{\text{user validation}} = H + \text{max}(l_{\text{max}}, s_{\text{window}}) + 1$,

ahol $H$ az előrejelzési horizont, a $l_{\text{max}}$ a maximális késési sorrend, a $s_{\text{window}}$ pedig az összesítési funkciók ablakmérete. Keresztérvényesítés használata esetén a megfigyelések minimális száma:

$T_{\text{CV}} = 2H + (n_{\text{CV}} – 1) n_{\text{step}} + \text{max}(l_{\text{max}}, s_{\text{window}}) + 1$,

ahol $n_{\text{CV}}$ a keresztérvényesítési hajtások száma, és $n_{\text{step}}$ a CV lépés mérete, vagy eltolás a CV-redők között. A képletek mögött az alapvető logika az, hogy minden egyes idősorhoz legalább betanítási megfigyelési horizontot kell használnia, beleértve a késések és keresztérvényesítési felosztások néhány kitöltését is. Az előrejelzés keresztérvényesítésével kapcsolatos további részletekért tekintse meg az előrejelzési modell kiválasztását .

Hiányzó adatkezelés

Az AutoML idősorozat-modelljeinek rendszeres térbeli megfigyeléseket kell végeznie időben. A rendszeresen elosztott, itt olyan eseteket is tartalmaz, mint a havi vagy éves megfigyelések, ahol a megfigyelések közötti napok száma eltérő lehet. A modellezés előtt az AutoML-nek gondoskodnia kell arról, hogy ne legyenek hiányzó adatsorértékek , és hogy a megfigyelések szabályosak legyenek. Ezért két hiányzó adateset van:

  • Hiányzik egy érték a táblázatos adatok egy cellából
  • Hiányzik egy sor , amely megfelel egy várt megfigyelésnek az idősor gyakorisága alapján

Az első esetben az AutoML a hiányzó értékeket a gyakori, konfigurálható technikákkal imputálta.

A következő táblázatban egy példa látható egy hiányzó, várt sorra:

timestamp mennyiség
2012-01-01 100
2012-01-03 106
2012-01-04 103
... ...
2013-12-31 347

Ez a sorozat látszólag napi gyakorisággal rendelkezik, de 2012. január 2-ra vonatkozóan nincs megfigyelés. Ebben az esetben az AutoML 2012. január 2-i új sor hozzáadásával megkísérli kitölteni az adatokat. Az oszlop új értéke quantity és az adatok bármely más oszlopa a többi hiányzó értékhez hasonlóan lesz számon kérve. Nyilvánvaló, hogy az AutoML-nek ismernie kell a sorozat gyakoriságát az ilyen megfigyelési rések kitöltéséhez. Az AutoML automatikusan észleli ezt a gyakoriságot, vagy opcionálisan a felhasználó is megadhatja a konfigurációban.

A hiányzó értékek kitöltésének számítási módszere konfigurálható a bemenetben. Az alapértelmezett metódusok a következő táblázatban találhatók:

Oszloptípus Alapértelmezett számítási módszer
Target Előretöltés (utolsó elvégzett megfigyelés)
Numerikus funkció Mediánérték

A kategorikus funkciók hiányzó értékeit a numerikus kódolás során kezeli a rendszer egy hiányzó értéknek megfelelő további kategória beiktatásával. Ebben az esetben a számítás implicit.

Automatizált funkciófejlesztés

Az AutoML általában új oszlopokat ad hozzá a felhasználói adatokhoz a modellezés pontosságának növelése érdekében. A megtervezett funkció a következőket tartalmazhatja:

Szolgáltatáscsoport Alapértelmezett/Nem kötelező
Az időindexből származtatott naptárfunkciók (például a hét napja) Alapértelmezett
Idősorazonosítókból származtatott kategorikus funkciók Alapértelmezett
Kategorikus típusok kódolása numerikus típusra Alapértelmezett
Egy adott országhoz vagy régióhoz társított ünnepnapok mutatófunkciói Választható
A célmennyiség késése Választható
Funkcióoszlopok késése Választható
A célmennyiség gördülőablak-összesítése (például gördülő átlag) Választható
Szezonális felbontás (STL) Választható

A featurizációt az AutoML SDK-ból az ForecastingJob osztályon vagy az Azure Machine Tanulás Studio webes felületén konfigurálhatja.

Nem helyhez kötött idősorok észlelése és kezelése

Az idősor, ahol a középérték és az idő függvényében változik, nem helyhez kötöttnek nevezzük. A sztochasztikus trendeket megjelenítő idősorok például természet szerint nem helyhez kötöttek. Ennek vizualizációja érdekében az alábbi kép egy általában felfelé növekvő sorozatot ábrázol. Most számítsa ki és hasonlítsa össze az adatsor első és második felének átlagértékét. Ugyanazok? Itt a sorozat középértéke a diagram első felében jelentősen kisebb, mint a második felében. Az a tény, hogy az adatsor átlaga az adott időintervallumtól függ, az idő függvényében változó pillanatok példája. Itt, a középérték egy sorozat az első pillanat.

Diagram showing retail sales for a non-stationary time series.

Ezután vizsgáljuk meg a következő képet, amely az eredeti sorozatot ábrázolja az első különbségekben: $\Delta y_{t} = y_t - y_{t-1}$. Az adatsor középértéke nagyjából állandó az időtartományban, míg a variancia változónak tűnik. Így ez egy példa egy elsőrendű helyhez kötött idősorra.

Diagram showing retail sales for a weakly stationary time series.

Az AutoML regressziós modelljei nem képesek eredendően kezelni a sztochasztikus trendeket, illetve a nem helyhez kötött idősorokhoz kapcsolódó egyéb jól ismert problémákat. Ennek eredményeképpen a mintaalapú előrejelzés pontossága gyenge lehet, ha ilyen trendek vannak jelen.

Az AutoML automatikusan elemzi az idősor adatkészletét az állomáshelyesség meghatározásához. A nem helyhez kötött idősorok észlelésekor az AutoML automatikusan alkalmaz különbség-átalakítást a nem helyhez kötött viselkedés hatásának mérséklése érdekében.

Modellsöprés

Az adatok hiányzó adatkezeléssel és funkciófejlesztéssel való előkészítése után az AutoML egy modelljavaslat-szolgáltatás használatával átvizsgálja a modelleket és hiperparamétereket. A modellek rangsorolása érvényesítési vagy keresztérvényesítési metrikák alapján történik, majd igény szerint a felső modellek használhatók egy együttes modellben. A legjobb modell vagy a betanított modellek bármelyike megvizsgálható, letölthető vagy üzembe helyezhető, hogy szükség szerint előrejelzéseket készítsen. További részletekért tekintse meg a modell takarítását és kiválasztását ismertető cikket.

Modell csoportosítása

Ha egy adathalmaz több idősort is tartalmaz, mint az adott adat példában, az adatok modellezésének több módja is van. Előfordulhat például, hogy egyszerűen csoportosítjuk az idősor-azonosító oszlop(ok) alapján, és betanítottunk független modelleket az egyes sorozatokhoz. Általánosabb módszer az adatok olyan csoportokba való particionálása, amelyek mindegyike több, valószínűleg kapcsolódó sorozatot tartalmazhat, és csoportonként betanít egy modellt. Az AutoML-előrejelzés alapértelmezés szerint vegyes megközelítést használ a modell csoportosításához. Az idősorozat-modellek, valamint az ARIMAX és a Prophet egy sorozatot rendelnek egy csoporthoz, a többi regressziós modell pedig az összes sorozatot egyetlen csoporthoz rendeli. Az alábbi táblázat két kategóriában foglalja össze a modellcsoportokat: egy az egyhez és több az egyhez:

Minden sorozat saját csoportban (1:1) Minden sorozat egy csoportban (N:1)
Naív, szezonális naiv, átlag, szezonális átlag, exponenciális simítás, ARIMA, ARIMAX, Próféta Lineáris SGD, LARS LASSO, Elastic Net, K legközelebbi szomszédok, Döntési fa, Véletlenszerű erdő, Rendkívül randomizált fák, Színátmenet kiemelt fák, LightGBM, XGBoost, TCNForecaster

Az AutoML többmodelles megoldásán keresztül általánosabb modellcsoportozások is lehetségesek; tekintse meg a Számos modell – Automatizált gépi tanulási jegyzetfüzetet.

További lépések