Condividi tramite


ForecastingParameters Classe

Gestire i parametri usati dalle attività di previsione.

Ereditarietà
builtins.object
ForecastingParameters

Costruttore

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)

Parametri

time_column_name
str
valore predefinito: None

Nome della colonna temporale. Questo parametro è necessario quando si prevede di specificare la colonna datetime nei dati di input usati per la compilazione della serie temporale e l'inferenza della frequenza.

forecast_horizon
int oppure str
valore predefinito: 1

Orizzonte di previsione massimo desiderato in unità di frequenza della serie temporale. Il valore predefinito è 1.

Le unità si basano sull'intervallo di tempo dei dati di training, ad esempio mensile, settimanale che il previsionere deve prevedere. Quando si prevede il tipo di attività, è necessario questo parametro. Per altre informazioni sull'impostazione dei parametri di previsione, vedere Training automatico di un modello di previsione della serie temporale.

time_series_id_column_names
str oppure list(str)
valore predefinito: None

Nomi di colonne usate per raggruppare un timeeries. Può essere usato per creare più serie. Se i nomi delle colonne id serie temporale non sono definiti o le colonne di identificatore specificate non identificano tutte le serie nel set di dati, gli identificatori della serie temporale verranno creati automaticamente per il set di dati.

group_column_names
str oppure list(str)
valore predefinito: None
target_lags
int, str oppure list(int)
valore predefinito: None

Numero di periodi passati da cui eseguire il ritardo dalla colonna di destinazione. Per impostazione predefinita, i lag vengono disattivati.

Quando si prevede, questo parametro rappresenta il numero di righe per il ritardo dei valori di destinazione in base alla frequenza dei dati. Questo valore viene rappresentato come elenco o intero singolo. Il ritardo deve essere usato quando la relazione tra le variabili indipendenti e la variabile dipendente non corrispondono o correlano per impostazione predefinita. Ad esempio, quando si tenta di prevedere la richiesta di un prodotto, la richiesta per un mese specifico può dipendere dal prezzo di determinati prodotti nei tre mesi precedenti. In questo esempio, è possibile che si voglia ritardare la destinazione (richiesta) negativamente di tre mesi, in modo che il modello sia in grado di eseguire il training sulla relazione corretta. Per altre informazioni, vedere Eseguire il training automatico di un modello di previsione della serie temporale.

Nota sul rilevamento automatico dei ritardi di destinazione e sulle dimensioni della finestra in sequenza. Vedere i commenti corrispondenti nella sezione della finestra in sequenza. Viene usato l'algoritmo successivo per rilevare il ritardo di destinazione ottimale e le dimensioni della finestra in sequenza.

  1. Stimare l'ordine massimo di ritardo per la selezione delle funzionalità di ricerca. Nel nostro caso è il numero di periodi fino alla granularità della frequenza di data successiva, ad esempio se la frequenza è giornaliera, sarà una settimana (7), se è una settimana, sarà mese (4). I valori moltiplicati per due sono i valori più grandi possibili di lag/finestre in sequenza. Negli esempi si considererà rispettivamente l'ordine massimo di ritardo di 14 e 8.

  2. Creare una serie de-stagionalizzata aggiungendo componenti di tendenza e residui. Questa operazione verrà usata nel passaggio successivo.

  3. Stimare la funzione PACF - Correlazione automatica parziale sui dati da (2) e cercare punti, dove la correlazione automatica è significativa, ad esempio il relativo valore assoluto è più di 1,96/square_root(valore massimo di ritardo), che corrisponde al significato del 95%.

  4. Se tutti i punti sono significativi, si considera che sia forte stagionalità e non creare funzionalità di ricerca.

  5. Si analizzano i valori PACF dall'inizio e il valore prima della prima correlazione automatica insignificante designerà il ritardo. Se il primo elemento significativo (valore correlato a se stesso) è seguito da insignificante, il ritardo sarà 0 e non useremo le funzionalità di ricerca.

feature_lags
str oppure None
valore predefinito: None

Contrassegno per la generazione di ritardi per le funzionalità numeriche con 'auto' o Nessuno.

target_rolling_window_size
int, str oppure None
valore predefinito: None

Numero di periodi precedenti usati per creare una media di finestra in sequenza della colonna di destinazione.

Quando si prevede, questo parametro rappresenta n periodi cronologici da usare per generare valori previsti, <= dimensioni del set di training. Se omesso, n è la dimensione massima del set di training. Specificare questo parametro quando si vuole considerare solo una certa quantità di dati cronologici durante il training del modello. Se impostato su 'auto', la finestra di sequenza verrà stimata come ultimo valore in cui il PACF è più la soglia di importanza. Per informazioni dettagliate, vedere la sezione target_lags.

holiday_country
str oppure None
valore predefinito: None
seasonality
int, str oppure None
valore predefinito: auto

