ForecastingParameters Klass
Hantera parametrar som används av prognostiseringsuppgifter.
- Arv
-
builtins.objectForecastingParameters
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
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.
Ö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.
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.
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.
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).
Skapa en de-seasonalized-serie genom att lägga till trend- och residualkomponenter. Detta kommer att användas i nästa steg.
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 %.
Om alla punkter är viktiga anser vi att det är stark säsongsvariation och skapar inte tillbakablicksfunktioner.
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.
Flagga för att generera fördröjningar för de numeriska funktionerna med "auto" eller 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.
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.
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".
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
Konfigurera kortseriehantering för prognostiseringsuppgifter.
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
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
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.
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.
- features_unknown_at_forecast_time
- _enable_future_regressors
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
Diktamen innehåller alla prognosparametrar.
- validate_params
Verifiera indataparametern eller inte.
- show_deprecate_warnings
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
Feedback
https://aka.ms/ContentUserFeedback.
Kommer snart: Under hela 2024 kommer vi att fasa ut GitHub-problem som feedbackmekanism för innehåll och ersätta det med ett nytt feedbacksystem. Mer information finns i:Skicka och visa feedback för