Delen via


ForecastingParameters Klas

Parameters beheren die worden gebruikt door het voorspellen van taken.

Overname
builtins.object
ForecastingParameters

Constructor

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)

Parameters

time_column_name
str
standaardwaarde: None

De naam van de tijdkolom. Deze parameter is vereist bij het voorspellen van de datum/tijd-kolom in de invoergegevens die worden gebruikt voor het samenstellen van de tijdreeks en het afleiden van de frequentie.

forecast_horizon
int of str
standaardwaarde: 1

De gewenste maximale voorspellingshorizon in eenheden van tijdreeksfrequentie. De standaardwaarde is 1.

Eenheden zijn gebaseerd op het tijdsinterval van uw trainingsgegevens, bijvoorbeeld maandelijks, wekelijks dat de prognose moet voorspellen. Wanneer het taaktype een prognose is, is deze parameter vereist. Zie Automatisch een tijdreeksprognosemodel trainen voor meer informatie over het instellen van prognoseparameters.

time_series_id_column_names
str of list(str)
standaardwaarde: None

De namen van kolommen die worden gebruikt om een tijdreeks te groepeert. Het kan worden gebruikt om meerdere reeksen te maken. Als de kolomnamen van tijdreeks-id's niet zijn gedefinieerd of als de opgegeven id-kolommen niet alle reeksen in de gegevensset identificeren, worden de tijdreeks-id's automatisch gemaakt voor uw gegevensset.

group_column_names
str of list(str)
standaardwaarde: None
target_lags
int, str of list(int)
standaardwaarde: None

Het aantal eerdere perioden voor vertraging van de doelkolom. De vertragingen zijn standaard uitgeschakeld.

Bij het voorspellen vertegenwoordigt deze parameter het aantal rijen dat de doelwaarden moet laten liggen op basis van de frequentie van de gegevens. Dit wordt weergegeven als een lijst of één geheel getal. Vertraging moet worden gebruikt wanneer de relatie tussen de onafhankelijke variabelen en afhankelijke variabelen niet standaard overeenkomen of correleren. Wanneer u bijvoorbeeld de vraag voor een product probeert te voorspellen, kan de vraag in elke maand afhankelijk zijn van de prijs van specifieke goederen 3 maanden eerder. In dit voorbeeld wilt u het doel (de vraag) mogelijk 3 maanden negatief laten liggen, zodat het model traint op de juiste relatie. Zie Een tijdreeksprognosemodel automatisch trainen voor meer informatie.

Opmerking over automatische detectie van doelvertragingen en de grootte van het doorlopende venster. Zie de bijbehorende opmerkingen in de sectie Voortschrijdend venster. We gebruiken het volgende algoritme om de optimale doelvertraging en de grootte van het doorlopende venster te detecteren.

  1. Maak een schatting van de maximale vertragingsvolgorde voor de functieselectie voor terugkijken. In ons geval is het het aantal perioden tot de volgende datumfrequentiegranulariteit, dus als frequentie dagelijks is, is het een week (7), als het een week is, is het maand (4). Deze waarden vermenigvuldigd met twee zijn de grootst mogelijke waarden van lags/rolling windows. In onze voorbeelden kijken we naar de maximale vertragingsvolgorde van respectievelijk 14 en 8).

  2. Maak een niet-seizoensgebonden reeks door trend- en restonderdelen toe te voegen. Dit wordt gebruikt in de volgende stap.

  3. Schat de PACF - Partial Auto Correlation Function op de gegevens van (2) en zoek naar punten, waarbij de automatische correlatie significant is, d.w.z. de absolute waarde meer is dan 1,96/square_root (maximale vertragingswaarde), wat overeenkomt met de significantie van 95%.

  4. Als alle punten belangrijk zijn, beschouwen we dit als een sterke seizoensgebondenheid en maken we geen lookback-functies.

  5. We scannen de PACF-waarden vanaf het begin en de waarde voordat de eerste onbelangrijke automatische correlatie de vertraging aangeeft. Als het eerste significante element (waarde correleert met zichzelf) wordt gevolgd door onbeduidend, is de vertraging 0 en gebruiken we geen functies voor terugkijken.

