ForecastingJob Třída

Konfigurace pro úlohu prognózování automatizovaného strojového učení

Inicializujte novou úlohu prognózování automatizovaného strojového učení.

Dědičnost
azure.ai.ml.entities._job.automl.tabular.automl_tabular.AutoMLTabular
ForecastingJob

Konstruktor

ForecastingJob(*, primary_metric: str | None = None, forecasting_settings: ForecastingSettings | None = None, **kwargs)

Parametry

primary_metric
str, <xref:optional>
Vyžadováno

Primární metrika, která se má použít k optimalizaci

forecasting_settings
ForecastingSettings, <xref:optional>
Vyžadováno

Nastavení úlohy prognózy

kwargs
dict
Vyžadováno

Argumenty specifické pro úlohu

Metody

set_forecast_settings

Umožňuje spravovat parametry používané úlohami prognózování.

set_training

set_forecast_settings

Umožňuje spravovat parametry používané úlohami prognózování.

set_forecast_settings(*, time_column_name: str | None = None, forecast_horizon: str | int | None = None, time_series_id_column_names: str | List[str] | None = None, target_lags: str | int | List[int] | None = None, feature_lags: str | None = None, target_rolling_window_size: str | int | None = None, country_or_region_for_holidays: str | None = None, use_stl: str | None = None, seasonality: str | int | None = None, short_series_handling_config: str | None = None, frequency: str | None = None, target_aggregate_function: str | None = None, cv_step_size: int | None = None) -> None

Parametry

time_column_name
str
Vyžadováno

Název sloupce času. Tento parametr je vyžadován při prognózování k určení sloupce datetime ve vstupních datech použitých pro sestavení časové řady a odvození její frekvence.

forecast_horizon
int nebo str
Vyžadováno

Požadovaný maximální horizont prognózy v jednotkách frekvence časových řad. Výchozí hodnota je 1.

Jednotky jsou založené na časovém intervalu trénovacích dat, například měsíčně nebo týdně, které by měl prognózovat prognóza. Při prognózování typu úlohy je tento parametr povinný. Další informace o nastavení parametrů prognózy najdete v tématu Automatické trénování modelu prognózy časových řad.

time_series_id_column_names
str nebo list(str)
Vyžadováno

Názvy sloupců, které se používají k seskupení časových období. Dá se použít k vytvoření více řad. Pokud nejsou definované názvy sloupců id časové řady nebo pokud zadané sloupce identifikátorů neidentifikují všechny řady v datové sadě, vytvoří se pro vaši datovou sadu automaticky identifikátory časových řad.

target_lags
int, <xref:str,> nebo list(int)
Vyžadováno

Počet minulých období, která se mají zpožďovat od cílového sloupce. Ve výchozím nastavení jsou prodlevy vypnuté.

Při prognózování tento parametr představuje počet řádků, které mají zpozdit cílové hodnoty na základě frekvence dat. Toto je reprezentováno jako seznam nebo jedno celé číslo. Prodleva by se měla použít, pokud se vztah mezi nezávislými proměnnými a závislými proměnnými ve výchozím nastavení neshoduje nebo koreluje. Když se například pokoušíte předpovědět poptávku po produktu, může poptávka v libovolném měsíci záviset na ceně konkrétních komodit před 3 měsíci. V tomto příkladu můžete chtít zpožďovat cíl (poptávku) o 3 měsíce, aby model trénoval na správné relaci. Další informace najdete v tématu Automatické trénování modelu prognózy časových řad.

