Naptárfunkciók idősor-előrejelzéshez az AutoML-ben
Ez a cikk az AutoML által a regressziós modellek előrejelzésének pontosságának növelése érdekében létrehozott naptáralapú funkciókkal foglalkozik. Mivel az ünnepnapok erős hatással lehetnek a modellezett rendszer viselkedésére, az ünnepek előtti, alatti és utáni idő torzíthatja a sorozat mintáit. Minden ünnepnap létrehoz egy ablakot a meglévő adathalmazon, amelyhez a tanuló effektust rendelhet. Ez különösen hasznos lehet olyan helyzetekben, mint az ünnepek, amelyek magas követelményeket támasztanak bizonyos termékek iránt. Az AutoML előrejelzési módszertanával kapcsolatos általánosabb információkért tekintse meg a metódusok áttekintését ismertető cikket . Az AutoML-beli betanítási előrejelzési modellekre vonatkozó utasításokat és példákat az AutoML idősor-előrejelzési cikkünkben találja.
A szolgáltatásfejlesztés részeként az AutoML a betanítási adatokban megadott dátum/idő típusú oszlopokat naptáralapú funkciók új oszlopaivá alakítja. Ezek a funkciók segíthetnek a regressziós modelleknek, hogy több lépésben tanulják meg a szezonális mintákat. Az AutoML mindig létrehozhat naptárfunkciókat az idősor időindexéből, mivel ez egy kötelező oszlop a betanítási adatokban. A naptárfunkciók más, dátum/idő típusú oszlopokból is készülnek, ha vannak ilyenek. Az adatkövetelményekkel kapcsolatos további információkért tekintse meg, hogyan használja az AutoML az adatútmutatót .
Az AutoML a naptárfunkciók két kategóriáját veszi figyelembe: a szabványos funkciókat, amelyek teljes egészében a dátum- és időértékeken, valamint az ünnepi funkciókon alapulnak, amelyek a világ egy országára vagy régiójára vonatkoznak. Ezeket a funkciókat a cikk hátralévő részében megyünk át.
Szokásos naptárfunkciók
Az alábbi táblázat az AutoML szabványos naptárfunkcióinak teljes készletét mutatja be egy példakimenettel együtt. A példa a szabványos formátumot használja a YY-mm-dd %H-%m-%d
datetime ábrázoláshoz.
Funkció neve | Description | Példakimenet a következőhöz: 2011.01.01. 00:25:30 |
---|---|---|
year |
A naptári évet jelképező numerikus funkció | 2011 |
year_iso |
Az ISO 8601 szabványban meghatározott ISO-évet jelöli. Az ISO-évek az év első hetétől kezdődnek, amelynek csütörtökje van. Ha például január 1 péntek, az ISO-év január 4-én kezdődik. Az ISO-évek eltérhetnek a naptári évektől. | 2010 |
half |
Funkció, amely azt jelzi, hogy a dátum az év első vagy második felében van-e. Ez 1, ha a dátum előtt július 1 és 2 egyébként. | |
quarter |
A megadott dátum negyedévét képviselő numerikus funkció. Az 1, 2, 3 vagy 4 értéket veszi fel, amely a naptári év első, második, harmadik, negyedik negyedévét jelöli. | 1 |
month |
A naptári hónapot jelképező numerikus funkció. 1–12 értéket vesz fel. | 1 |
month_lbl |
A hónap nevét jelző karakterlánc-funkció. | "Január" |
day |
A hónap napját jelképező numerikus funkció. 1 és 31 közötti értékeket vesz igénybe. | 1 |
hour |
A nap óráját jelképező numerikus funkció. A 0–23 értéket veszi igénybe. | 0 |
minute |
Numerikus funkció, amely egy órán belül a percet jelöli. A 0 és 59 között értékeket veszi fel. | 25 |
second |
A megadott dátum/idő másodpercét jelölő numerikus funkció. Abban az esetben, ha csak a dátumformátum van megadva, akkor a rendszer 0-ként feltételezi. A 0 és 59 között értékeket veszi fel. | 30 |
am_pm |
Numerikus funkció, amely azt jelzi, hogy az idő reggel vagy este van-e. 0, 12:00 előtt, 1 pedig 12:00 után. | 0 |
am_pm_lbl |
Sztring funkció, amely azt jelzi, hogy az idő reggel vagy este van-e. | 'am' |
hour12 |
A nap óráját 12 órás órán belül ábrázoló numerikus funkció. A nap első felében a 0–12, a második felében pedig 1–11 értéket vesz fel. | 0 |
wday |
A hét napját jelképező numerikus funkció. A 0–6 értéket veszi fel, ahol a 0 a hétfőnek felel meg. | 5 |
wday_lbl |
A hét napjának nevét jelző karakterlánc-funkció. | |
qday |
A negyedéven belüli napot ábrázoló numerikus funkció. 1–92 értéket vesz fel. | 1 |
yday |
Az év napját jelképező numerikus funkció. Szökőév esetén 1–365, szökőév esetén pedig 1–366 értéket vesz igénybe. | 1 |
week |
Az ISO 8601-ben meghatározott ISO-hetet képviselő numerikus funkció. Az ISO-hetek mindig hétfőn kezdődnek, és vasárnap érnek véget. Az 1 és 52, illetve az 53 értéket veszi igénybe, ha a január 1- jén csütörtökre esik, vagy szökőévekre, amikor január 1-jén szerdán esik. | 52 |
Előfordulhat, hogy a szokásos naptárfunkciók teljes készlete nem minden esetben jön létre. A létrehozott készlet az idősor gyakoriságától és attól függ, hogy a betanítási adatok az időindex mellett dátum-idő funkciókat is tartalmaznak-e. Az alábbi táblázat a különböző oszloptípusokhoz létrehozott funkciókat mutatja be:
Oszlop rendeltetése | Naptárfunkciók |
---|---|
Időindex | A teljes készlet mínusz olyan naptárfunkciók, amelyek magas korrelációval rendelkeznek más funkciókkal. Ha például az idősor gyakorisága napi, akkor a napinál részletesebb gyakorisággal rendelkező szolgáltatások törlődnek, mivel nem nyújtanak hasznos információkat. |
Egyéb datetime oszlop | Csökkentett készlet, amely Year a következőből áll: , Month , Day , DayOfWeek , DayOfYear , QuarterOfYear Hour WeekOfMonth , , Minute , és .Second Ha az oszlop egy idő nélküli dátum, Hour , Minute és Second 0 lesz. |
Ünnepi funkciók
Az AutoML igény szerint létrehozhat olyan funkciókat, amelyek egy adott országból vagy régióból származó ünnepnapokat jelölnek. Ezek a funkciók az AutoML-ben vannak konfigurálva az country_or_region_for_holidays
ISO-országkódot elfogadó paraméterrel.
Megjegyzés
Ünnepi funkciók csak napi gyakorisággal végezhetők el idősorokhoz.
Az alábbi táblázat összefoglalja az ünnepi funkciókat:
Funkció neve | Description |
---|---|
Holiday |
Sztring funkció, amely meghatározza, hogy egy dátum nemzeti/regionális ünnep-e. Az ünnep bizonyos tartományán belüli napokat is megjelöljük. |
isPaidTimeOff |
Bináris funkció, amely 1 értéket vesz fel, ha a nap "fizetett szabadság" az adott országban vagy régióban. |
Az AutoML az Azure Open Datasetst használja az ünnepi információk forrásaként. További információt a PublicHolidays dokumentációjában talál.
Az ünnepi szolgáltatások létrehozásának jobb megértéséhez vegye figyelembe az alábbi példaadatokat:
Az adatok amerikai ünnepi funkcióinak létrehozásához az előrejelzési beállításokban az country_or_region_for_holiday
"USA" értéket állítjuk be az alábbi kódmintában látható módon:
from azure.ai.ml import automl
# create a forcasting job
forecasting_job = automl.forecasting(
compute='test_cluster', # Name of single or multinode AML compute infrastructure created by user
experiment_name=exp_name, # name of experiment
training_data=sample_data,
target_column_name='demand',
primary_metric='NormalizedRootMeanSquaredError',
n_cross_validations=3,
enable_model_explainability=True
)
# set custom forecast settings
forecasting_job.set_forecast_settings(
time_column_name='timeStamp',
country_or_region_for_holidays='US'
)
A generált ünnepnapi funkciók a következő kimenethez hasonlóan néznek ki:
Vegye figyelembe, hogy a létrehozott szolgáltatások előtagja _automl_
az oszlopnevekre van előtagként felfűzve. Az AutoML általában ezt az előtagot használja a bemeneti funkciók és a mérnöki funkciók megkülönböztetésére.
Következő lépések
- További információ az AutoML beállításáról egy idősorozat-előrejelzési modell betanításához.
- Az AutoML-előrejelzéssel kapcsolatos gyakori kérdések tallózása.
- További információ az AutoML-előrejelzési lemaradású szolgáltatásokról.
- Ismerje meg , hogyan használja az AutoML a gépi tanulást az előrejelzési modellek létrehozásához.
Visszajelzés
https://aka.ms/ContentUserFeedback.
Hamarosan elérhető: 2024-ben fokozatosan kivezetjük a GitHub-problémákat a tartalom visszajelzési mechanizmusaként, és lecseréljük egy új visszajelzési rendszerre. További információ:Visszajelzés küldése és megtekintése a következőhöz: