Idősor anomáliadetektálása
Fontos
A (klasszikus) Machine Learning Studio támogatása 2024. augusztus 31-én megszűnik. Javasoljuk, hogy addig térjen át az Azure Machine Learning használatára.
2021. december 1-től kezdve nem fog tudni létrehozni új (klasszikus) Machine Learning Studio-erőforrásokat. 2024. augusztus 31-ig továbbra is használhatja a meglévő (klasszikus) Machine Learning Studio-erőforrásokat.
- A gépi tanulási projektek ML Studióból (klasszikus) Azure Machine Learning való áthelyezéséről olvashat.
- További információ a Azure Machine Learning.
A (klasszikus) ML Studio dokumentációjának kivezetése folyamatban van, és a jövőben nem várható a frissítése.
Észleli a bemeneti idősor adatainak rendellenességeit.
Kategória: Idősorozat
Megjegyzés
Csak a következőre vonatkozik: Machine Learning Studio (klasszikus)
Hasonló húzási modulok érhetők el Azure Machine Learning tervezőben.
A modul áttekintése
Ez a cikk azt ismerteti, hogyan használható a time series anomáliadetektálási modul a Machine Learning Studio (klasszikus) alkalmazásban az idősoradatok rendellenességeinek észlelésére. A modul betanítja a bemenetként megadott idősorok normál működési jellemzőit, és ezeket az információkat felhasználva észleli a normál mintától való eltéréseket. A modul képes észlelni az általános trend változásait, valamint az értékek nagyságrendjének vagy tartományának változásait.
Az idősoradatok változásainak észlelése széles körű alkalmazásokkal rendelkezik. Használhatja például érzékelők, hálózatok vagy erőforrás-használat közel valós idejű monitorozására. A szolgáltatáshibák, a szolgáltatáshasználat és más KPI-k nyomon követésével gyorsan reagálhat a kritikus anomáliákra. Más alkalmazások közé tartozik az egészségügy és a pénzügy.
Anomáliadetektálási módszerek
Az anomáliadetektálás az adatok olyan mintáinak megkeresése, amelyek nem felelnek meg a "normál" viselkedés modelljének. Az ilyen változások észlelésének tipikus megközelítései vagy egyszerű emberi számítási küszöbértékeket, vagy középértéket és szórást használnak annak meghatározásához, hogy az adatok mikor térnek el jelentősen a középértéktől.
Az ilyen egyszerű megközelítések azonban nem könnyen igazodnak az idősoradatokhoz:
Nagy számú hamis anomália jön létre
A metódusok nem alkalmazhatók az adatértékek módosítására
Nem méretezhető egyszerűen nagy idősorra
Ez a modul két további módszert biztosít az idősorozat-trendek varianciájának értékelésére:
A felfelé és lefelé irányuló változások mértékének mérése
Előfordulhat például, hogy egy webszolgáltatás kéréseinek száma egy ideig a legkedvezhetőbb, majd jelentősen megnő.
A trendek irányának és időtartamának mérése: pozitív és negatív változások
Egy szolgáltatásvárólista hosszának állandó emelkedő trendje például egy mögöttes problémát jelezhet. Annak ellenére, hogy az általános trend folyamatosan növekszik, ezért stabilnak tekinthető, a meredekség változása anomáliának tekinthető. Ezzel szemben, ha egy kiszolgáló memóriahasználatát figyeli, a szabad memória méretének állandó csökkenése problémát jelezhet.
Példák az idősorozat rendellenes mintáira
Felfelé és lefelé irányuló szintváltozások
Tegyük fel például, hogy egy webszolgáltatásban egy adott időszakban figyeli a kérelmek napi számát, és úgy tűnik, hogy a kérések száma egy bizonyos tartományon belül marad. A webszolgáltatás frissítése után azonban a webszolgáltatáshoz érkező kérések száma megváltozik. Az új trend magasabb vagy alacsonyabb lehet, mint az eredeti trend; mind felfelé, mind lefelé tüskék észlelhetők.
Pozitív vagy negatív trendek változása
Tegyük fel például, hogy egy szolgáltatástámogatási webhelyen figyeli az üzenetsor hosszát. Az állandó emelkedő trend alapul szolgáló szolgáltatásproblémát jelezhet.
Más esetekben állandó negatív trend lehet az anomália. Ha például egy kiszolgálón figyeli a memóriahasználatot, a szabad memória mérete csökken, az potenciális memóriavesztést jelezhet.
Források
A megközelítés alapjául szolgáló kutatásokkal kapcsolatos további információkért tekintse meg az alábbi cikkeket:
Shen-Shyang Ho; Wechsler, H., "A Martingale Framework for Detecting Changes in Data adatfolyamok by Testing Exchangeability," Pattern Analysis and Machine Intelligence, IEEE Transactions , vol.32, no.12, pp.2113,2127, Dec. 2010
Valentina Fedorova, Alex J. Gammerman, Ilia Nouretdinov, Vladimir Vovk, "Plug-in martingales for testing exchangeability on-line", ICML 2012
Vovk, Ilia Nouretdinov, Alex J. Gammerman, "Testing Exchangeability Online", ICML 2003.
Idősorozat-anomáliadetektálás konfigurálása
Adja hozzá a Time Series Anomaly Detection modult a kísérlethez, és csatlakoztassa az idősort tartalmazó adatkészletet.
A bemenetként használt adatkészletnek legalább egy olyan oszlopot kell tartalmaznia, amely sztringformátumú dátum/idő értékeket tartalmaz, és egy másik oszlopot, amely a trendértékeket tartalmazza numerikus formátumban. A többi oszlopot a rendszer figyelmen kívül hagyja.
Mivel minden sor egy adatpontnak felel meg az idősorban, amely az akkori értéket jelöli, az időértékeknek egyedinek kell lenniük.
Adatoszlop: Jelöljön ki egyetlen oszlopot az adathalmazban, amely numerikus adatértékeket tartalmaz. Ezek az értékek a modellezendő trend adatpontjai, például az idő népességösszegei, a havi költségek vagy bizonyos időszak hőmérsékletei.
Időoszlop: Jelöljön ki egyetlen oszlopot az adathalmazban, amely tartalmazza a társított idősorozat-értéket.
Az oszlopnak érvényes dátum/idő értékeket kell tartalmaznia, ami azt jelenti, hogy az összes dátumnak a .NET-keretrendszer által támogatott dátumtartományon belül kell lennie.
Az Idő oszlopnak a DateTime adattípust kell használnia. Ha a dátumok sztringformátumban vannak, az SQL-átalakítási modullal átadhatja őket, vagy átalakíthatja őket az R-szkript végrehajtása modullal. Ha a dátumok egész számként jelennek meg, akkor egy megfelelő datetime konverziós függvényt is használnia kell az értékek érvényes dátum/idő formátummal való ábrázolásához.
Az alábbi SQL-utasítás például egy Excel dátumértéket dátum/idő formátumra módosít:
SELECT CAST([SerialDate] AS SmallDateTime) as [NewValidDate] from t1;
Miután a dátumértékek a megfelelő formátumban lettek, a Metaadatok szerkesztése modullal állítsa az oszloptípust DateTime értékre.
Martingale típus: Válassza ki a használni kívánt martingale függvényt.
PowerAvg. Ez a lehetőség a power martingale marginális implementációja.
Az alapértelmezett érték a PowerAvg , további paraméterek nélkül. Ez a lehetőség stabilabb anomáliadetektort biztosít, és a legtöbb igénynek megfelelőnek kell lennie.
Hatalom. A power martingale nem marginalizált implementációja.
A Power beállítással a felhasználók 0 és 1 közötti értéket adhatnak meg az Epsilon paraméter számára a detektor érzékenységének szabályozásához. A magasabb epszilon érték általában nagyobb érzékenységet jelent az anomáliákra, de kevésbé biztos.
A martingales definícióért és a modulban használt módszerekért lásd: Anomáliadetektálás gépi tanulással az idősoradatok rendellenességeinek észleléséhez
Furcsaság függvény típusa: Ezt a beállítást különböző típusú anomáliákhoz használják. Három lehetőség támogatott, amelyekhez nincs szükség további paraméterekre:
RangePercentile.
Ez az alapértelmezett beállítás, és többnyire a szintváltozások észlelésére szolgál.
SlowPostrend. Válassza ezt a lehetőséget a pozitív trendváltozások észleléséhez.
SlowNegTrend. Válassza ezt a lehetőséget a negatív trendváltozások észleléséhez.
A Martingale és a Furcsasági értékek hossza: Adja meg az előzményablak méretét, amely a martingale értékek kiszámítására szolgál a visszatekintés előzményei alapján.
Az alapértelmezett érték 500, de megadhat 0 és 5000 közötti egész számokat. Nagy idősorok esetén az alapértelmezett értéknek jól kell működnie. Kisebb idősorok esetén megpróbálhatja megbecsülni a rendellenes viselkedés várható hosszának értékét.
Javasoljuk, hogy ezt a két paramétert általában ugyanarra az értékre állítsa be.
A furcsaságértékek hossza: Adja meg az egyes adatponton a furcsaság kiszámításához használt előzményablak hosszát.
Az alapértelmezett érték 500, de megadhat 0 és 5000 közötti egész számokat.
Ez a paraméter ugyanazokra a korlátozásokra vonatkozik, mint a Martingale hossza. Ez azt adja meg, hogy hány adatpont szükséges a "normál" viselkedés megismeréséhez.
Az alapértelmezett 500 jól működik a legtöbb esetben, de ha a skálázás, amelyen a "normalcy" mérhető változik, akkor hasznos lehet, hogy a Length of Strangeness Értékek nagyobb értéket, mint Hossza Martingale.
Ha például figyeli a hibákat, és feltételezi, hogy az adatpontokat 15 perces időközönként rögzíti a rendszer, a normál trend megismeréséhez szükséges idő hónapról hónapra jelentősen eltérő lehet.
A nagyobb ablakméret használata általában lassabb teljesítményt eredményez, mivel a modulnak egy nagyobb adatkészleten kell tanulnia.
Javasoljuk, hogy ezt a két paramétert általában ugyanarra az értékre állítsa be.
Riasztás küszöbértéke: Adjon meg egy olyan értéket, amely felett az anomáliademokrata pontszám riasztást generál.
Az alapértelmezett érték 3,25, ami azt jelenti, hogy a rendszer riasztást hoz létre minden olyan sorhoz, amely legalább 3,25 pontszámot tartalmaz. Y
0 és 100 közötti lebegőpontos számokat is megadhat. Van azonban egy kompromisszum a érzékenység és a küszöb kiválasztása iránti bizalom között:
Egy alacsonyabb küszöbérték miatt a detektor érzékenyebbé válna az anomáliákra, és több riasztást hozna létre.
Egy alacsonyabb küszöbérték azt eredményezheti, hogy a normál változások helytelenül lesznek besorolva anomáliákként.
Futtassa a kísérletet.
Vegye figyelembe, hogy ezt a modellt nem kell külön betanítása; az algoritmus a modul bemeneteként megadott adatokból tanulja meg a mintát.
Results (Eredmények)
A betanítás befejezésekor a modul olyan idősort ad ki, amely megegyezik a bemeneti idősor hosszával; a rendszer azonban két oszlopot ad hozzá az esetlegesen rendellenes értékek jelzéséhez.
Anomáliademális pontszám: Az első oszlop olyan pontszámot tartalmaz, amely annak a valószínűségét jelzi, hogy az idősor értéke rendellenes.
Riasztás: Ez az oszlop egy 0 vagy 1 értékű jelzőt tartalmaz, ahol az 1 azt jelenti, hogy anomáliát észleltek. A riasztás létrehozásának küszöbértékét a pontszámoszlop alapján állíthatja be, de beállíthatja a Riasztás küszöbértéke paramétert.
Példák
Az alábbi példák bemutatják, hogyan állíthatja be a martingale függvényt az anomáliák észlelésére és az eredmények értelmezésére.
Szintváltozások észlelése
A különböző beállítások hatásának szemléltetéséhez a példában használt adathalmaz 8870 adatpontból áll, háromszintű módosítással. Ezen adatok alapján két modellt hoztunk létre az alábbi paraméterekkel.
Martingale típusa: PowerAvg
Furcsaság függvény típusa: RangePercentile
Martingale hossza = 50
A furcsaságértékek hossza = 50
A modell be lett tanítva a bejövő adatokon, de a riasztási küszöbértékre egy másik értéket alkalmaztak. Az előrejelzés eredményei az alábbi képeken jelennek meg az 1. és a 2. modell esetében. Ezekben a grafikonokon a kék vonalak az adatértékeket, a piros vonalak pedig az anomáliára vonatkozó riasztásokat jelölik.
0,9 riasztási küszöbérték
Ebben a modellben a küszöbérték alacsonyabb, ezért riasztások keletkeznek (anomáliák észlelhetők), még akkor is, ha a módosítások pillanatnyiak.
A figyelt idősor típusától függően egyes riasztások téves riasztásoknak minősülhetnek. Az alacsonyabb küszöbérték azonban előnyösebb lehet, ha nem engedheti meg magának, hogy figyelmen kívül hagyjon minden anomáliát.
3,25-ös riasztási küszöbérték
Ebben a modellben a riasztási küszöbérték sokkal magasabb volt, ezért a modell csak azokat a módosításokat észleli, amelyek hosszabb ideig maradnak. A riasztások magasabb küszöbértéke akkor lehet kívánatosabb, ha csak hosszan tartó változásokat szeretne észlelni.
Pozitív meredekségváltozások észlelése
Az anomáliadetektálási lehetőség szemléltetéséhez egy 300 adatpontot tartalmazó példaadatkészletet használtunk. Az összes pont pozitív trendet hozott létre, két rendellenességgel.
Ismét létrehoztunk két modellt olyan paraméterekkel, amelyek azonosak voltak, kivéve a riasztás küszöbértékét.
Martingale típusa: PowerAvg
A Strangeness függvény típusa: SlowPosTrend
Martingale hossza = 50
A furcsaságértékek hossza = 50
Ezekben a gráfokban a kék vonalak az adatértékeket, a piros vonalak pedig az anomáliával kapcsolatos riasztásokat jelölik.
4,25-ös riasztási küszöbérték
6.0-s riasztási küszöbérték
Javasoljuk, hogy kísérletezzen különböző riasztási küszöbértékekkel, hogy megtalálja az anomáliadetektálási forgatókönyv megfelelő érzékenységi szintjét.
Várt bemenetek
Név | Típus | Description |
---|---|---|
Időbélyegeket és értékeket tartalmazó bemeneti adatok | Adattábla | Dátum-idő bélyegeket és értékeket tartalmazó bemeneti adatok. |
Modulparaméterek
Név | Típus | Tartomány | Választható | Alapértelmezett | Description |
---|---|---|---|---|---|
Értékoszlop | ColumnSelection | Kötelező | Válassza ki a nyomon követendő idősort tartalmazó oszlopot | ||
Ablakméret | Egész szám | Kötelező | Adjon meg egy értéket, amely az elemzési ablak méretét szabályozza | ||
Küszöbérték | Float | Választható | Adjon meg egy értéket, amely meghatározza a pontszám küszöbértékét az anomália azonosításához |
Kimenetek
Név | Típus | Description |
---|---|---|
Idősor anomáliadetektált pontszámokkal | Adattábla | Adatkészlet anomáliadetikus időközökkel. |
Lásd még
Anomáliadetektálás
Egyosztályos támogató vektorgép
PCA-alapú rendellenesség-észlelés