ForecastingPipelineWrapperBase 類別
預測模型包裝函式的基類。
- 繼承
-
ForecastingPipelineWrapperBase
建構函式
ForecastingPipelineWrapperBase(ts_transformer: TimeSeriesTransformer | None = None, y_transformer: Pipeline | None = None, metadata: Dict[str, Any] | None = None)
參數
名稱 | Description |
---|---|
ts_transformer
|
預設值: None
|
y_transformer
|
預設值: None
|
metadata
|
預設值: None
|
方法
align_output_to_input |
將轉換的輸出資料框架對齊輸入資料框架。 注意: 轉換會以傳址方式修改,不會建立任何複本。 :p aram X_input:輸入資料框架。 已轉換:p aram:轉換後的資料框架。 :returns:具有原始索引的 Transfotmed 資料框架,但排序方式為 X_input。 |
fit |
配合輸入 X 和 y 的模型。 |
forecast |
在資料框架上執行預測X_pred。 |
forecast_quantiles |
從配適的管線取得預測和分位數。 |
is_grain_dropped |
如果要卸載粒紋,則傳回 true。 |
preaggregate_data_set |
匯總預測資料集。 注意: 這個方法不保證會匯總資料集。 只有在資料集包含重複的時間戳記或格線外日期時,才會發生這種情況。 :p aram df:要匯總的資料集。 :p atam y:目標值。 :p aram is_training_set:如果為 true,則表示定型集的資料。 :return:如果不需要匯總,則為匯總或完整資料集。 |
preprocess_pred_X_y |
前置處理預測 X 和 y。 |
rolling_evaluation |
「 在指定的測試集上產生滾動原點的預測。 每個反復專案都會針對目前原點的下一個「max_horizon」期間進行預測,然後依水準時間持續時間將原點往前移。 系統會設定每個預測的預測內容,讓預測器使用目前源時間之前的實際目標值來建構延隔時間特徵。 此函式會傳回與測試集實際值聯結之滾動預測的串連 DataFrame。 這個方法已被取代,將在未來的版本中移除。 請改用 rolling_forecast () 。 |
rolling_forecast |
在測試集上產生滾動原點的預測。 每個反復專案都會使用目前原點的資訊預先預測最大層級週期,然後依「步驟」時間週期前進原點。 系統會設定每個預測的預測內容,讓預測工具使用目前原點時間之前的實際目標值來建構回溯功能。 此函式會傳回與測試集實際值聯結的滾動預測資料框架。 傳回資料框架中的資料行如下所示:
|
short_grain_handling |
如果模型已啟用簡短或不存在的粒紋處理,則傳回 true。 |
static_preaggregate_data_set |
匯總預測資料集。 注意: 這個方法不保證會匯總資料集。 只有在資料集包含重複的時間戳記或格線外日期時,才會發生這種情況。 :p aram ts_transformer:用於定型的 timeser tranformer。 :p aram time_column_name:時間資料行的名稱。 :p aram grain_column_names:粒紋資料行名稱清單。 :p aram df:要匯總的資料集。 :p atam y:目標值。 :p aram is_training_set:如果為 true,則表示定型集的資料。 :return:如果不需要匯總,則為匯總或完整資料集。 |
align_output_to_input
將轉換的輸出資料框架對齊輸入資料框架。
注意: 轉換會以傳址方式修改,不會建立任何複本。 :p aram X_input:輸入資料框架。 已轉換:p aram:轉換後的資料框架。 :returns:具有原始索引的 Transfotmed 資料框架,但排序方式為 X_input。
align_output_to_input(X_input: DataFrame, transformed: DataFrame) -> DataFrame
參數
名稱 | Description |
---|---|
X_input
必要
|
|
transformed
必要
|
|
fit
配合輸入 X 和 y 的模型。
fit(X: DataFrame, y: ndarray) -> ForecastingPipelineWrapperBase
參數
名稱 | Description |
---|---|
X
必要
|
輸入 X 資料。 |
y
必要
|
輸入 y 資料。 |
forecast
在資料框架上執行預測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]
參數
名稱 | Description |
---|---|
X_pred
|
以連續時間方式結合X_past和X_future的預測資料框架。 將會插補X_pred中的空白值。 預設值: None
|
y_pred
|
目標值,結合y_past的明確值,以及Y_future遺漏值。 如果 [無],則會針對每個X_pred進行預測。 預設值: None
|
forecast_destination
|
<xref:pandas.Timestamp>
Forecast_destination:時間戳記值。 所有粒紋的預測都會一路forecast_destination時間。 字典輸入 { grain - > timestamp } 將不會接受。 如果未指定forecast_destination,則會在每個粒紋的上次發生X_pred中插補。 預設值: None
|
ignore_data_errors
|
忽略使用者資料中的錯誤。 預設值: False
|
傳回
類型 | Description |
---|---|
Y_pred,子框架對應至Y_future填入個別預測。 Y_past中的任何遺漏值都會由插補器填入。 |
forecast_quantiles
從配適的管線取得預測和分位數。
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
參數
名稱 | Description |
---|---|
X_pred
|
以連續時間方式結合X_past和X_future的預測資料框架。 將會插補X_pred中的空白值。 預設值: None
|
y_pred
|
目標值,結合y_past的明確值,以及Y_future遺漏值。 如果 [無],則會針對每個X_pred進行預測。 預設值: None
|
quantiles
|
我們想要預測的分位數清單。 預設值: None
|
forecast_destination
|
<xref:pandas.Timestamp>
Forecast_destination:時間戳記值。 所有粒紋的預測都會一路forecast_destination時間。 字典輸入 { grain - > timestamp } 將不會接受。 如果未指定forecast_destination,則會在每個粒紋的上次發生X_pred中插補。 預設值: None
|
ignore_data_errors
|
忽略使用者資料中的錯誤。 預設值: False
|
傳回
類型 | Description |
---|---|
資料框架,其中包含在要求分位數上所做的資料行和預測。 |
is_grain_dropped
如果要卸載粒紋,則傳回 true。
is_grain_dropped(grain: Tuple[str] | str | List[str]) -> bool
參數
名稱 | Description |
---|---|
grain
必要
|
要測試是否要卸載的粒紋。 |
傳回
類型 | Description |
---|---|
如果將會卸載粒紋,則為 True。 |
preaggregate_data_set
匯總預測資料集。
注意: 這個方法不保證會匯總資料集。 只有在資料集包含重複的時間戳記或格線外日期時,才會發生這種情況。 :p aram df:要匯總的資料集。 :p atam y:目標值。 :p aram is_training_set:如果為 true,則表示定型集的資料。 :return:如果不需要匯總,則為匯總或完整資料集。
preaggregate_data_set(df: DataFrame, y: ndarray | None = None, is_training_set: bool = False) -> Tuple[DataFrame, ndarray | None]
參數
名稱 | Description |
---|---|
df
必要
|
|
y
|
預設值: None
|
is_training_set
|
預設值: False
|
preprocess_pred_X_y
前置處理預測 X 和 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]]
參數
名稱 | Description |
---|---|
X_pred
|
預設值: None
|
y_pred
|
預設值: None
|
forecast_destination
|
預設值: None
|
rolling_evaluation
「 在指定的測試集上產生滾動原點的預測。
每個反復專案都會針對目前原點的下一個「max_horizon」期間進行預測,然後依水準時間持續時間將原點往前移。 系統會設定每個預測的預測內容,讓預測器使用目前源時間之前的實際目標值來建構延隔時間特徵。
此函式會傳回與測試集實際值聯結之滾動預測的串連 DataFrame。
這個方法已被取代,將在未來的版本中移除。 請改用 rolling_forecast () 。
rolling_evaluation(X_pred: DataFrame, y_pred: DataFrame | ndarray, ignore_data_errors: bool = False) -> Tuple[ndarray, DataFrame]
參數
名稱 | Description |
---|---|
X_pred
必要
|
以連續時間方式結合X_past和X_future的預測資料框架。 將會插補X_pred中的空白值。 |
y_pred
必要
|
對應至X_pred的目標值。 |
ignore_data_errors
|
忽略使用者資料中的錯誤。 預設值: False
|
傳回
類型 | Description |
---|---|
Y_pred,子框架對應至Y_future填入個別預測。 Y_past中的任何遺漏值都會由插補器填入。 |
rolling_forecast
在測試集上產生滾動原點的預測。
每個反復專案都會使用目前原點的資訊預先預測最大層級週期,然後依「步驟」時間週期前進原點。 系統會設定每個預測的預測內容,讓預測工具使用目前原點時間之前的實際目標值來建構回溯功能。
此函式會傳回與測試集實際值聯結的滾動預測資料框架。 傳回資料框架中的資料行如下所示:
選擇性) (時間識別碼資料行。 由使用者提供時,將會使用指定的資料行名稱。
預測來源資料行會提供每個資料列的源時間。
資料行名稱:儲存為物件成員變數forecast_origin_column_name。
時間資料行。 將會使用使用者所提供的資料行名稱。
預測值資料行。 資料行名稱:儲存為物件成員forecast_column_name
實際值資料行。 資料行名稱:儲存為物件成員actual_column_name
rolling_forecast(X_pred: DataFrame, y_pred: ndarray, step: int = 1, ignore_data_errors: bool = False) -> DataFrame
參數
名稱 | Description |
---|---|
X_pred
必要
|
<xref:pd.DataFrame>
預測資料框架 |
y_pred
必要
|
<xref:np.ndarray>
對應至X_pred中資料列的目標值 |
step
|
在每個反復專案中前進預測視窗的期間數。 預設值: 1
|
ignore_data_errors
|
忽略使用者資料中的錯誤。 預設值: False
|
傳回
類型 | Description |
---|---|
<xref:pd.DataFrame>
|
滾動預測的資料框架 |
short_grain_handling
如果模型已啟用簡短或不存在的粒紋處理,則傳回 true。
short_grain_handling() -> bool
static_preaggregate_data_set
匯總預測資料集。
注意: 這個方法不保證會匯總資料集。 只有在資料集包含重複的時間戳記或格線外日期時,才會發生這種情況。 :p aram ts_transformer:用於定型的 timeser tranformer。 :p aram time_column_name:時間資料行的名稱。 :p aram grain_column_names:粒紋資料行名稱清單。 :p aram df:要匯總的資料集。 :p atam y:目標值。 :p aram is_training_set:如果為 true,則表示定型集的資料。 :return:如果不需要匯總,則為匯總或完整資料集。
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]
參數
名稱 | Description |
---|---|
ts_transformer
必要
|
|
time_column_name
必要
|
|
grain_column_names
必要
|
|
df
必要
|
|
y
|
預設值: None
|
is_training_set
|
預設值: False
|
屬性
actual_column_name
forecast_column_name
forecast_origin_column_name
grain_column_list
max_horizon
傳回模型中使用的最大 hiorizon。
origin_col_name
傳回來源資料行名稱。
target_lags
如果有的話,傳回目標延隔時間。
target_rolling_window_size
傳回滾動視窗的大小。
time_column_name
傳回時間資料行的名稱。
user_target_column_name
y_max_dict
依時間序列識別碼傳回具有最大目標值的字典
y_min_dict
依時間序列識別碼傳回目標值最少的字典
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.'