Impostare la stagionalità delle serie temporali come numero intero multiplo della frequenza della serie. Se la stagionalità è impostata su 'auto', verrà dedotto. Se impostato su Nessuno, la serie temporale viene presupposta non stagionale equivalente alla stagionalità=1.

country_or_region_for_holidays
str oppure None
valore predefinito: None

Paese/area geografica usata per generare funzionalità di vacanza. Questi devono essere ISO 3166 codici paese/area geografica, ad esempio "US" o "GB".

use_stl
str oppure None
valore predefinito: None

Configurare la sTL Decomposition della colonna di destinazione della serie temporale. use_stl può accettare tre valori: Nessuno (impostazione predefinita) - nessuna stl decomposition, 'season' - genera solo componente stagione e season_trend - genera componenti di stagione e di tendenza.

short_series_handling
bool
valore predefinito: True

Configurare la gestione di serie brevi per le attività di previsione.

short_series_handling_configuration
str oppure None
valore predefinito: auto

Parametro che definisce come se AutoML deve gestire serie temporali brevi.

Valori possibili: 'auto' (impostazione predefinita), 'pad', 'drop' e Nessuno.

  • la serie breve automatica verrà riempita se non sono presenti serie lunghe, in caso contrario, verrà eliminata una serie breve.
  • pad tutte le serie brevi verranno riempite.
  • drop all the short series will be dropd".
  • Nessuna serie breve non verrà modificata. Se impostato su "pad", la tabella verrà riempita con gli zero e i valori vuoti per i regressor e i valori casuali per la destinazione con la media media di destinazione uguale al valore di destinazione per l'ID serie temporale specificato. Se la median è maggiore o uguale a zero, il valore riempimento minimo verrà ritagliato per zero. Input:

Data

numeric_value

string

target

2020-01-01

23

green

55

L'output presupponendo un numero minimo di valori è quattro:

Data

numeric_value

string

target

2019-12-29

0

N/D

55.1

2019-12-30

0

N/D

55.6

2019-12-31

0

N/D

54.5

2020-01-01

23

green

55

Nota: Sono disponibili due parametri short_series_handling_configuration e short_series_handling legacy. Quando vengono impostati entrambi i parametri, vengono sincronizzati come illustrato nella tabella seguente (short_series_handling_configuration e short_series_handling per brevità vengono contrassegnati rispettivamente come handling_configuration e gestione).

gestione

handling_configuration

gestione risultante

handling_configuration risultante

True

auto

True

auto

True

pad

True

auto

True

drop

True

auto

True

Nessuno

Falso

Nessuno

Falso

auto

Falso

Nessuno

Falso

pad

Falso

Nessuno

Falso

drop

Falso

Nessuno

Falso

Nessuno

Falso

Nessuno

freq
str oppure None
valore predefinito: None

Frequenza di previsione.

Quando si prevede, questo parametro rappresenta il periodo con cui è desiderata la previsione, ad esempio giornaliera, settimanale, annuale e così via. La frequenza di previsione è la frequenza del set di dati per impostazione predefinita. Facoltativamente, è possibile impostarla su maggiore (ma non minore) rispetto alla frequenza del set di dati. Aggregare i dati e generare i risultati in base alla frequenza di previsione. Ad esempio, per i dati giornalieri, è possibile impostare la frequenza per essere giornaliera, settimanale o mensile, ma non oraria. La frequenza deve essere un alias di offset pandas. Per altre informazioni, vedere la documentazione di Pandas: https://pandas.pydata.org/pandas-docs/stable/user_guide/timeseries.html#dateoffset-objects

target_aggregation_function
str oppure None
valore predefinito: None

Funzione da utilizzare per aggregare la colonna di destinazione della serie temporale in modo che sia conforme a una frequenza specificata dall'utente. Se la target_aggregation_function è impostata, ma il parametro freq non è impostato, viene generato l'errore. Le possibili funzioni di aggregazione di destinazione sono: "sum", "max", "min" e "mean".

  • I valori di colonna di destinazione vengono aggregati in base all'operazione specificata. In genere, la somma è appropriata per la maggior parte degli scenari.

  • Le colonne di stima numerica nei dati vengono aggregate in base alla somma, alla media, al valore minimo e al valore massimo. Di conseguenza, ml automatizzato genera nuove colonne suffisso con il nome della funzione di aggregazione e applica l'operazione di aggregazione selezionata.

  • Per le colonne di stima categorica, i dati vengono aggregati in modalità, la categoria più importante nella finestra.

  • Le colonne di stima della data vengono aggregate in base al valore minimo, al valore massimo e alla modalità.

Freq

target_aggregation_function

Meccanismo di correzione della regolarità dei dati

Nessuno (Predefinito)

Nessuno (Predefinito)

L'aggregazione non viene applicata. Se la frequenza valida non può essere interrotta, verrà generato l'errore.

Alcuni valori

Nessuno (Predefinito)

L'aggregazione non viene applicata. Se il numero di punti dati conformi alla griglia di frequenza specificata è inferiore al 90%, questi punti verranno rimossi, altrimenti verrà generato l'errore.

