ForecastingParameters Klas
Parameters beheren die worden gebruikt door het voorspellen van taken.
- Overname
-
builtins.objectForecastingParameters
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
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.
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.
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.
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.
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).
Maak een niet-seizoensgebonden reeks door trend- en restonderdelen toe te voegen. Dit wordt gebruikt in de volgende stap.
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%.
Als alle punten belangrijk zijn, beschouwen we dit als een sterke seizoensgebondenheid en maken we geen lookback-functies.
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.
Vlag voor het genereren van vertragingen voor de numerieke functies met 'auto' of Geen.
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.
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.
Het land/de regio die wordt gebruikt voor het genereren van vakantiefuncties. Deze moeten ISO 3166 tweeletterige land-/regiocodes zijn, bijvoorbeeld 'VS' of 'GB'.
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
De verwerking van korte reeksen configureren voor het voorspellen van taken.
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
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
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.
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.
- features_unknown_at_forecast_time
- _enable_future_regressors
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
Het dict bevat alle prognoseparameters.
- validate_params
Of u de invoerparameter wilt valideren of niet.
- show_deprecate_warnings
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
Feedback
https://aka.ms/ContentUserFeedback.
Binnenkort beschikbaar: In de loop van 2024 zullen we GitHub-problemen geleidelijk uitfaseren als het feedbackmechanisme voor inhoud en deze vervangen door een nieuw feedbacksysteem. Zie voor meer informatie:Feedback verzenden en weergeven voor