Všimněte si automatické detekce cílových prodlev a velikosti posuvného okna. Podívejte se na odpovídající komentáře v oddílu posuvné okno. Další algoritmus používáme ke zjištění optimální cílové prodlevy a velikosti posuvných oken.

  1. Odhadnout pořadí maximální prodlevy pro výběr funkce zpětného pohledu. V našem případě je to počet období do následující intervalu frekvence data, tj. pokud je frekvence denní, bude to týden (7), pokud je to týden, bude to měsíc (4). Hodnoty vynásobené dvěma jsou největšími možnými hodnotami prodlev/posuvných oken. V našich příkladech budeme uvažovat o pořadí maximální prodlevy 14 a 8).

  2. Vytvořte řadu bez sezóny přidáním komponent trendu a reziduí. Použije se v dalším kroku.

  3. Odhad funkce PACF – Částečná automatická korelace na data z (2) a vyhledejte body, kde je automatická korelace významná, tj. její absolutní hodnota je vyšší než 1,96/square_root (hodnota maximální prodlevy), které odpovídají významnosti 95 %.

  4. Pokud jsou všechny body významné, považujeme to za silnou sezónnost a nevytváříme funkce zpětného pohledu.

  5. Hodnoty PACF prohledáme od začátku a hodnotu před první nevýznamnou automatickou korelací určíme prodlevu. Pokud první významný prvek (hodnota koreluje se sebou samým) následuje nevýznamný, bude prodleva 0 a funkce zpětného vyhledávání nebudeme používat.

feature_lags
str nebo None
Vyžadováno

Příznak pro generování prodlev pro číselné funkce s automatickým nebo žádným.

target_rolling_window_size
int, str nebo None
Vyžadováno

Počet minulých období použitých k vytvoření průměru posuvného okna cílového sloupce.

Při prognózování tento parametr představuje n historických období, která se mají použít ke generování předpokládaných hodnot, <= velikost trénovací sady. Pokud tento parametr vynecháte, n je úplná velikost trénovací sady. Tento parametr zadejte, pokud chcete při trénování modelu vzít v úvahu jenom určitou část historie. Pokud je nastavená hodnota auto, bude posuvné okno odhadnuto jako poslední hodnota, kde PACF je více než prahová hodnota významnosti. Podrobnosti najdete v části target_lags.

country_or_region_for_holidays
str nebo None
Vyžadováno

Země nebo oblast, která se používá ke generování funkcí svátků. Mělo by se jednat o dvoumísmenné kódy země/oblasti iso 3166, například "US" nebo "GB".

use_stl
str nebo None
Vyžadováno

Nakonfigurujte STL rozklad cílového sloupce časové řady. use_stl můžou mít tři hodnoty: None (výchozí) – žádná dekompozice stl, 'season' – generovat pouze komponentu řady a season_trend - generovat komponenty sezóny i trendu.

seasonality
int, str nebo None
Vyžadováno

Nastavte sezónnost časových řad jako celočíselný násobek frekvence řady. Pokud je sezónnost nastavená na hodnotu "auto", bude odvozena. Pokud je nastavená hodnota Žádná, předpokládá se, že časová řada není sezónní, což odpovídá sezónnosti=1.

short_series_handling_config
str nebo None
Vyžadováno

Parametr definující, jak má AutoML zpracovávat krátké časové řady.

Možné hodnoty: "auto" (výchozí), 'pad', 'drop' a None.

  • Automatické krátké řady budou polstrovány, pokud neexistují dlouhé řady, jinak budou krátké řady vyřazeny.
  • všechny krátké řady budou polstrovány.
  • všechny krátké řady budou vyřazeny".
  • Žádná krátká řada nebude změněna. Pokud je nastavená hodnota pad, tabulka bude vyplněna nulami a prázdnými hodnotami regresorů a náhodnými hodnotami pro cíl s průměrem, který se rovná mediánu cílové hodnoty pro dané ID časové řady. Pokud je medián větší nebo roven nule, minimální polstrovaná hodnota bude oříznuta nulou: Vstup:

Date (Datum)

numeric_value

řetězec

Cíl

01. 01. 2020

23

green

55

Výstup za předpokladu, že minimální počet hodnot jsou čtyři:

Date (Datum)

numeric_value

řetězec

Cíl

2019-12-29

0

NA

55.1

2019-12-30

0

NA

55.6

2019-12-31

0

NA

54.5

01. 01. 2020