feature_lags
str of None
standaardwaarde: None

Vlag voor het genereren van vertragingen voor de numerieke functies met 'auto' of Geen.

target_rolling_window_size
int, str of None
standaardwaarde: None

Het aantal eerdere perioden dat is gebruikt voor het maken van een voortschrijdend venster gemiddelde van de doelkolom.

Bij het voorspellen vertegenwoordigt deze parameter n historische perioden die moeten worden gebruikt om voorspelde waarden te genereren, <= grootte van trainingsset. Als u dit weglaat, is n de volledige grootte van de trainingsset. Geef deze parameter op als u alleen rekening wilt houden met een bepaalde hoeveelheid geschiedenis bij het trainen van het model. Als dit is ingesteld op 'auto', wordt rolling window geschat als de laatste waarde waarbij de PACF meer is dan de drempelwaarde voor significantie. Zie target_lags sectie voor meer informatie.

holiday_country
str of None
standaardwaarde: None
seasonality
int, str of None
standaardwaarde: auto

Stel de seizoensgebondenheid van tijdreeksen in als een veelvoud van een geheel getal van de reeksfrequentie. Als seizoensgebondenheid is ingesteld op 'automatisch', wordt dit afgeleid. Als deze optie is ingesteld op Geen, wordt uitgegaan van een niet-seizoensgebonden tijdreeks die gelijk is aan seizoensgebondenheid=1.

country_or_region_for_holidays
str of None
standaardwaarde: None

Het land/de regio die wordt gebruikt voor het genereren van vakantiefuncties. Deze moeten ISO 3166 tweeletterige land-/regiocodes zijn, bijvoorbeeld 'VS' of 'GB'.

use_stl
str of None
standaardwaarde: None

Configureer STL-ontleding van de doelkolom van de tijdreeks. use_stl kan drie waarden aannemen: Geen (standaard) - geen stl-decompositie, 'season' - alleen seizoensonderdeel genereren en season_trend - zowel seizoens- als trendonderdelen genereren.

short_series_handling
bool
standaardwaarde: True

De verwerking van korte reeksen configureren voor het voorspellen van taken.

short_series_handling_configuration
str of None
standaardwaarde: auto

De parameter die definieert hoe autoML korte tijdreeksen moet verwerken.

Mogelijke waarden: 'auto' (standaard), 'pad', 'drop' en None.

  • automatische korte reeksen worden opgevuld als er geen lange reeksen zijn, anders worden korte reeksen verwijderd.
  • pad alle korte reeksen worden opgevuld.
  • alle korte reeksen worden verwijderd".
  • Geen de korte reeks wordt niet gewijzigd. Als dit is ingesteld op 'pad', wordt de tabel opgevuld met de nullen en lege waarden voor de regressors en willekeurige waarden voor het doel met het gemiddelde dat gelijk is aan de doelwaarde mediaan voor de opgegeven tijdreeks-id. Als de mediaan meer of gelijk is aan nul, wordt de minimale opgevulde waarde met nul afgekapt. Invoer:

Datum

numeric_value

Tekenreeks

Doel

2020-01-01

23

groen

55

De uitvoer ervan uitgaande dat het minimale aantal waarden vier is:

Datum

numeric_value

Tekenreeks

Doel

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

groen

55

Opmerking: We hebben twee parameters short_series_handling_configuration en verouderde short_series_handling. Wanneer beide parameters zijn ingesteld, worden ze gesynchroniseerd zoals wordt weergegeven in de onderstaande tabel (short_series_handling_configuration en short_series_handling zijn gemarkeerd als respectievelijk handling_configuration en verwerking).

Behandeling

handling_configuration

resulterende verwerking

resulterende handling_configuration

Waar

auto

Waar

auto

Waar

pad

Waar

auto

Waar

drop

Waar

auto

Waar

Geen

False

Geen

False

auto

Niet waar

Geen

False

pad

False

Geen

False

drop

False

Geen

False

Geen

False

Geen

freq
str of None
standaardwaarde: None

