ForecastingPipelineWrapperBase Klasse
Basisklasse für den Wrapper des Prognosemodells.
- Vererbung
-
ForecastingPipelineWrapperBase
Konstruktor
ForecastingPipelineWrapperBase(ts_transformer: TimeSeriesTransformer | None = None, y_transformer: Pipeline | None = None, metadata: Dict[str, Any] | None = None)
Parameter
Name | Beschreibung |
---|---|
ts_transformer
|
Standardwert: None
|
y_transformer
|
Standardwert: None
|
metadata
|
Standardwert: None
|
Methoden
align_output_to_input |
Ausrichten des transformierten Ausgabedatenrahmens mit dem Eingabedatenrahmen. Hinweis: Der transformierte Datenrahmen wird durch Verweis geändert. Es wird keine Kopie erstellt. :param X_input: Der Eingabedatenrahmen. :param transformed: Der Datenrahmen nach der Transformation. :returns: Der transformierte Datenrahmen mit dem ursprünglichen Index, aber wie in „X_input“ sortiert. |
fit |
Passen Sie das Modell mit den Eingaben X und y an. |
forecast |
Durchführen der Vorhersage für den Datenrahmen „X_pred“. |
forecast_quantiles |
Abrufen der Vorhersage und der Quantile aus der angepassten Pipeline. |
is_grain_dropped |
Gibt TRUE zurück, wenn das Aggregationsintervall verworfen wird. |
preaggregate_data_set |
Aggregiert das Vorhersagedataset. Hinweis: Diese Methode garantiert nicht, dass das Dataset aggregiert wird. Dies erfolgt nur, wenn das Dataset die doppelten Zeitstempel oder Datumsangaben außerhalb des Rasters enthält. :param df: das zu aggregierte Dataset. :param y: die Zielwerte. :param is_training_set: Bei TRUE stellen die Daten den Trainingssatz dar. :return: Das aggregierte oder intakte Dataset, wenn keine Aggregation erforderlich ist. |
preprocess_pred_X_y |
Präverarbeitung der Vorhersage X und y. |
rolling_evaluation |
Erzeugen von Vorhersagen für einen rollierenden Ursprung über den angegebenen Testsatz. Jede Iteration trifft eine Vorhersage für die nächsten „max_horizon“-Zeiträume in Bezug auf den aktuellen Ursprung und erhöht dann den Ursprung um die Zeitdauer des Zeithorizonts. Der Vorhersagekontext für jede Vorhersage wird so festgelegt, dass bei der Vorhersage zum Erstellen von Verzögerungsfeatures die tatsächlichen Zielwerte vor der aktuellen Ursprungszeit verwendet werden. Diese Funktion gibt einen verketteten Datenrahmen von rollierenden Vorhersagen zurück, die mit den tatsächlichen Daten aus dem Testsatz verknüpft sind. Diese Methode ist veraltet und wird in einer zukünftigen Version entfernt. Verwenden Sie stattdessen rolling_forecast(). |
rolling_forecast |
Erstellen Sie Vorhersagen für einen rollierenden Ursprung über einen Testsatz. Jede Iteration erstellt eine Prognose der maximalen Horizontperioden im Voraus mithilfe von Informationen bis zum aktuellen Ursprung und erhöht dann den Ursprung durch "Schritt"-Zeitperioden. Der Vorhersagekontext für jede Vorhersage wird so festgelegt, dass der Forecaster die tatsächlichen Zielwerte vor der aktuellen Ursprungszeit zum Erstellen von Lookbackfeatures verwendet. Diese Funktion gibt einen DataFrame mit rollierenden Vorhersagen zurück, die mit den Tatsächlichen aus dem Testsatz verknüpft sind. Die Spalten im zurückgegebenen Datenrahmen sind wie folgt:
|
short_grain_handling |
Gibt TRUE zurück, wenn die Behandlung kurzer oder fehlender Aggregationsintervalle für das Modell aktiviert ist. |
static_preaggregate_data_set |
Aggregiert das Vorhersagedataset. Hinweis: Diese Methode garantiert nicht, dass das Dataset aggregiert wird. Dies erfolgt nur, wenn das Dataset die doppelten Zeitstempel oder Datumsangaben außerhalb des Rasters enthält. :param ts_transformer: der für das Training verwendete Zeitreihentransformator. :param time_column_name: Name der Zeitspalte. :param grain_column_names: Liste der Spaltennamen im Aggregationsintervall. :param df: das zu aggregierte Dataset. :param y: die Zielwerte. :param is_training_set: Bei TRUE stellen die Daten den Trainingssatz dar. :return: Das aggregierte oder intakte Dataset, wenn keine Aggregation erforderlich ist. |
align_output_to_input
Ausrichten des transformierten Ausgabedatenrahmens mit dem Eingabedatenrahmen.
Hinweis: Der transformierte Datenrahmen wird durch Verweis geändert. Es wird keine Kopie erstellt. :param X_input: Der Eingabedatenrahmen. :param transformed: Der Datenrahmen nach der Transformation. :returns: Der transformierte Datenrahmen mit dem ursprünglichen Index, aber wie in „X_input“ sortiert.
align_output_to_input(X_input: DataFrame, transformed: DataFrame) -> DataFrame
Parameter
Name | Beschreibung |
---|---|
X_input
Erforderlich
|
|
transformed
Erforderlich
|
|
fit
Passen Sie das Modell mit den Eingaben X und y an.
fit(X: DataFrame, y: ndarray) -> ForecastingPipelineWrapperBase
Parameter
Name | Beschreibung |
---|---|
X
Erforderlich
|
Geben Sie X-Daten ein. |
y
Erforderlich
|
Geben Sie y-Daten ein. |
forecast
Durchführen der Vorhersage für den Datenrahmen „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]
Parameter
Name | Beschreibung |
---|---|
X_pred
|
Der Vorhersagedatenrahmen, der „X_past“ und „X_future“ in einem zeitlichen Zusammenhang kombiniert. Leere Werte in „X_pred“ werden imputiert. Standardwert: None
|
y_pred
|
Der Zielwert, der eindeutige Werte für „y_past“ und fehlende Werte für „Y_future“ kombiniert. Bei „None“ werden Vorhersagen für jeden Wert in „X_pred“ getroffen. Standardwert: None
|
forecast_destination
|
<xref:pandas.Timestamp>
Forecast_destination: ein Zeitstempelwert. Vorhersagen werden bis zur Zeit von forecast_destination für alle Aggregationsintervalle durchgeführt. Eine Wörterbucheingabe vom Typ { grain -> timestamp } wird nicht akzeptiert. Wenn „forecast_destination“ nicht angegeben wird, wird der letzte Zeitpunkt in „X_pred“ für jedes Aggregationsintervall angenommen. Standardwert: None
|
ignore_data_errors
|
Ignorieren von Fehlern in Benutzerdaten. Standardwert: False
|
Gibt zurück
Typ | Beschreibung |
---|---|
„Y_pred“, wobei der Teilrahmen, der „Y_future“ entspricht, mit den jeweiligen Vorhersagen aufgefüllt wird. Alle fehlenden Werte in „Y_past“ werden vom Imputer ergänzt. |
forecast_quantiles
Abrufen der Vorhersage und der Quantile aus der angepassten Pipeline.
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
Parameter
Name | Beschreibung |
---|---|
X_pred
|
Der Vorhersagedatenrahmen, der „X_past“ und „X_future“ in einem zeitlichen Zusammenhang kombiniert. Leere Werte in „X_pred“ werden imputiert. Standardwert: None
|
y_pred
|
Der Zielwert, der eindeutige Werte für „y_past“ und fehlende Werte für „Y_future“ kombiniert. Bei „None“ werden Vorhersagen für jeden Wert in „X_pred“ getroffen. Standardwert: None
|
quantiles
|
Die Liste der Quantile, für die wir vorhersagen möchten. Standardwert: None
|
forecast_destination
|
<xref:pandas.Timestamp>
Forecast_destination: ein Zeitstempelwert. Vorhersagen werden bis zur Zeit von forecast_destination für alle Aggregationsintervalle durchgeführt. Eine Wörterbucheingabe vom Typ { grain -> timestamp } wird nicht akzeptiert. Wenn „forecast_destination“ nicht angegeben wird, wird der letzte Zeitpunkt in „X_pred“ für jedes Aggregationsintervall angenommen. Standardwert: None
|
ignore_data_errors
|
Ignorieren von Fehlern in Benutzerdaten. Standardwert: False
|
Gibt zurück
Typ | Beschreibung |
---|---|
Ein Dataframe, der die Spalten und Vorhersagen enthält, die an den angeforderten Quanteln vorgenommen wurden. |
is_grain_dropped
Gibt TRUE zurück, wenn das Aggregationsintervall verworfen wird.
is_grain_dropped(grain: Tuple[str] | str | List[str]) -> bool
Parameter
Name | Beschreibung |
---|---|
grain
Erforderlich
|
Das Aggregationsintervall, für das getestet werden soll, ob es verworfen wird. |
Gibt zurück
Typ | Beschreibung |
---|---|
„True“, wenn das Aggregationsintervall verworfen wird. |
preaggregate_data_set
Aggregiert das Vorhersagedataset.
Hinweis: Diese Methode garantiert nicht, dass das Dataset aggregiert wird. Dies erfolgt nur, wenn das Dataset die doppelten Zeitstempel oder Datumsangaben außerhalb des Rasters enthält. :param df: das zu aggregierte Dataset. :param y: die Zielwerte. :param is_training_set: Bei TRUE stellen die Daten den Trainingssatz dar. :return: Das aggregierte oder intakte Dataset, wenn keine Aggregation erforderlich ist.
preaggregate_data_set(df: DataFrame, y: ndarray | None = None, is_training_set: bool = False) -> Tuple[DataFrame, ndarray | None]
Parameter
Name | Beschreibung |
---|---|
df
Erforderlich
|
|
y
|
Standardwert: None
|
is_training_set
|
Standardwert: False
|
preprocess_pred_X_y
Präverarbeitung der Vorhersage X und 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]]
Parameter
Name | Beschreibung |
---|---|
X_pred
|
Standardwert: None
|
y_pred
|
Standardwert: None
|
forecast_destination
|
Standardwert: None
|
rolling_evaluation
Erzeugen von Vorhersagen für einen rollierenden Ursprung über den angegebenen Testsatz.
Jede Iteration trifft eine Vorhersage für die nächsten „max_horizon“-Zeiträume in Bezug auf den aktuellen Ursprung und erhöht dann den Ursprung um die Zeitdauer des Zeithorizonts. Der Vorhersagekontext für jede Vorhersage wird so festgelegt, dass bei der Vorhersage zum Erstellen von Verzögerungsfeatures die tatsächlichen Zielwerte vor der aktuellen Ursprungszeit verwendet werden.
Diese Funktion gibt einen verketteten Datenrahmen von rollierenden Vorhersagen zurück, die mit den tatsächlichen Daten aus dem Testsatz verknüpft sind.
Diese Methode ist veraltet und wird in einer zukünftigen Version entfernt. Verwenden Sie stattdessen rolling_forecast().
rolling_evaluation(X_pred: DataFrame, y_pred: DataFrame | ndarray, ignore_data_errors: bool = False) -> Tuple[ndarray, DataFrame]
Parameter
Name | Beschreibung |
---|---|
X_pred
Erforderlich
|
Der Vorhersagedatenrahmen, der „X_past“ und „X_future“ in einem zeitlichen Zusammenhang kombiniert. Leere Werte in „X_pred“ werden imputiert. |
y_pred
Erforderlich
|
Der Zielwert, der „X_pred“ entspricht. |
ignore_data_errors
|
Ignorieren von Fehlern in Benutzerdaten. Standardwert: False
|
Gibt zurück
Typ | Beschreibung |
---|---|
„Y_pred“, wobei der Teilrahmen, der „Y_future“ entspricht, mit den jeweiligen Vorhersagen aufgefüllt wird. Alle fehlenden Werte in „Y_past“ werden vom Imputer ergänzt. |
rolling_forecast
Erstellen Sie Vorhersagen für einen rollierenden Ursprung über einen Testsatz.
Jede Iteration erstellt eine Prognose der maximalen Horizontperioden im Voraus mithilfe von Informationen bis zum aktuellen Ursprung und erhöht dann den Ursprung durch "Schritt"-Zeitperioden. Der Vorhersagekontext für jede Vorhersage wird so festgelegt, dass der Forecaster die tatsächlichen Zielwerte vor der aktuellen Ursprungszeit zum Erstellen von Lookbackfeatures verwendet.
Diese Funktion gibt einen DataFrame mit rollierenden Vorhersagen zurück, die mit den Tatsächlichen aus dem Testsatz verknüpft sind. Die Spalten im zurückgegebenen Datenrahmen sind wie folgt:
Timeseries-ID-Spalten (Optional). Wenn sie vom Benutzer angegeben werden, werden die angegebenen Spaltennamen verwendet.
Vorhersage der Ursprungsspalte, die die Ursprungszeit für jede Zeile angibt.
Spaltenname: Wird als Objektmembervariable forecast_origin_column_name gespeichert.
Zeitspalte. Der vom Benutzer angegebene Spaltenname wird verwendet.
Spalte "Prognosewerte". Spaltenname: Gespeichert als Objektmember forecast_column_name
Spalte "Tatsächliche Werte". Spaltenname: Gespeichert als Objektmember actual_column_name
rolling_forecast(X_pred: DataFrame, y_pred: ndarray, step: int = 1, ignore_data_errors: bool = False) -> DataFrame
Parameter
Name | Beschreibung |
---|---|
X_pred
Erforderlich
|
<xref:pd.DataFrame>
Vorhersagedatenrahmen |
y_pred
Erforderlich
|
<xref:np.ndarray>
Zielwerte, die Zeilen in X_pred entsprechen |
step
|
Anzahl der Zeiträume, die das Prognosefenster in jeder Iteration voranbringen sollen. Standardwert: 1
|
ignore_data_errors
|
Ignorieren von Fehlern in Benutzerdaten. Standardwert: False
|
Gibt zurück
Typ | Beschreibung |
---|---|
<xref:pd.DataFrame>
|
Datenrahmen rollierender Vorhersagen |
short_grain_handling
Gibt TRUE zurück, wenn die Behandlung kurzer oder fehlender Aggregationsintervalle für das Modell aktiviert ist.
short_grain_handling() -> bool
static_preaggregate_data_set
Aggregiert das Vorhersagedataset.
Hinweis: Diese Methode garantiert nicht, dass das Dataset aggregiert wird. Dies erfolgt nur, wenn das Dataset die doppelten Zeitstempel oder Datumsangaben außerhalb des Rasters enthält. :param ts_transformer: der für das Training verwendete Zeitreihentransformator. :param time_column_name: Name der Zeitspalte. :param grain_column_names: Liste der Spaltennamen im Aggregationsintervall. :param df: das zu aggregierte Dataset. :param y: die Zielwerte. :param is_training_set: Bei TRUE stellen die Daten den Trainingssatz dar. :return: Das aggregierte oder intakte Dataset, wenn keine Aggregation erforderlich ist.
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]
Parameter
Name | Beschreibung |
---|---|
ts_transformer
Erforderlich
|
|
time_column_name
Erforderlich
|
|
grain_column_names
Erforderlich
|
|
df
Erforderlich
|
|
y
|
Standardwert: None
|
is_training_set
|
Standardwert: False
|
Attribute
actual_column_name
forecast_column_name
forecast_origin_column_name
grain_column_list
max_horizon
Dient zum Zurückgeben des im Modell verwendeten maximalen Horizonts.
origin_col_name
Dient zum Zurückgeben des Namens der Spalte „origin“.
target_lags
Gibt die Zielverzögerungen zurück (sofern vorhanden).
target_rolling_window_size
Gibt die Größe des rollierenden Fensters zurück.
time_column_name
Dient zum Zurückgeben des Namens der Spalte „time“.
user_target_column_name
y_max_dict
Zurückgeben des Wörterbuchs mit maximalen Zielwerten nach Zeitreihen-ID
y_min_dict
Zurückgeben des Wörterbuchs mit minimalen Zielwerten nach Zeitreihen-ID
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.'