Nessuno (Predefinito)

Funzione di aggregazione

Errore relativo ai parametri di frequenza mancanti generati.

Alcuni valori

Funzione di aggregazione

Aggregare alla frequenza usando la funzione di aggregazione fornita.

cv_step_size
str, int oppure None
valore predefinito: auto

Numero di periodi tra il origin_time di una piega cv e la successiva piega. Ad esempio, se n_step = 3 per i dati giornalieri, il tempo di origine per ogni piega sarà di tre giorni a parte.

validate_parameters
bool
valore predefinito: True

Configurare per convalidare i parametri di input.

features_unknown_at_forecast_time
valore predefinito: None
_enable_future_regressors
valore predefinito: False

Metodi

from_parameters_dict

Costruire la classe ForecastingParameters da una dict.

validate_parameters

Convalidare i parametri nella classe ForecastingParameters.

from_parameters_dict

Costruire la classe ForecastingParameters da una dict.

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

Parametri

parameter_dict
Necessario

La dict contiene tutti i parametri di previsione.

validate_params
Necessario

Indipendentemente dal fatto che il parametro di input venga convalidato o meno.

show_deprecate_warnings
valore predefinito: True

Passare a visualizzare l'avviso dei parametri deprecati.

validate_parameters

Convalidare i parametri nella classe ForecastingParameters.

validate_parameters()

Attributi

country_or_region_for_holidays

Paese/area geografica usata per generare funzionalità di vacanza. Questi devono essere ISO 3166 codice paese/area geografica, ad esempio 'US' o 'GB'.

cv_step_size

Numero di periodi tra il origin_time di una piega cv e la successiva piega. Ad esempio, se n_step = 3 per i dati giornalieri, il tempo di origine per ogni piega sarà di tre giorni a parte.

drop_column_names

Nomi di colonne da eliminare per le attività di previsione.

dropna

Configurare dropna in timeeries data transformer.

feature_lags

Contrassegno per la generazione di ritardi per le funzionalità numeriche.

features_unknown_at_forecast_time

I nomi di colonna delle funzionalità disponibili per il training ma sconosciuti in fase di previsione/inferenza. Se questa operazione non è definita, si presuppone che tutte le colonne di funzionalità siano note in fase di previsione.

forecast_horizon

Orizzonte di previsione massimo desiderato in unità di frequenza della serie temporale. Il valore predefinito è 1. Le unità si basano sull'intervallo di tempo dei dati di training, ad esempio mensile, settimanale che il previsionere deve prevedere.

formatted_drop_column_names

Nomi formattati di colonne da eliminare per le attività di previsione.

formatted_group_column_names

formatted_target_lags

Numero formattato di periodi passati per il ritardo dalla colonna di destinazione.

formatted_time_series_id_column_names

Nomi di colonne usate per raggruppare un timeeries. Può essere usato per creare più serie. Se time_series_id_column_names non è definito, si presuppone che il set di dati sia una serie temporale.

formatted_unknown_features

I nomi di colonna delle funzionalità disponibili per il training ma sconosciuti in fase di previsione/inferenza. Se questa operazione non è definita, si presuppone che tutte le colonne di funzionalità siano note in fase di previsione. Supportato solo in dnn/tcn. Quando l'utente non specifica nulla, le funzionalità future non sono abilitate in dnn. Tuttavia, se forniscono un elenco vuoto, le funzionalità future sono abilitate e tutte le colonne di funzionalità vengono considerate note in fase di previsione.

freq

Frequenza del set di dati.

group_column_names

holiday_country

Paese/area geografica usata per generare funzionalità di vacanza. Questi devono essere ISO 3166 codice paese/area geografica, ad esempio 'US' o 'GB'.

overwrite_columns

Configurare overwrite_columns in timeeries data transformer.

seasonality

Stagionalità delle serie temporali come numero intero multiplo della frequenza della serie.

short_series_handling_configuration

Restituisce se la grana breve deve essere riempita.

target_aggregation_function

Restituire la funzione di aggregazione di destinazione.

target_lags

Numero di periodi passati da cui eseguire il ritardo dalla colonna di destinazione.

target_rolling_window_size

time_column_name

Nome della colonna temporale. Questo parametro è necessario quando si prevede di specificare la colonna datetime nei dati di input usati per la compilazione della serie temporale e l'inferenza della frequenza.

time_series_id_column_names

Nomi di colonne usate per raggruppare un timeeries. Può essere usato per creare più serie. Se time_series_id_column_names non è definito, si presuppone che il set di dati sia una serie temporale.

transform_dictionary

Configurare transform_dictionary in timeeries data transformer.

use_stl

Configurare la sTL Decomposition della colonna di destinazione della serie temporale. use_stl può accettare tre valori: Nessuno (impostazione predefinita) - nessuna stl decomposition, 'season' - genera solo componente stagione e season_trend - genera componenti di stagione e di tendenza.

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