Prognosefrequentie.

Bij het maken van prognoses geeft deze parameter de periode aan waarmee de prognose wordt gewenst, bijvoorbeeld dagelijks, wekelijks, jaarlijks, enzovoort. De prognosefrequentie is standaard de frequentie van de gegevensset. U kunt deze desgewenst instellen op een hogere (maar niet minder) dan de frequentie van de gegevensset. We aggregeren de gegevens en genereren de resultaten met de prognosefrequentie. Voor dagelijkse gegevens kunt u bijvoorbeeld instellen dat de frequentie dagelijks, wekelijks of maandelijks is, maar niet per uur. De frequentie moet een pandas-offsetalias zijn. Raadpleeg de pandas-documentatie voor meer informatie: https://pandas.pydata.org/pandas-docs/stable/user_guide/timeseries.html#dateoffset-objects

target_aggregation_function
str of None
standaardwaarde: None

De functie die moet worden gebruikt om de doelkolom van de tijdreeks te aggregeren om te voldoen aan een door de gebruiker opgegeven frequentie. Als de target_aggregation_function is ingesteld, maar de freq-parameter niet is ingesteld, treedt de fout op. De mogelijke doelaggregatiefuncties zijn: 'sum', 'max', 'min' en 'mean'.

  • De waarden van de doelkolom worden geaggregeerd op basis van de opgegeven bewerking. Normaal gesproken is som geschikt voor de meeste scenario's.

  • Numerieke voorspellende kolommen in uw gegevens worden geaggregeerd op som, gemiddelde, minimumwaarde en maximumwaarde. Als gevolg hiervan genereert geautomatiseerde ML nieuwe kolommen met achtervoegsel met de naam van de aggregatiefunctie en wordt de geselecteerde aggregatiebewerking toegepast.

  • Voor categorische voorspellende kolommen worden de gegevens geaggregeerd op modus, de meest prominente categorie in het venster.

  • Datum voorspellende kolommen worden geaggregeerd op basis van minimumwaarde, maximumwaarde en modus.

Freq

target_aggregation_function

Mechanisme voor het herstellen van gegevens regelmatigheid

Geen (standaard)

Geen (standaard)

De aggregatie wordt niet toegepast. Als de geldige frequentie niet kan worden bepaald, wordt de fout gegenereerd.

Bepaalde waarde

Geen (standaard)

De aggregatie wordt niet toegepast. Als het aantal gegevenspunten dat aan het opgegeven frequentieraster voldoet kleiner is dan 90%, worden deze punten verwijderd, anders treedt de fout op.

Geen (standaard)

Aggregatiefunctie

De fout over ontbrekende frequentieparameter wordt gegenereerd.

Bepaalde waarde

Aggregatiefunctie

Aggregeren naar frequentie met behulp van de functie providedaggregation.

cv_step_size
str, int of None
standaardwaarde: auto

Aantal perioden tussen de origin_time van de ene CV-vouw en de volgende. Als bijvoorbeeld n_step = 3 voor dagelijkse gegevens, is de oorsprongstijd voor elke vouw drie dagen uit elkaar.

validate_parameters
bool
standaardwaarde: True

Configureer om invoerparameters te valideren.

features_unknown_at_forecast_time
standaardwaarde: None
_enable_future_regressors
standaardwaarde: False

Methoden

from_parameters_dict

Maak de klasse ForecastingParameters op basis van een dict.

validate_parameters

Valideer de parameters in de klasse ForecastingParameters.

from_parameters_dict

Maak de klasse ForecastingParameters op basis van een dict.

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

Parameters

parameter_dict
Vereist

Het dict bevat alle prognoseparameters.

validate_params
Vereist

Of u de invoerparameter wilt valideren of niet.

show_deprecate_warnings
standaardwaarde: True

Schakel over om de waarschuwing voor afgeschafte parameters weer te geven.

validate_parameters

Valideer de parameters in de klasse ForecastingParameters.

validate_parameters()

Kenmerken

country_or_region_for_holidays

