ForecastingParameters Klasa
Zarządzanie parametrami używanymi przez zadania prognozowania.
- Dziedziczenie
-
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)
Parametry
- time_column_name
- str
Nazwa kolumny czasu. Ten parametr jest wymagany podczas prognozowania w celu określenia kolumny datetime w danych wejściowych używanych do tworzenia szeregów czasowych i wnioskowania jego częstotliwości.
Żądany maksymalny horyzont prognozy w jednostkach częstotliwości szeregów czasowych. Wartość domyślna to 1.
Jednostki są oparte na interwale czasu danych treningowych, np. miesięcznych, cotygodniowych, które prognostyk powinien przewidzieć. Gdy typ zadania jest prognozowany, ten parametr jest wymagany. Aby uzyskać więcej informacji na temat ustawiania parametrów prognozowania, zobacz Auto-train a time-series forecast model (Automatyczne trenowanie modelu prognozy szeregów czasowych).
Nazwy kolumn używanych do grupowania przedziałów czasu. Może służyć do tworzenia wielu serii. Jeśli nazwy kolumn identyfikatorów szeregów czasowych nie są zdefiniowane lub określone kolumny identyfikatorów nie identyfikują wszystkich serii w zestawie danych, identyfikatory szeregów czasowych zostaną automatycznie utworzone dla zestawu danych.
Liczba poprzednich okresów do opóźnienia z kolumny docelowej. Domyślnie opóźnienia są wyłączone.
Podczas prognozowania ten parametr reprezentuje liczbę wierszy do opóźnienia wartości docelowych na podstawie częstotliwości danych. Jest to reprezentowane jako lista lub pojedyncza liczba całkowita. Opóźnienie powinno być używane, gdy relacja między zmiennymi niezależnymi i zmienną zależną nie jest domyślnie zgodna ani skorelowana. Na przykład podczas próby prognozowania popytu na produkt popyt w dowolnym miesiącu może zależeć od ceny określonych towarów 3 miesiące wcześniej. W tym przykładzie możesz chcieć negatywnie opóźnić wartość docelową (zapotrzebowanie) o 3 miesiące, aby model trenował w odpowiedniej relacji. Aby uzyskać więcej informacji, zobacz Auto-train a time-series forecast model (Automatyczne trenowanie modelu prognozy szeregów czasowych).
Uwaga dotycząca automatycznego wykrywania opóźnień docelowych i rozmiaru okna kroczącego. Zapoznaj się z odpowiednimi komentarzami w sekcji okna kroczącego. Używamy następnego algorytmu do wykrywania optymalnego opóźnienia docelowego i rozmiaru okna kroczącego.
Szacowanie maksymalnej kolejności opóźnień dla zaznaczenia funkcji wyszukiwania wstecz. W naszym przypadku jest to liczba okresów do poziomu szczegółowości częstotliwości następnej daty, tj. jeśli częstotliwość jest codziennie, będzie to tydzień (7), jeśli jest to tydzień, będzie to miesiąc (4). Te wartości pomnożone przez dwa są największą możliwą wartością opóźnień/okien kroczących. W naszych przykładach rozważymy maksymalną kolejność opóźnień odpowiednio 14 i 8).
Utwórz serię zde sezonyzowaną przez dodanie trendu i składników reszt. Będzie to używane w następnym kroku.
Szacuj funkcję PACF — częściowa automatyczna korelacja danych z (2) i wyszukaj punkty, w których automatyczna korelacja jest znacząca, tj. jej wartość bezwzględna jest większa niż 1,96/square_root (wartość maksymalnego opóźnienia), która odpowiada istotności 95%.
Jeśli wszystkie punkty są istotne, uważamy, że jest to silna sezonowość i nie tworzymy funkcji wstecz.
Skanujemy wartości PACF od początku, a wartość przed pierwszą nieistotną automatyczną korelacją wyznaczy opóźnienie. Jeśli pierwszy znaczący element (wartość jest skorelowana z samym sobą), następuje nieznaczne, opóźnienie będzie równe 0 i nie będziemy używać funkcji wstecz.
Flaga generowania opóźnień dla funkcji liczbowych z wartością "auto" lub brakiem.
Liczba poprzednich okresów użytych do utworzenia średniej okna kroczącego kolumny docelowej.
Podczas prognozowania ten parametr reprezentuje n okresów historycznych do użycia do generowania wartości prognozowanych, <= rozmiar zestawu treningowego. Jeśli pominięto, n jest pełnym rozmiarem zestawu treningowego. Określ ten parametr, jeśli chcesz wziąć pod uwagę tylko określoną ilość historii podczas trenowania modelu. Jeśli zostanie ustawiona wartość "auto", okno kroczące będzie szacowane jako ostatnia wartość, w której wartość PACF jest większa niż próg istotności. Aby uzyskać szczegółowe informacje, zobacz sekcję target_lags.
Ustaw sezonowość szeregów czasowych jako liczbę całkowitą częstotliwości serii. Jeśli sezonowość jest ustawiona na wartość "auto", zostanie ona wywnioskowana. Jeśli jest ustawiona wartość Brak, przyjmuje się, że szereg czasowy jest niesezonowy, co jest równoważne sezonowości =1.
Kraj/region używany do generowania funkcji wakacji. Powinny to być dwuliterowe kody kraju/regionu ISO 3166, na przykład "USA" lub "GB".
Skonfiguruj dekompozycję STL kolumny docelowej szeregów czasowych. use_stl może przyjmować trzy wartości: Brak (wartość domyślna) — brak dekompozycji stl, "season" — tylko generuj składnik sezonu i season_trend — generuje zarówno składniki sezonu, jak i trendu.
- short_series_handling
- bool
Konfigurowanie obsługi serii krótkiej na potrzeby zadań prognozowania.
Parametr definiujący sposób obsługi krótkich szeregów czasowych przez rozwiązanie AutoML.
Możliwe wartości: "auto" (ustawienie domyślne), "pad", "drop" i None.
- automatyczna seria krótka zostanie dopełniona, jeśli nie ma długiej serii, w przeciwnym razie seria krótka zostanie porzucona.
- pad wszystkie krótkie serie zostaną wypełnione.
- upuść wszystkie serie krótkie zostaną porzucone".
- Żadna z krótkich serii nie zostanie zmodyfikowana. Jeśli zostanie ustawiona wartość "pad", tabela zostanie dopełniona zerami i pustymi wartościami dla regresorów i wartości losowych dla wartości docelowej z medianą wartości docelowej równej wartości docelowej dla danego identyfikatora szeregów czasowych. Jeśli mediana jest większa lub równa zero, minimalna dopełniona wartość zostanie obcięta przez zero. Dane wejściowe:
Data
numeric_value
ciąg
Docelowego
2020-01-01
23
green
55
Dane wyjściowe przy założeniu, że minimalna liczba wartości to cztery:
Data
numeric_value
ciąg
Docelowego
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
Uwaga: Mamy dwa parametry short_series_handling_configuration i starsze short_series_handling. Po ustawieniu obu parametrów są one synchronizowane, jak pokazano w poniższej tabeli (short_series_handling_configuration i short_series_handling dla zwięzłości są oznaczone odpowiednio jako handling_configuration i obsługa).
Obsługi
handling_configuration
obsługa wynikowa
wynikowe handling_configuration
Prawda
auto
Prawda
auto
Prawda
Pad
Prawda
auto
Prawda
drop
Prawda
auto
Prawda
Brak
Fałsz
Brak
Fałsz
auto
Fałsz
Brak
Fałsz
Pad
Fałsz
Brak
Fałsz
drop
Fałsz
Brak
Fałsz
Brak
Fałsz
Brak
Częstotliwość prognozowania.
Podczas prognozowania ten parametr reprezentuje okres, z którym jest wymagana prognoza, na przykład codziennie, co tydzień, co rok itp. Częstotliwość prognozy jest domyślnie częstotliwością zestawu danych. Opcjonalnie można ustawić ją na większą (ale nie mniejszą) niż częstotliwość zestawu danych. Zagregujemy dane i wygenerujemy wyniki z częstotliwością prognozy. Na przykład w przypadku danych dziennych można ustawić częstotliwość na codziennie, co tydzień lub co miesiąc, ale nie godzinowo. Częstotliwość musi być aliasem przesunięcia biblioteki pandas. Aby uzyskać więcej informacji, zapoznaj się z dokumentacją biblioteki pandas: https://pandas.pydata.org/pandas-docs/stable/user_guide/timeseries.html#dateoffset-objects
Funkcja używana do agregowania kolumny docelowej szeregów czasowych w celu zachowania zgodności z określoną częstotliwością użytkownika. Jeśli target_aggregation_function jest ustawiona, ale parametr freq nie jest ustawiony, zostanie zgłoszony błąd. Możliwe funkcje agregacji docelowej to: "sum", "max", "min" i "mean".
Wartości kolumny docelowej są agregowane na podstawie określonej operacji. Zazwyczaj suma jest odpowiednia dla większości scenariuszy.
Kolumny predyktora liczbowego w danych są agregowane według sumy, średniej, wartości minimalnej i wartości maksymalnej. W rezultacie zautomatyzowane uczenie maszynowe generuje nowe kolumny z sufiksem nazwy funkcji agregacji i stosuje wybraną operację agregacji.
W przypadku kolumn predyktora kategorycznego dane są agregowane według trybu, najbardziej widocznej kategorii w oknie.
Kolumny predyktora dat są agregowane według wartości minimalnej, maksymalnej wartości i trybu.
Freq
target_aggregation_function
Mechanizm naprawiania regularności danych
Brak (wartość domyślna)
Brak (wartość domyślna)
Agregacja nie jest stosowana. Jeśli prawidłowa częstotliwość nie może zostać określona, zostanie zgłoszony błąd.
Niektóre wartości
Brak (wartość domyślna)
Agregacja nie jest stosowana. Jeśli liczba punktów danych zgodnych z daną siatką częstotliwości jest mniejsza, zostanie usunięta 90%, w przeciwnym razie zostanie zgłoszony błąd.
Brak (wartość domyślna)
Funkcja agregacji
Zgłoszony błąd dotyczący brakujących parametrów częstotliwości.
Niektóre wartości
Funkcja agregacji
Agregowanie do częstotliwości przy użyciu funkcji providedaggregation.
Liczba krosek między origin_time jednego składania CV a następną fałdą. Jeśli na przykład n_step = 3 dla danych dziennych, czas pochodzenia każdej krotnie będzie wynosić trzy dni od siebie.
- validate_parameters
- bool
Skonfiguruj do sprawdzania poprawności parametrów wejściowych.
- features_unknown_at_forecast_time
- _enable_future_regressors
Metody
from_parameters_dict |
Konstruowanie klasy ForecastingParameters z dyktu. |
validate_parameters |
Zweryfikuj parametry w klasie ForecastingParameters. |
from_parameters_dict
Konstruowanie klasy ForecastingParameters z dyktu.
static from_parameters_dict(parameter_dict: Dict[str, Any], validate_params: bool, show_deprecate_warnings: bool | None = True) -> ForecastingParameters
Parametry
- parameter_dict
Dykt zawiera wszystkie parametry prognozowania.
- validate_params
Niezależnie od tego, czy weryfikują parametr wejściowy, czy nie.
- show_deprecate_warnings
Przełącz się, aby wyświetlić ostrzeżenie o przestarzałych parametrach.
validate_parameters
Zweryfikuj parametry w klasie ForecastingParameters.
validate_parameters()
Atrybuty
country_or_region_for_holidays
Kraj/region używany do generowania funkcji wakacji. Powinny to być dwuliterowe kody kraju/regionu ISO 3166, na przykład "USA" lub "GB".
cv_step_size
Liczba krot między origin_time jednej krotnie CV a następną krotą. Na przykład jeśli n_step = 3 dla danych dziennych, czas pochodzenia dla każdej krotnie będzie wynosić trzy dni od siebie.
drop_column_names
Nazwy kolumn do porzucania dla zadań prognozowania.
dropna
Skonfiguruj funkcję dropna w funkcji przekształcania danych w czasie.
feature_lags
Flaga generowania opóźnień dla funkcji liczbowych.
features_unknown_at_forecast_time
Nazwy kolumn funkcji, które są dostępne do trenowania, ale nieznane w czasie prognozowania/wnioskowania. Jeśli nie jest to zdefiniowane, zakłada się, że wszystkie kolumny funkcji są znane w czasie prognozy.
forecast_horizon
Żądany maksymalny horyzont prognozy w jednostkach częstotliwości szeregów czasowych. Wartość domyślna to 1. Jednostki są oparte na interwale czasu danych treningowych, np. miesięcznych, cotygodniowych, które prognostyk powinien przewidzieć.
formatted_drop_column_names
Sformatowane nazwy kolumn do upuszczania dla zadań prognozowania.
formatted_group_column_names
formatted_target_lags
Sformatowana liczba poprzednich okresów do opóźnienia z kolumny docelowej.
formatted_time_series_id_column_names
Nazwy kolumn używanych do grupowania przedziałów czasu. Może służyć do tworzenia wielu serii. Jeśli time_series_id_column_names nie jest zdefiniowana, zakłada się, że zestaw danych jest jednym szeregem czasowym.
formatted_unknown_features
Nazwy kolumn funkcji, które są dostępne do trenowania, ale nieznane w czasie prognozowania/wnioskowania. Jeśli nie jest to zdefiniowane, zakłada się, że wszystkie kolumny funkcji są znane w czasie prognozy. Obsługiwane tylko w dnn/tcn. Jeśli użytkownik nie określa niczego, przyszłe funkcje nie są włączone w dnn. Jeśli jednak udostępniają pustą listę, przyszłe funkcje są włączone, a wszystkie kolumny funkcji są znane w czasie prognozy.
freq
Częstotliwość zestawu danych.
group_column_names
holiday_country
Kraj/region używany do generowania funkcji wakacji. Powinny to być dwuliterowe kody kraju/regionu ISO 3166, na przykład "USA" lub "GB".
overwrite_columns
Skonfiguruj overwrite_columns w funkcji przekształcania danych w czasie.
seasonality
Sezonowość szeregów czasowych jako liczba całkowita wielokrotności częstotliwości serii.
short_series_handling_configuration
Zwracaj, jeśli krótkie ziarno powinno być dopełnione.
target_aggregation_function
Zwróć docelową funkcję agregacji.
target_lags
Liczba poprzednich okresów do opóźnienia z kolumny docelowej.
target_rolling_window_size
time_column_name
Nazwa kolumny czasu. Ten parametr jest wymagany podczas prognozowania w celu określenia kolumny datetime w danych wejściowych używanych do tworzenia szeregów czasowych i wnioskowania jego częstotliwości.
time_series_id_column_names
Nazwy kolumn używanych do grupowania przedziałów czasu. Może służyć do tworzenia wielu serii. Jeśli time_series_id_column_names nie jest zdefiniowana, zakłada się, że zestaw danych jest jednym szeregem czasowym.
transform_dictionary
Skonfiguruj transform_dictionary w funkcji przekształcania danych w czasie.
use_stl
Skonfiguruj dekompozycję STL kolumny docelowej szeregów czasowych. use_stl może przyjmować trzy wartości: Brak (wartość domyślna) — brak dekompozycji stl, "season" — tylko generuj składnik sezonu i season_trend — generuje zarówno składniki sezonu, jak i trendu.
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
Opinia
https://aka.ms/ContentUserFeedback.
Już wkrótce: w ciągu 2024 r. będziemy stopniowo usuwać problemy z usługą GitHub jako mechanizm opinii na temat zawartości i zastępować go nowym systemem opinii. Aby uzyskać więcej informacji, sprawdź:Prześlij i wyświetl opinię dla