23

green

55

Poznámka: Máme dva parametry short_series_handling_configuration a starší short_series_handling. Když jsou oba parametry nastavené, synchronizujeme je, jak je znázorněno v následující tabulce (short_series_handling_configuration a short_series_handling pro zkrácení jsou označeny jako handling_configuration a zpracování).

Zpracování

handling_configuration

výsledná manipulace

výsledné handling_configuration

Ano

auto

Ano

auto

Ano

Pad

Ano

auto

Ano

drop

Ano

auto

Ano

Žádné

Ne

Žádné

Ne

auto

Ne

Žádné

Ne

Pad

Ne

Žádné

Ne

drop

Ne

Žádné

Ne

Žádné

Ne

Žádné

frequency
str nebo None
Vyžadováno

Četnost prognóz.

Při prognózování tento parametr představuje období, se kterým je prognóza požadovaná, například denně, týdně, ročně atd. Frekvence prognózy je ve výchozím nastavení frekvence datové sady. Volitelně můžete nastavit větší (ale ne menší) frekvenci datové sady. Data agregujeme a vygenerujeme výsledky s frekvencí prognózy. Například u denních dat můžete nastavit denní, týdenní nebo měsíční frekvenci, ale ne hodinovou. Četností musí být alias posunu pandas. Další informace najdete v dokumentaci k knihovně pandas: https://pandas.pydata.org/pandas-docs/stable/user_guide/timeseries.html#dateoffset-objects

target_aggregate_function
str nebo None
Vyžadováno

Funkce, která se má použít k agregaci cílového sloupce časové řady tak, aby odpovídala frekvenci zadané uživatelem. Pokud je target_aggregation_function nastaven, ale není nastavený parametr freq, dojde k chybě. Možné cílové agregační funkce jsou: "sum", "max", "min" a "mean".

  • Hodnoty cílového sloupce se agregují na základě zadané operace. Součet je obvykle vhodný pro většinu scénářů.

  • Sloupce s číselnou vysvětlující hodnotou ve vašich datech se agregují podle součtu, průměru, minimální hodnoty a maximální hodnoty. V důsledku toho automatizované strojové učení vygeneruje nové sloupce s příponou s názvem agregační funkce a použije vybranou agregační operaci.

  • U sloupců s předpověďmi kategorií se data agregují podle režimu, nejvýraznější kategorie v okně.

  • Sloupce vysvětlující datum se agregují podle minimální hodnoty, maximální hodnoty a režimu.

Frekvence

target_aggregation_function

Mechanismus opravy správnosti údajů

Žádné (výchozí)

Žádné (výchozí)

Agregace se nepoužije. Pokud nelze určit platnou frekvenci, bude vyvolána chyba.

Nějaká hodnota

Žádné (výchozí)

Agregace se nepoužije. Pokud je počet datových bodů vyhovujících dané mřížce četnosti menší, budou tyto body odebrány, jinak dojde k chybě.

Žádné (výchozí)

Agregační funkce

Došlo k chybě týkající se chybějícího parametru frekvence.

Nějaká hodnota

Agregační funkce

Agregace na frekvenci pomocí poskytnuté agregační funkce

cv_step_size
int nebo None
Vyžadováno

Počet období mezi origin_time jednoho záhybu CV a dalším přehybem. Pokud například n_step = 3 pro denní data, čas počátku každého záhybů bude tři dny od sebe.

set_training

set_training(*, enable_onnx_compatible_models: bool | None = None, enable_dnn_training: bool | None = None, enable_model_explainability: bool | None = None, enable_stack_ensemble: bool | None = None, enable_vote_ensemble: bool | None = None, stack_ensemble_settings: StackEnsembleSettings | None = None, ensemble_model_download_timeout: int | None = None, allowed_training_algorithms: List[str] | None = None, blocked_training_algorithms: List[str] | None = None, training_mode: str | TrainingMode | None = None) -> None

Atributy

forecasting_settings

primary_metric

training