Het land/de regio die wordt gebruikt voor het genereren van vakantiefuncties. Dit moet een ISO 3166-land-/regiocode van twee letters zijn, bijvoorbeeld 'US' of 'GB'.

cv_step_size

Aantal perioden tussen de origin_time van de ene CV-vouw en de volgende. Als bijvoorbeeld n_step = 3 voor dagelijkse gegevens, is de oorsprongstijd voor elke vouw drie dagen uit elkaar.

drop_column_names

De namen van kolommen die moeten worden verwijderd voor prognosetaken.

dropna

Configureer dropna in timeseries-gegevenstransformatie.

feature_lags

Vlag voor het genereren van vertragingen voor de numerieke functies.

features_unknown_at_forecast_time

De kolomnaam(en) van functies die beschikbaar zijn voor training, maar die onbekend zijn op prognose-/deductietijd. Als dit niet is gedefinieerd, wordt ervan uitgegaan dat alle functiekolommen bekend zijn op het moment van de prognose.

forecast_horizon

De gewenste maximale voorspellingshorizon in eenheden van tijdreeksfrequentie. De standaardwaarde is 1. Eenheden zijn gebaseerd op het tijdsinterval van uw trainingsgegevens, bijvoorbeeld maandelijks, wekelijks dat de prognose moet voorspellen.

formatted_drop_column_names

De opgemaakte namen van kolommen die moeten worden verwijderd voor prognosetaken.

formatted_group_column_names

formatted_target_lags

Het opgemaakte aantal eerdere perioden voor vertraging van de doelkolom.

formatted_time_series_id_column_names

De namen van kolommen die worden gebruikt om een tijdreeks te groepeert. Het kan worden gebruikt om meerdere reeksen te maken. Als time_series_id_column_names niet is gedefinieerd, wordt ervan uitgegaan dat de gegevensset één tijdreeks is.

formatted_unknown_features

De kolomnaam(en) van functies die beschikbaar zijn voor training, maar die onbekend zijn op prognose-/deductietijd. Als dit niet is gedefinieerd, wordt ervan uitgegaan dat alle functiekolommen bekend zijn op het moment van de prognose. Alleen ondersteund in dnn/tcn. Wanneer de gebruiker niets opgeeft, worden toekomstige functies niet ingeschakeld in dnn. Als ze echter een lege lijst bieden, worden toekomstige functies ingeschakeld en wordt ervan uitgegaan dat alle functiekolommen bekend zijn op het moment van de prognose.

freq

De frequentie van de gegevensset.

group_column_names

holiday_country

Het land/de regio die wordt gebruikt voor het genereren van vakantiefuncties. Dit moet een ISO 3166-land-/regiocode van twee letters zijn, bijvoorbeeld 'US' of 'GB'.

overwrite_columns

Configureer overwrite_columns in tijdseriegegevenstransformatie.

seasonality

Tijdreeksseizoensgebondenheid als een geheel getal veelvoud van de reeksfrequentie.

short_series_handling_configuration

Retourneer als korte korrel moet worden opgevuld.

target_aggregation_function

Retourneer de doelaggregatiefunctie.

target_lags

Het aantal eerdere perioden voor vertraging van de doelkolom.

target_rolling_window_size

time_column_name

De naam van de tijdkolom. Deze parameter is vereist bij het voorspellen van de datum/tijd-kolom in de invoergegevens die worden gebruikt voor het samenstellen van de tijdreeks en het afleiden van de frequentie.

time_series_id_column_names

De namen van kolommen die worden gebruikt om een tijdreeks te groepeert. Het kan worden gebruikt om meerdere reeksen te maken. Als time_series_id_column_names niet is gedefinieerd, wordt ervan uitgegaan dat de gegevensset één tijdreeks is.

transform_dictionary

Configureer transform_dictionary in tijdseriegegevenstransformatie.

use_stl

Configureer STL-ontleding van de doelkolom van de tijdreeks. use_stl kan drie waarden aannemen: Geen (standaard) - geen stl-decompositie, 'season' - alleen seizoensonderdeel genereren en season_trend - zowel seizoens- als trendonderdelen genereren.

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