ForecastingPipelineWrapperBase Classe

Classe de base pour wrapper de modèle de prévision.

Héritage
ForecastingPipelineWrapperBase

Constructeur

ForecastingPipelineWrapperBase(ts_transformer: TimeSeriesTransformer | None = None, y_transformer: Pipeline | None = None, metadata: Dict[str, Any] | None = None)

Paramètres

ts_transformer
valeur par défaut: None
y_transformer
valeur par défaut: None
metadata
valeur par défaut: None

Méthodes

align_output_to_input

Aligne la trame de données de sortie transformée sur la trame de données d’entrée.

Remarque : transformed sera modifié par référence, aucune copie n’est créée. :param X_input : trame de données d’entrée. :param transformed : trame de données après la transformation. :returns : trame de données transformed avec son index d’origine, mais triée comme dans X_input.

fit

Ajustez le modèle avec les entrées X et y.

forecast

Effectue la prévision sur la trame de données X_pred.

forecast_quantiles

Obtient la prédiction et les quantiles à partir du pipeline ajusté.

is_grain_dropped

Retourne la valeur True si le fragment sera supprimé.

preaggregate_data_set

Agrège le jeu de données de prédiction.

Remarque : cette méthode ne garantit pas que le jeu de données sera agrégé. Cela se produit uniquement si le jeu de données contient les horodatages dupliqués ou les dates hors grille. :param df : jeu de données à agréger. :param y : valeurs cibles. :param is_training_set : si la valeur est True, les données représentent le jeu de formation. :return : jeu de données agrégé ou intact si aucune agrégation n’est requise.

preprocess_pred_X_y

Prétraiter la prédiction X et y.

rolling_evaluation

Produit des prévisions sur une origine dynamique sur le jeu de test donné.

Chaque itération établit une prévision pour les périodes « max_horizon » suivantes par rapport à l’origine actuelle, puis avance l’origine en fonction de la durée de l’horizon. Le contexte de prédiction de chaque prévision est défini de sorte que le forecaster utilise les valeurs cibles réelles avant l’heure d’origine actuelle pour construire les fonctionnalités de décalage.

Cette fonction retourne une trame de données concaténée de prévisions dynamiques jointes aux chiffres réels du jeu de test.

Cette méthode est déconseillée et sera supprimée dans une version ultérieure. Utilisez rolling_forecast() à la place.

rolling_forecast

Produire des prévisions sur une origine propagée sur un jeu de test.

Chaque itération établit une prévision des périodes d’horizon maximales à l’avance en utilisant des informations jusqu’à l’origine actuelle, puis avance l’origine par périodes de temps « pas à pas ». Le contexte de prédiction de chaque prévision est défini de sorte que le prévisionniste utilise les valeurs cibles réelles avant l’heure d’origine actuelle pour construire des fonctionnalités de recherche en arrière.

Cette fonction retourne un DataFrame de prévisions propagées jointes aux valeurs réelles du jeu de test. Les colonnes dans la trame de données retournée sont les suivantes :

  • Colonnes d’ID de série chronologique (facultatif). Lorsqu’ils sont fournis par l’utilisateur, les noms de colonnes donnés sont utilisés.

  • Colonne d’origine de prévision indiquant l’heure d’origine pour chaque ligne.

    Nom de la colonne : stocké en tant que variable membre de l’objet forecast_origin_column_name.

  • Colonne de temps. Le nom de colonne donné par l’utilisateur sera utilisé.

  • Colonne Valeurs de prévision. Nom de colonne : stocké en tant que membre de l’objet forecast_column_name

  • Colonne valeurs réelles. Nom de colonne : stocké en tant que membre de l’objet actual_column_name

short_grain_handling

Retourne la valeur True si le traitement des fragments courts ou absents est activé pour le modèle.

static_preaggregate_data_set

Agrège le jeu de données de prédiction.

Remarque : cette méthode ne garantit pas que le jeu de données sera agrégé. Cela se produit uniquement si le jeu de données contient les horodatages dupliqués ou les dates hors grille. :param ts_transformer : transformateur de série chronologique utilisé pour la formation. :param time_column_name : nom de la colonne d’heure. :param grain_column_names : liste des noms de colonnes de fragment. :param df : jeu de données à agréger. :param y : valeurs cibles. :param is_training_set : si la valeur est True, les données représentent le jeu de formation. :return : jeu de données agrégé ou intact si aucune agrégation n’est requise.

align_output_to_input

Aligne la trame de données de sortie transformée sur la trame de données d’entrée.

Remarque : transformed sera modifié par référence, aucune copie n’est créée. :param X_input : trame de données d’entrée. :param transformed : trame de données après la transformation. :returns : trame de données transformed avec son index d’origine, mais triée comme dans X_input.

align_output_to_input(X_input: DataFrame, transformed: DataFrame) -> DataFrame

Paramètres

X_input
Obligatoire
transformed
Obligatoire

fit

Ajustez le modèle avec les entrées X et y.

fit(X: DataFrame, y: ndarray) -> ForecastingPipelineWrapperBase

Paramètres

X
Obligatoire

