ForecastingPipelineWrapperBase Klass

Basklass för prognosmodellomslutning.

Arv
ForecastingPipelineWrapperBase

Konstruktor

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

Parametrar

ts_transformer
standardvärde: None
y_transformer
standardvärde: None
metadata
standardvärde: None

Metoder

align_output_to_input

Justera den transformerade utdataramen till indataramen.

Obs! Transformerade kommer att ändras som referens, ingen kopia skapas. :p aram X_input: Indataramen. :p aram transformerad: Dataramen efter omvandlingen. :returns: Den transfotade dataramen med sitt ursprungliga index, men sorterad som i X_input.

fit

Anpassa modellen med indata X och y.

forecast

Gör prognosen på dataramen X_pred.

forecast_quantiles

Hämta förutsägelsen och kvantantiles från den anpassade pipelinen.

is_grain_dropped

Returnera sant om kornet kommer att släppas.

preaggregate_data_set

Aggregera förutsägelsedatauppsättningen.

Observera: Den här metoden garanterar inte att datauppsättningen aggregeras. Detta inträffar bara om datauppsättningen innehåller duplicerade tidsstämplar eller out-of-grid-datum. :p aram df: Datauppsättningen som ska aggregeras. :p atam y: Målvärdena. :p aram is_training_set: Om det är sant representerar data träningsuppsättningen. :return: Den aggregerade eller intakta datauppsättningen om ingen aggregering krävs.

preprocess_pred_X_y

Förbearbeta förutsägelse X och y.

rolling_evaluation

" Skapa prognoser för ett rullande ursprung över den angivna testuppsättningen.

Varje iteration gör en prognos för de kommande "max_horizon"-perioderna med avseende på det aktuella ursprunget och flyttar sedan fram ursprunget med varaktigheten för horisonttiden. Förutsägelsekontexten för varje prognos anges så att prognosmakaren använder de faktiska målvärdena före den aktuella ursprungstiden för att skapa fördröjningsfunktioner.

Den här funktionen returnerar en sammanlänkad DataFrame med rullande prognoser som är kopplade till det faktiska värdet från testuppsättningen.

Den här metoden är inaktuell och tas bort i en framtida version. Använd rolling_forecast() i stället.

rolling_forecast

Skapa prognoser för ett rullande ursprung över en testuppsättning.

Varje iteration gör en prognos över maximala horisontperioder framöver med hjälp av information upp till det aktuella ursprunget och flyttar sedan fram ursprunget med "steg"-tidsperioder. Förutsägelsekontexten för varje prognos anges så att prognosmakaren använder de faktiska målvärdena före den aktuella ursprungstiden för att skapa återblicksfunktioner.

Den här funktionen returnerar en DataFrame med rullande prognoser som är kopplade till det faktiska värdet från testuppsättningen. Kolumnerna i den returnerade dataramen är följande:

  • Kolumner med tidsserie-ID (valfritt). När de anges av användaren används de angivna kolumnnamnen.

  • Prognostiserad ursprungskolumn som ger ursprungstiden för varje rad.

    Kolumnnamn: lagras som objektmedlemsvariabeln forecast_origin_column_name.

  • Tidskolumn. Kolumnnamnet som anges av användaren används.

  • Kolumnen Prognosvärden. Kolumnnamn: lagras som objektmedlem forecast_column_name

  • Kolumnen Faktiska värden. Kolumnnamn: lagras som objektmedlem actual_column_name

short_grain_handling

Returnera sant om kort eller frånvarande kornhantering är aktiverat för modellen.

static_preaggregate_data_set

Aggregera förutsägelsedatauppsättningen.

Observera: Den här metoden garanterar inte att datauppsättningen aggregeras. Detta inträffar bara om datauppsättningen innehåller duplicerade tidsstämplar eller out-of-grid-datum. :p aram ts_transformer: Tidsserietransformeren som används för träning. :p aram time_column_name: namnet på tidskolumnen. :p aram grain_column_names: Lista över kolumnnamn för kornighet. :p aram df: Datauppsättningen som ska aggregeras. :p atam y: Målvärdena. :p aram is_training_set: Om det är sant representerar data träningsuppsättningen. :return: Den aggregerade eller intakta datauppsättningen om ingen aggregering krävs.

