ForecastingParameters Klass

Hantera parametrar som används av prognostiseringsuppgifter.

Arv
builtins.object
ForecastingParameters

Konstruktor

ForecastingParameters(time_column_name: str | None = None, forecast_horizon: str | int = 1, time_series_id_column_names: str | List[str] | None = None, group_column_names: str | List[str] | None = None, target_lags: List[int] | int | str | None = None, feature_lags: str | None = None, target_rolling_window_size: str | int | None = None, holiday_country: str | None = None, seasonality: str | int | None = 'auto', country_or_region_for_holidays: str | None = None, use_stl: str | None = None, short_series_handling: bool = True, short_series_handling_configuration: str | None = 'auto', freq: str | None = None, target_aggregation_function: str | None = None, cv_step_size: str | int | None = 'auto', features_unknown_at_forecast_time: str | List[str] | None = None, validate_parameters: bool = True, _enable_future_regressors: bool = False, **kwargs: Any)

Parametrar

time_column_name
str
standardvärde: None

Namnet på tidskolumnen. Den här parametern krävs vid prognostisering för att ange kolumnen datetime i indata som används för att skapa tidsserien och härleda dess frekvens.

forecast_horizon
int eller str
standardvärde: 1

Önskad maximal prognoshorisont i tidsseriefrekvensenheter. Standardvärdet är 1.

Enheterna baseras på tidsintervallet för dina träningsdata, t.ex. varje månad, varje vecka som prognosmakaren ska förutsäga. När aktivitetstypen prognostiseras krävs den här parametern. Mer information om hur du ställer in prognosparametrar finns i Träna en prognosmodell för tidsserier automatiskt.

time_series_id_column_names
str eller list(str)
standardvärde: None

Namnen på kolumner som används för att gruppera en tidsserie. Den kan användas för att skapa flera serier. Om kolumnnamnen för tidsserie-ID inte har definierats eller om de angivna identifierarkolumnerna inte identifierar alla serier i datauppsättningen skapas tidsserieidentifierarna automatiskt för din datauppsättning.

group_column_names
str eller list(str)
standardvärde: None
target_lags
int, str eller list(int)
standardvärde: None

Antalet tidigare perioder som ska fördröjas från målkolumnen. Som standard är fördröjningarna inaktiverade.

Vid prognostisering representerar den här parametern antalet rader som släpar efter målvärdena baserat på datafrekvensen. Detta representeras som en lista eller ett heltal. Fördröjning bör användas när relationen mellan de oberoende variablerna och den beroende variabeln inte matchar eller korrelerar som standard. När du till exempel försöker förutse efterfrågan på en produkt kan efterfrågan under en månad bero på priset på specifika råvaror 3 månader tidigare. I det här exemplet kanske du vill fördröja målet (efterfrågan) negativt med 3 månader så att modellen tränar på rätt relation. Mer information finns i Träna en prognosmodell för tidsserier automatiskt.

Observera automatisk identifiering av målfördröjningar och rullande fönsterstorlek. Se motsvarande kommentarer i avsnittet rullande fönster. Vi använder nästa algoritm för att identifiera optimal målfördröjning och rullande fönsterstorlek.

  1. Uppskatta den maximala fördröjningsordningen för funktionsvalet för tillbakablick. I vårt fall är det antalet perioder fram till nästa datumfrekvenskornighet, dvs. om frekvensen är dagligen blir det en vecka (7), om det är en vecka blir det månad (4). Dessa värden multipliceras med två är de största möjliga värdena för fördröjningar/rullande fönster. I våra exempel kommer vi att överväga den maximala fördröjningsordningen på 14 respektive 8).

  2. Skapa en de-seasonalized-serie genom att lägga till trend- och residualkomponenter. Detta kommer att användas i nästa steg.

  3. Beräkna PACF – partiell autokorrelationsfunktion på på data från (2) och sök efter punkter, där den automatiska korrelationen är betydande, dvs. dess absoluta värde är mer än 1,96/square_root (maximal fördröjningsvärde), vilket motsvarar signifikansen på 95 %.

  4. Om alla punkter är viktiga anser vi att det är stark säsongsvariation och skapar inte tillbakablicksfunktioner.

  5. Vi genomsöker PACF-värdena från början och värdet innan den första obetydliga automatiska korrelationen anger fördröjningen. Om det första signifikanta elementet (värdet korrelerar med sig självt) följs av obetydligt blir fördröjningen 0 och vi kommer inte att använda tillbakablicksfunktioner.