Données X d’entrée.

y
Obligatoire

Données y d’entrée.

forecast

Effectue la prévision sur la trame de données X_pred.

forecast(X_pred: DataFrame | None = None, y_pred: ndarray | DataFrame | None = None, forecast_destination: Timestamp | None = None, ignore_data_errors: bool = False) -> Tuple[ndarray, DataFrame]

Paramètres

X_pred
valeur par défaut: None

Trame de données de prédiction combinant X_past et X_future de manière contiguë. Les valeurs vides dans X_pred seront imputées.

y_pred
valeur par défaut: None

Valeur cible combinant les valeurs définies pour y_past et les valeurs manquantes pour Y_future. Si la valeur None est définie, les prédictions seront effectuées pour chaque X_pred.

forecast_destination
<xref:pandas.Timestamp>
valeur par défaut: None

Forecast_destination : valeur d’horodatage. Des prévisions sont effectuées jusqu’à l’heure de forecast_destination, pour tous les fragments. L’entrée de dictionnaire { grain -> timestamp } ne sera pas acceptée. Si la valeur forecast_destination n’est pas spécifiée, elle sera imputée en tant que dernière occurrence dans X_pred pour chaque fragment.

ignore_data_errors
bool
valeur par défaut: False

Ignore les erreurs dans les données utilisateur.

Retours

Y_pred, avec le sous-cadre correspondant à Y_future renseigné avec les prévisions respectives. Les éventuelles valeurs manquantes dans Y_past seront remplies par le processus d’imputation.

Type de retour

forecast_quantiles

Obtient la prédiction et les quantiles à partir du pipeline ajusté.

forecast_quantiles(X_pred: DataFrame | None = None, y_pred: ndarray | DataFrame | None = None, quantiles: float | List[float] | None = None, forecast_destination: Timestamp | None = None, ignore_data_errors: bool = False) -> DataFrame

Paramètres

X_pred
valeur par défaut: None

Trame de données de prédiction combinant X_past et X_future de manière contiguë. Les valeurs vides dans X_pred seront imputées.

y_pred
valeur par défaut: None

Valeur cible combinant les valeurs définies pour y_past et les valeurs manquantes pour Y_future. Si la valeur None est définie, les prédictions seront effectuées pour chaque X_pred.

quantiles
float ou list of <xref:floats>
valeur par défaut: None

Liste des quantiles auxquels nous voulons faire des prévisions.

forecast_destination
<xref:pandas.Timestamp>
valeur par défaut: None

Forecast_destination : valeur d’horodatage. Des prévisions sont effectuées jusqu’à l’heure de forecast_destination, pour tous les fragments. L’entrée de dictionnaire { grain -> timestamp } ne sera pas acceptée. Si la valeur forecast_destination n’est pas spécifiée, elle sera imputée en tant que dernière occurrence dans X_pred pour chaque fragment.

ignore_data_errors
bool
valeur par défaut: False

Ignore les erreurs dans les données utilisateur.

Retours

Dataframe contenant les colonnes et les prédictions effectuées aux quantiles demandés.

is_grain_dropped

Retourne la valeur True si le fragment sera supprimé.

is_grain_dropped(grain: Tuple[str] | str | List[str]) -> bool

Paramètres

grain
Obligatoire

Fragment à tester s’il doit être supprimé.

Retours

True si le fragment sera supprimé.

preaggregate_data_set

Agrège le jeu de données de prédiction.

Remarque : cette méthode ne garantit pas que le jeu de données sera agrégé. Cela se produit uniquement si le jeu de données contient les horodatages dupliqués ou les dates hors grille. :param df : jeu de données à agréger. :param y : valeurs cibles. :param is_training_set : si la valeur est True, les données représentent le jeu de formation. :return : jeu de données agrégé ou intact si aucune agrégation n’est requise.

preaggregate_data_set(df: DataFrame, y: ndarray | None = None, is_training_set: bool = False) -> Tuple[DataFrame, ndarray | None]

Paramètres

df
Obligatoire
y
valeur par défaut: None
is_training_set
valeur par défaut: False

preprocess_pred_X_y

Prétraiter la prédiction X et y.

preprocess_pred_X_y(X_pred: DataFrame | None = None, y_pred: ndarray | DataFrame | None = None, forecast_destination: Timestamp | None = None) -> Tuple[DataFrame, DataFrame | ndarray, Dict[str, Any]]

Paramètres

X_pred
valeur par défaut: None
y_pred
valeur par défaut: None
forecast_destination
valeur par défaut: None

rolling_evaluation

Produit des prévisions sur une origine dynamique sur le jeu de test donné.

Chaque itération établit une prévision pour les périodes « max_horizon » suivantes par rapport à l’origine actuelle, puis avance l’origine en fonction de la durée de l’horizon. Le contexte de prédiction de chaque prévision est défini de sorte que le forecaster utilise les valeurs cibles réelles avant l’heure d’origine actuelle pour construire les fonctionnalités de décalage.

Cette fonction retourne une trame de données concaténée de prévisions dynamiques jointes aux chiffres réels du jeu de test.