align_output_to_input

Justera den transformerade utdataramen till indataramen.

Obs! Transformerade kommer att ändras som referens, ingen kopia skapas. :p aram X_input: Indataramen. :p aram transformerad: Dataramen efter omvandlingen. :returns: Den transfotade dataramen med sitt ursprungliga index, men sorterad som i X_input.

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

Parametrar

X_input
Obligatorisk
transformed
Obligatorisk

fit

Anpassa modellen med indata X och y.

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

Parametrar

X
Obligatorisk

Mata in X-data.

y
Obligatorisk

Indata y.

forecast

Gör prognosen på dataramen 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]

Parametrar

X_pred
standardvärde: None

förutsägelsedataramen som kombinerar X_past och X_future på ett sammanhängande sätt. Tomma värden i X_pred imputeras.

y_pred
standardvärde: None

målvärdet som kombinerar bestämda värden för y_past och saknade värden för Y_future. Om Ingen görs förutsägelserna för varje X_pred.

forecast_destination
<xref:pandas.Timestamp>
standardvärde: None

Forecast_destination: ett tidsstämpelvärde. Prognoser kommer att göras hela vägen till forecast_destination tid, för alla korn. Ordlisteindata { grain -> tidsstämpel } accepteras inte. Om forecast_destination inte ges, kommer det att imputeras som den sista gången som inträffar i X_pred för varje korn.

ignore_data_errors
bool
standardvärde: False

Ignorera fel i användardata.

Returer

Y_pred, där underramen motsvarar Y_future ifyllda med respektive prognoser. Eventuella saknade värden i Y_past fylls i med imputer.

Returtyp

forecast_quantiles

Hämta förutsägelsen och kvantantiles från den anpassade pipelinen.

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

Parametrar

X_pred
standardvärde: None

förutsägelsedataramen som kombinerar X_past och X_future på ett sammanhängande sätt. Tomma värden i X_pred imputeras.

y_pred
standardvärde: None

målvärdet som kombinerar bestämda värden för y_past och saknade värden för Y_future. Om Ingen görs förutsägelserna för varje X_pred.

quantiles
float eller list of <xref:floats>
standardvärde: None

Listan över kvanter som vi vill göra prognoser för.

forecast_destination
<xref:pandas.Timestamp>
standardvärde: None

Forecast_destination: ett tidsstämpelvärde. Prognoser kommer att göras hela vägen till forecast_destination tid, för alla korn. Ordlisteindata { grain -> tidsstämpel } accepteras inte. Om forecast_destination inte ges, kommer det att imputeras som den sista gången som inträffar i X_pred för varje korn.

ignore_data_errors
bool
standardvärde: False

Ignorera fel i användardata.

Returer

En dataram som innehåller kolumnerna och förutsägelserna som gjorts på begärda quantiles.

is_grain_dropped

Returnera sant om kornet kommer att släppas.

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

Parametrar

grain
Obligatorisk

Kornet för att testa om det kommer att släppas.

Returer

Sant om kornet kommer att släppas.

preaggregate_data_set

Aggregera förutsägelsedatauppsättningen.

Observera: Den här metoden garanterar inte att datauppsättningen aggregeras. Detta inträffar bara om datauppsättningen innehåller duplicerade tidsstämplar eller out-of-grid-datum. :p aram df: Datauppsättningen som ska aggregeras. :p atam y: Målvärdena. :p aram is_training_set: Om det är sant representerar data träningsuppsättningen. :return: Den aggregerade eller intakta datauppsättningen om ingen aggregering krävs.

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

Parametrar

df
Obligatorisk
y
standardvärde: None
is_training_set
standardvärde: False

preprocess_pred_X_y

Förbearbeta förutsägelse X och 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]]

Parametrar

X_pred
standardvärde: None
y_pred
standardvärde: None
forecast_destination
standardvärde: None

rolling_evaluation

" Skapa prognoser för ett rullande ursprung över den angivna testuppsättningen.

Varje iteration gör en prognos för de kommande "max_horizon"-perioderna med avseende på det aktuella ursprunget och flyttar sedan fram ursprunget med varaktigheten för horisonttiden. Förutsägelsekontexten för varje prognos anges så att prognosmakaren använder de faktiska målvärdena före den aktuella ursprungstiden för att skapa fördröjningsfunktioner.