feature_lags
str eller None
standardvärde: None

Flagga för att generera fördröjningar för de numeriska funktionerna med "auto" eller None.

target_rolling_window_size
int, str eller None
standardvärde: None

Antalet tidigare perioder som används för att skapa ett rullande fönstergenomsnitt för målkolumnen.

Vid prognostisering representerar den här parametern n historiska perioder som ska användas för att generera prognostiserade värden, <= träningsuppsättningens storlek. Om det utelämnas är n den fullständiga träningsuppsättningens storlek. Ange den här parametern när du bara vill överväga en viss mängd historik när du tränar modellen. Om värdet är "auto" beräknas rullande fönster som det sista värdet där PACF är mer än signifikanströskeln. Mer information finns i target_lags avsnittet.

holiday_country
str eller None
standardvärde: None
seasonality
int, str eller None
standardvärde: auto

Ange säsongsvariationer för tidsserier som en heltalsmultipel för seriefrekvensen. Om säsongsvariation är inställd på "auto" kommer den att härledas. Om värdet är Ingen antas tidsserien vara icke-säsongsbunden, vilket motsvarar säsongsvariation=1.

country_or_region_for_holidays
str eller None
standardvärde: None

Det land/den region som används för att generera semesterfunktioner. Dessa bör vara ISO 3166-lands-/regionkoder med två bokstäver, till exempel "US" eller "GB".

use_stl
str eller None
standardvärde: None

Konfigurera STL-nedbrytning av målkolumnen för tidsserier. use_stl kan ta tre värden: Ingen (standard) – ingen stl-nedbrytning, "säsong" – generera endast säsongskomponent och season_trend – genererar både säsongs- och trendkomponenter.

short_series_handling
bool
standardvärde: True

Konfigurera kortseriehantering för prognostiseringsuppgifter.

short_series_handling_configuration
str eller None
standardvärde: auto

Parametern som definierar hur AutoML ska hantera korta tidsserier.

Möjliga värden: "auto" (standard), "pad", "drop" och None.

  • auto kort serie kommer att fyllas om det inte finns några långa serier, annars kort serie kommer att släppas.
  • pad alla korta serien kommer att fyllas.
  • släpp alla korta serier kommer att släppas".
  • Ingen kortserien kommer inte att ändras. Om värdet är "pad" kommer tabellen att fyllas med nollor och tomma värden för regressorerna och slumpmässiga värden för målet med medelvärdet lika med målvärdets median för angivet tidsserie-ID. Om medianvärdet är mer eller lika med noll klipps det minimala vadderade värdet av med noll. Indata:

Datum

numeric_value

sträng

Mål

2020-01-01

23

green

55

Utdata som förutsätter att det minsta antalet värden är fyra:

Datum

numeric_value

sträng

Mål

2019-12-29

0

NA

55.1

2019-12-30

0

NA

55.6

2019-12-31

0

NA

54.5

2020-01-01

23

green

55

Observera: Vi har två parametrar short_series_handling_configuration och äldre short_series_handling. När båda parametrarna anges synkroniseras de enligt tabellen nedan (short_series_handling_configuration och short_series_handling för korthet markeras som handling_configuration respektive hantering).

Hantering

handling_configuration

resulterande hantering

resulterande handling_configuration

Sant

auto

Sant

auto

Sant

Pad

Sant

auto

Sant

drop

Sant

auto

Sant

Ingen

Falskt

Ingen

Falskt

auto

Falskt

Ingen

Falskt

Pad

Falskt

Ingen

Falskt

drop

Falskt

Ingen

Falskt

Ingen

Falskt

Ingen

freq
str eller None
standardvärde: None

Prognosfrekvens.