Cette méthode est déconseillée et sera supprimée dans une version ultérieure. Utilisez rolling_forecast() à la place.

rolling_evaluation(X_pred: DataFrame, y_pred: DataFrame | ndarray, ignore_data_errors: bool = False) -> Tuple[ndarray, DataFrame]

Paramètres

X_pred
Obligatoire

Trame de données de prédiction combinant X_past et X_future de manière contiguë. Les valeurs vides dans X_pred seront imputées.

y_pred
Obligatoire

Valeur cible correspondant à X_pred.

ignore_data_errors
valeur par défaut: False

Ignore les erreurs dans les données utilisateur.

Retours

Y_pred, avec le sous-cadre correspondant à Y_future renseigné avec les prévisions respectives. Les éventuelles valeurs manquantes dans Y_past seront remplies par le processus d’imputation.

Type de retour

rolling_forecast

Produire des prévisions sur une origine propagée sur un jeu de test.

Chaque itération établit une prévision des périodes d’horizon maximales à l’avance en utilisant des informations jusqu’à l’origine actuelle, puis avance l’origine par périodes de temps « pas à pas ». Le contexte de prédiction de chaque prévision est défini de sorte que le prévisionniste utilise les valeurs cibles réelles avant l’heure d’origine actuelle pour construire des fonctionnalités de recherche en arrière.

Cette fonction retourne un DataFrame de prévisions propagées jointes aux valeurs réelles du jeu de test. Les colonnes dans la trame de données retournée sont les suivantes :

  • Colonnes d’ID de série chronologique (facultatif). Lorsqu’ils sont fournis par l’utilisateur, les noms de colonnes donnés sont utilisés.

  • Colonne d’origine de prévision indiquant l’heure d’origine pour chaque ligne.

    Nom de la colonne : stocké en tant que variable membre de l’objet forecast_origin_column_name.

  • Colonne de temps. Le nom de colonne donné par l’utilisateur sera utilisé.

  • Colonne Valeurs de prévision. Nom de colonne : stocké en tant que membre de l’objet forecast_column_name

  • Colonne valeurs réelles. Nom de colonne : stocké en tant que membre de l’objet actual_column_name

rolling_forecast(X_pred: DataFrame, y_pred: ndarray, step: int = 1, ignore_data_errors: bool = False) -> DataFrame

Paramètres

X_pred
<xref:pd.DataFrame>
Obligatoire

Trame de données de prédiction

y_pred
<xref:np.ndarray>
Obligatoire

valeurs cibles correspondant aux lignes dans X_pred

step
int
valeur par défaut: 1

Nombre de périodes pour avancer la fenêtre de prévision dans chaque itération.

ignore_data_errors
bool
valeur par défaut: False

Ignore les erreurs dans les données utilisateur.

Retours

Trame de données des prévisions propagées

Type de retour

<xref:pd.DataFrame>

short_grain_handling

Retourne la valeur True si le traitement des fragments courts ou absents est activé pour le modèle.

short_grain_handling() -> bool

static_preaggregate_data_set

Agrège le jeu de données de prédiction.

Remarque : cette méthode ne garantit pas que le jeu de données sera agrégé. Cela se produit uniquement si le jeu de données contient les horodatages dupliqués ou les dates hors grille. :param ts_transformer : transformateur de série chronologique utilisé pour la formation. :param time_column_name : nom de la colonne d’heure. :param grain_column_names : liste des noms de colonnes de fragment. :param df : jeu de données à agréger. :param y : valeurs cibles. :param is_training_set : si la valeur est True, les données représentent le jeu de formation. :return : jeu de données agrégé ou intact si aucune agrégation n’est requise.

static static_preaggregate_data_set(ts_transformer: TimeSeriesTransformer, time_column_name: str, grain_column_names: List[str], df: DataFrame, y: ndarray | None = None, is_training_set: bool = False) -> Tuple[DataFrame, ndarray | None]

Paramètres

ts_transformer
Obligatoire
time_column_name
Obligatoire
grain_column_names
Obligatoire
df
Obligatoire
y
valeur par défaut: None
is_training_set
valeur par défaut: False

Attributs

actual_column_name

forecast_column_name

forecast_origin_column_name

grain_column_list

max_horizon

Retourne l’horizon maximal utilisé dans le modèle.

origin_col_name

Retourne le nom de la colonne d’origine.

target_lags

Retourne les décalages cibles, le cas échéant.

target_rolling_window_size

Retourne la taille de la fenêtre propagée.

time_column_name

Retourne le nom de la colonne d’heure.

user_target_column_name

y_max_dict

Retourner le dictionnaire avec les valeurs cibles maximales par ID de série chronologique

y_min_dict

Retourner le dictionnaire avec des valeurs cibles minimales par ID de série chronologique

FATAL_NO_TARGET_IMPUTER

FATAL_NO_TARGET_IMPUTER = 'No target imputers were found in TimeSeriesTransformer.'

FATAL_NO_TS_TRANSFORM

FATAL_NO_TS_TRANSFORM = 'The time series transform is absent. Please try training model again.'