Den här funktionen returnerar en sammanlänkad DataFrame med rullande prognoser som är kopplade till det faktiska värdet från testuppsättningen.

Den här metoden är inaktuell och tas bort i en framtida version. Använd rolling_forecast() i stället.

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

Parametrar

X_pred
Obligatorisk

förutsägelsedataramen som kombinerar X_past och X_future på ett sammanhängande sätt. Tomma värden i X_pred imputeras.

y_pred
Obligatorisk

målvärdet som motsvarar X_pred.

ignore_data_errors
standardvärde: False

Ignorera fel i användardata.

Returer

Y_pred, där underramen motsvarar Y_future ifyllda med respektive prognoser. Eventuella saknade värden i Y_past fylls i med imputer.

Returtyp

rolling_forecast

Skapa prognoser för ett rullande ursprung över en testuppsättning.

Varje iteration gör en prognos över maximala horisontperioder framöver med hjälp av information upp till det aktuella ursprunget och flyttar sedan fram ursprunget med "steg"-tidsperioder. Förutsägelsekontexten för varje prognos anges så att prognosmakaren använder de faktiska målvärdena före den aktuella ursprungstiden för att skapa återblicksfunktioner.

Den här funktionen returnerar en DataFrame med rullande prognoser som är kopplade till det faktiska värdet från testuppsättningen. Kolumnerna i den returnerade dataramen är följande:

  • Kolumner med tidsserie-ID (valfritt). När de anges av användaren används de angivna kolumnnamnen.

  • Prognostiserad ursprungskolumn som ger ursprungstiden för varje rad.

    Kolumnnamn: lagras som objektmedlemsvariabeln forecast_origin_column_name.

  • Tidskolumn. Kolumnnamnet som anges av användaren används.

  • Kolumnen Prognosvärden. Kolumnnamn: lagras som objektmedlem forecast_column_name

  • Kolumnen Faktiska värden. Kolumnnamn: lagras som objektmedlem actual_column_name

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

Parametrar

X_pred
<xref:pd.DataFrame>
Obligatorisk

Förutsägelsedataram

y_pred
<xref:np.ndarray>
Obligatorisk

målvärden som motsvarar rader i X_pred

step
int
standardvärde: 1

Antal perioder som prognostiseringsfönstret ska flyttas fram i varje iteration.

ignore_data_errors
bool
standardvärde: False

Ignorera fel i användardata.

Returer

Dataram för löpande prognoser

Returtyp

<xref:pd.DataFrame>

short_grain_handling

Returnera sant om kort eller frånvarande kornhantering är aktiverat för modellen.

short_grain_handling() -> bool

static_preaggregate_data_set

Aggregera förutsägelsedatauppsättningen.

Observera: Den här metoden garanterar inte att datauppsättningen aggregeras. Detta inträffar bara om datauppsättningen innehåller duplicerade tidsstämplar eller out-of-grid-datum. :p aram ts_transformer: Tidsserietransformeren som används för träning. :p aram time_column_name: namnet på tidskolumnen. :p aram grain_column_names: Lista över kolumnnamn för kornighet. :p aram df: Datauppsättningen som ska aggregeras. :p atam y: Målvärdena. :p aram is_training_set: Om det är sant representerar data träningsuppsättningen. :return: Den aggregerade eller intakta datauppsättningen om ingen aggregering krävs.

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]

Parametrar

ts_transformer
Obligatorisk
time_column_name
Obligatorisk
grain_column_names
Obligatorisk
df
Obligatorisk
y
standardvärde: None
is_training_set
standardvärde: False

Attribut

actual_column_name

forecast_column_name

forecast_origin_column_name

grain_column_list

max_horizon

Returnera max hiorizon som används i modellen.

origin_col_name

Returnera namnet på ursprungskolumnen.

target_lags

Returmålet släpar efter om det finns några.

target_rolling_window_size

Returnera storleken på rullande fönster.

time_column_name

Returnera namnet på tidskolumnen.

user_target_column_name

y_max_dict

Returnera ordlistan med maximala målvärden efter tidsserie-ID

y_min_dict

Returnera ordlistan med minimala målvärden efter tidsserie-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.'