Vid prognostisering representerar den här parametern den period med vilken prognosen önskas, till exempel dagligen, varje vecka, varje år osv. Prognosfrekvensen är datamängdsfrekvens som standard. Du kan också ställa in den på större (men inte mindre) än datauppsättningsfrekvensen. Vi aggregerar data och genererar resultaten med prognostiseringsfrekvens. För dagliga data kan du till exempel ange att frekvensen ska vara dagligen, varje vecka eller varje månad, men inte varje timme. Frekvensen måste vara ett Pandas-förskjutningsalias. Mer information finns i Pandas-dokumentationen: https://pandas.pydata.org/pandas-docs/stable/user_guide/timeseries.html#dateoffset-objects

target_aggregation_function
str eller None
standardvärde: None

Funktionen som ska användas för att aggregera målkolumnen för tidsserier så att den överensstämmer med en användardefinieringsfrekvens. Om target_aggregation_function har angetts, men freq-parametern inte har angetts, utlöses felet. Möjliga målaggregeringsfunktioner är: "sum", "max", "min" och "mean".

  • Målkolumnvärdena aggregeras baserat på den angivna åtgärden. Vanligtvis är summan lämplig för de flesta scenarier.

  • Numeriska förutsägelsekolumner i dina data aggregeras med summa, medelvärde, minimivärde och högsta värde. Därför genererar automatiserad ML nya kolumner suffix med namnet på sammansättningsfunktionen och tillämpar den valda mängdåtgärden.

  • För kategoriska förutsägelsekolumner aggregeras data efter läge, den mest framträdande kategorin i fönstret.

  • Kolumner för datum förutsägare aggregeras efter minsta värde, högsta värde och läge.

Freq

target_aggregation_function

Mekanism för korrigering av dataregelbundna data

Ingen (standard)

Ingen (standard)

Aggregeringen tillämpas inte. Om den giltiga frekvensen inte kan fastställas utlöses felet.

Värde

Ingen (standard)

Aggregeringen tillämpas inte. Om antalet datapunkter som är kompatibla med det angivna frekvensrutnätet är mindre kommer 90 % av dessa punkter att tas bort, annars utlöses felet.

Ingen (standard)

Sammansättningsfunktion

Felet om saknade frekvensparametrar utlöses.

Värde

Sammansättningsfunktion

Aggregera till frekvens med hjälp av den tillhandahållna aggregeringsfunktionen.

cv_step_size
str, int eller None
standardvärde: auto

Antal perioder mellan origin_time av en CV-vikning och nästa vikt. Om till exempel n_step = 3 för dagliga data är ursprungstiden för varje vikning tre dagars mellanrum.

validate_parameters
bool
standardvärde: True

Konfigurera för att verifiera indataparametrar.

features_unknown_at_forecast_time
standardvärde: None
_enable_future_regressors
standardvärde: False

Metoder

from_parameters_dict

Skapa klassen ForecastingParameters från en diktamen.

validate_parameters

Verifiera parametrarna i klassen ForecastingParameters.

from_parameters_dict

Skapa klassen ForecastingParameters från en diktamen.

static from_parameters_dict(parameter_dict: Dict[str, Any], validate_params: bool, show_deprecate_warnings: bool | None = True) -> ForecastingParameters

Parametrar

parameter_dict
Obligatorisk

Diktamen innehåller alla prognosparametrar.

validate_params
Obligatorisk

Verifiera indataparametern eller inte.

show_deprecate_warnings
standardvärde: True

Växla för att visa varning om inaktuella parametrar.

validate_parameters

Verifiera parametrarna i klassen ForecastingParameters.

validate_parameters()

Attribut

country_or_region_for_holidays

Det land/den region som används för att generera semesterfunktioner. Dessa bör vara iso 3166 tvåbokstavs lands-/regionkod, till exempel "US" eller "GB".

cv_step_size

Antal perioder mellan origin_time av en CV-vikning och nästa vikt. Om till exempel n_step = 3 för dagliga data är ursprungstiden för varje vikning tre dagars mellanrum.

drop_column_names

Namnen på kolumner som ska minskas för prognostiseringsaktiviteter.

dropna

Konfigurera dropna i tidseriedatatransformator.

