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
Nom | Description |
---|---|
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 :
|
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
Nom | Description |
---|---|
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
Nom | Description |
---|---|
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
Nom | Description |
---|---|
X_pred
|
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. Valeur par défaut: None
|
y_pred
|
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. Valeur par défaut: None
|
forecast_destination
|
<xref:pandas.Timestamp>
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. Valeur par défaut: None
|
ignore_data_errors
|
Ignore les erreurs dans les données utilisateur. Valeur par défaut: False
|
Retours
Type | Description |
---|---|
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. |
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
Nom | Description |
---|---|
X_pred
|
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. Valeur par défaut: None
|
y_pred
|
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. Valeur par défaut: None
|
quantiles
|
Liste des quantiles auxquels nous voulons faire des prévisions. Valeur par défaut: None
|
forecast_destination
|
<xref:pandas.Timestamp>
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. Valeur par défaut: None
|
ignore_data_errors
|
Ignore les erreurs dans les données utilisateur. Valeur par défaut: False
|
Retours
Type | Description |
---|---|
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
Nom | Description |
---|---|
grain
Obligatoire
|
Fragment à tester s’il doit être supprimé. |
Retours
Type | Description |
---|---|
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
Nom | Description |
---|---|
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
Nom | Description |
---|---|
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
Nom | Description |
---|---|
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
|
Ignore les erreurs dans les données utilisateur. Valeur par défaut: False
|
Retours
Type | Description |
---|---|
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. |
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
Nom | Description |
---|---|
X_pred
Obligatoire
|
<xref:pd.DataFrame>
Trame de données de prédiction |
y_pred
Obligatoire
|
<xref:np.ndarray>
valeurs cibles correspondant aux lignes dans X_pred |
step
|
Nombre de périodes pour avancer la fenêtre de prévision dans chaque itération. Valeur par défaut: 1
|
ignore_data_errors
|
Ignore les erreurs dans les données utilisateur. Valeur par défaut: False
|
Retours
Type | Description |
---|---|
<xref:pd.DataFrame>
|
Trame de données des prévisions propagées |
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
Nom | Description |
---|---|
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.'