feature_lags

Flagga för att generera fördröjningar för de numeriska funktionerna.

features_unknown_at_forecast_time

Kolumnnamnen för funktioner som är tillgängliga för träning men som är okända vid prognos-/slutsatsdragningstid. Om detta inte har definierats förutsätts det att alla funktionskolumner är kända vid prognostiden.

forecast_horizon

Önskad maximal prognoshorisont i tidsseriefrekvensenheter. Standardvärdet är 1. Enheterna baseras på tidsintervallet för dina träningsdata, t.ex. varje månad, varje vecka som prognosmakaren ska förutsäga.

formatted_drop_column_names

De formaterade namnen på kolumner som ska släppas för prognostiseringsaktiviteter.

formatted_group_column_names

formatted_target_lags

Det formaterade antalet tidigare perioder som ska släpas efter målkolumnen.

formatted_time_series_id_column_names

Namnen på kolumner som används för att gruppera en tidsserie. Den kan användas för att skapa flera serier. Om time_series_id_column_names inte har definierats antas datauppsättningen vara en tidsserie.

formatted_unknown_features

Kolumnnamnen för funktioner som är tillgängliga för träning men som är okända vid prognos-/slutsatsdragningstid. Om detta inte har definierats förutsätts det att alla funktionskolumner är kända vid prognostiden. Stöds endast i dnn/tcn. När användaren inte anger något aktiveras inte framtida funktioner i dnn. Men om de innehåller en tom lista aktiveras framtida funktioner och alla funktionskolumner antas vara kända vid prognostiden.

freq

Datamängdens frekvens.

group_column_names

holiday_country

Det land/den region som används för att generera semesterfunktioner. Dessa bör vara iso 3166 tvåbokstavs lands-/regionkod, till exempel "US" eller "GB".

overwrite_columns

Konfigurera overwrite_columns i tidsseriedatatransformator.

seasonality

Säsongsvariationer i tidsserier som en heltalsmultipel av seriefrekvensen.

short_series_handling_configuration

Returnera om kortkorn ska vara vadderat.

target_aggregation_function

Returnera målaggregeringsfunktionen.

target_lags

Antalet tidigare perioder som ska fördröjas från målkolumnen.

target_rolling_window_size

time_column_name

Namnet på tidskolumnen. Den här parametern krävs vid prognostisering för att ange kolumnen datetime i indata som används för att skapa tidsserien och härleda dess frekvens.

time_series_id_column_names

Namnen på kolumner som används för att gruppera en tidsserie. Den kan användas för att skapa flera serier. Om time_series_id_column_names inte har definierats antas datauppsättningen vara en tidsserie.

transform_dictionary

Konfigurera transform_dictionary i tidsseriedatatransformator.

use_stl

Konfigurera STL-nedbrytning av målkolumnen för tidsserier. use_stl kan ta tre värden: Ingen (standard) – ingen stl-nedbrytning, "säsong" – generera endast säsongskomponent och season_trend – genererar både säsongs- och trendkomponenter.

DEFAULT_TIMESERIES_VALUE

DEFAULT_TIMESERIES_VALUE = {'_enable_future_regressors': False, 'cv_step_size': 'auto', 'feature_lags': None, 'features_unknown_at_forecast_time': None, 'forecast_horizon': 1, 'freq': None, 'max_horizon': 1, 'seasonality': 'auto', 'short_series_handling': True, 'short_series_handling_configuration': 'auto', 'target_aggregation_function': None, 'target_lags': None, 'target_rolling_window_size': None, 'use_stl': None}

DEPRECATED_DICT

DEPRECATED_DICT = {'country': 'country_or_region_for_holidays', 'country_or_region': 'country_or_region_for_holidays', 'grain_column_names': 'time_series_id_column_names', 'holiday_country': 'country_or_region_for_holidays', 'max_horizon': 'forecast_horizon'}

EMPTY_TIME_COLUMN_NAME

EMPTY_TIME_COLUMN_NAME = '_EMPTY_TIME_COLUMN_NAME'

MAX_LAG_LENGTH

MAX_LAG_LENGTH = 2000