ForecastingPipelineWrapperBase クラス
予測モデル ラッパーの基本クラス。
- 継承
-
ForecastingPipelineWrapperBase
コンストラクター
ForecastingPipelineWrapperBase(ts_transformer: TimeSeriesTransformer | None = None, y_transformer: Pipeline | None = None, metadata: Dict[str, Any] | None = None)
パラメーター
名前 | 説明 |
---|---|
ts_transformer
|
規定値: None
|
y_transformer
|
規定値: None
|
metadata
|
規定値: None
|
メソッド
align_output_to_input |
変換された出力データ フレームを入力データ フレームに合わせて配置します。 注: 変換は参照によって変更され、コピーは作成されません。 :param X_input: 入力データ フレーム。 :param transformed: 変換後のデータ フレーム。 :returns: 元のインデックスを持つ変換されたデータ フレームで、X_input のように並べ替えられたもの。 |
fit |
入力 X と y を使用してモデルを適合させます。 |
forecast |
データ フレーム X_pred に対して予測を行います。 |
forecast_quantiles |
フィット済みパイプラインから予測と分位点を取得します。 |
is_grain_dropped |
粒度がドロップされる場合は true を返します。 |
preaggregate_data_set |
予測データ セットを集計します。 メモ: このメソッドでは、データ セットが集計される保証はありません。 これは、データセットに重複したタイム スタンプが含まれている場合、またはグリッド外の日付が含まれている場合にのみ発生します。 :param df: 集計するデータセット。 :p atam y: ターゲット値。 :p is_training_set: true の場合、データはトレーニング セットを表します。 :return: 集約が不要な場合は、集約されたデータセットまたはそのままのデータセット。 |
preprocess_pred_X_y |
予測 X と y を前処理します。 |
rolling_evaluation |
指定されたテスト セットに対するローリング起点に対して予測を生成します。 各イテレーションでは、現在の起点に関して次の "max_horizon" 期間の予測を行い、次に起点をホライズンの期間だけ進めます。 各予測の予測コンテキストは、予測器が現在の起点時刻より前の実際のターゲット値を使用してラグ機能を構築するように設定されます。 この関数は、テスト セットの実績と結合されたローリング予測の、連結されたデータ フレームを返します。 このメソッドは非推奨であり、今後のリリースで削除される予定です。 代わりに rolling_forecast() を使用してください。 |
rolling_forecast |
テスト セット上のローリング オリジンに対して予測を生成します。 各イテレーションでは、現在の原点までの情報を使用して、最大期間の予測を行い、"ステップ" 期間で配信元を進めます。 各予測の予測コンテキストは、予測者がルックバック特徴を構築するために現在の開始時刻より前の実際のターゲット値を使用するように設定されます。 この関数は、テスト セットから実績値と結合されたローリング予測の DataFrame を返します。 返されるデータ フレーム内の列は次のとおりです。
|
short_grain_handling |
モデルに対して短いグレイン処理または存在しないグレイン処理が有効になっている場合は true を返します。 |
static_preaggregate_data_set |
予測データ セットを集計します。 メモ: このメソッドでは、データ セットが集計される保証はありません。 これは、データセットに重複したタイム スタンプが含まれている場合、またはグリッド外の日付が含まれている場合にのみ発生します。 :param ts_transformer: トレーニングに使用される時系列トランフォーマー。 :param time_column_name: 時間列の名前。 :param grain_column_names: 粒度列名の一覧。 :param df: 集計するデータセット。 :p atam y: ターゲット値。 :p is_training_set: true の場合、データはトレーニング セットを表します。 :return: 集約が不要な場合は、集約されたデータセットまたはそのままのデータセット。 |
align_output_to_input
変換された出力データ フレームを入力データ フレームに合わせて配置します。
注: 変換は参照によって変更され、コピーは作成されません。 :param X_input: 入力データ フレーム。 :param transformed: 変換後のデータ フレーム。 :returns: 元のインデックスを持つ変換されたデータ フレームで、X_input のように並べ替えられたもの。
align_output_to_input(X_input: DataFrame, transformed: DataFrame) -> DataFrame
パラメーター
名前 | 説明 |
---|---|
X_input
必須
|
|
transformed
必須
|
|
fit
入力 X と y を使用してモデルを適合させます。
fit(X: DataFrame, y: ndarray) -> ForecastingPipelineWrapperBase
パラメーター
名前 | 説明 |
---|---|
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]
パラメーター
名前 | 説明 |
---|---|
X_pred
|
X_past と X_future を時間的に連続して組み合わせた予測データフレーム。 X_pred の空の値が代入されます。 規定値: None
|
y_pred
|
y_past の確定値と Y_future の欠落値を組み合わせたターゲット値。 None の場合、すべての X_pred に対して予測が行われます。 規定値: None
|
forecast_destination
|
<xref:pandas.Timestamp>
Forecast_destination: タイム スタンプ値。 予測は、すべての粒度に対して forecast_destination 時刻まで実行されます。 ディクショナリ入力 { grain -> timestamp } は受け入れられません。 forecast_destination が指定されていない場合は、すべての粒度に対して X_pred で最後に発生した時刻が代入されます。 規定値: None
|
ignore_data_errors
|
ユーザー データのエラーを無視します。 規定値: False
|
戻り値
型 | 説明 |
---|---|
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
パラメーター
名前 | 説明 |
---|---|
X_pred
|
X_past と X_future を時間的に連続して組み合わせた予測データフレーム。 X_pred の空の値が代入されます。 規定値: None
|
y_pred
|
y_past の確定値と Y_future の欠落値を組み合わせたターゲット値。 None の場合、すべての 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
|
戻り値
型 | 説明 |
---|---|
要求された分位点で行われた列と予測を含むデータフレーム。 |
is_grain_dropped
粒度がドロップされる場合は true を返します。
is_grain_dropped(grain: Tuple[str] | str | List[str]) -> bool
パラメーター
名前 | 説明 |
---|---|
grain
必須
|
ドロップされるかどうかをテストする粒度。 |
戻り値
型 | 説明 |
---|---|
粒度がドロップされる場合は True です。 |
preaggregate_data_set
予測データ セットを集計します。
メモ: このメソッドでは、データ セットが集計される保証はありません。 これは、データセットに重複したタイム スタンプが含まれている場合、またはグリッド外の日付が含まれている場合にのみ発生します。 :param df: 集計するデータセット。 :p atam y: ターゲット値。 :p is_training_set: true の場合、データはトレーニング セットを表します。 :return: 集約が不要な場合は、集約されたデータセットまたはそのままのデータセット。
preaggregate_data_set(df: DataFrame, y: ndarray | None = None, is_training_set: bool = False) -> Tuple[DataFrame, ndarray | None]
パラメーター
名前 | 説明 |
---|---|
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]]
パラメーター
名前 | 説明 |
---|---|
X_pred
|
規定値: None
|
y_pred
|
規定値: None
|
forecast_destination
|
規定値: None
|
rolling_evaluation
指定されたテスト セットに対するローリング起点に対して予測を生成します。
各イテレーションでは、現在の起点に関して次の "max_horizon" 期間の予測を行い、次に起点をホライズンの期間だけ進めます。 各予測の予測コンテキストは、予測器が現在の起点時刻より前の実際のターゲット値を使用してラグ機能を構築するように設定されます。
この関数は、テスト セットの実績と結合されたローリング予測の、連結されたデータ フレームを返します。
このメソッドは非推奨であり、今後のリリースで削除される予定です。 代わりに rolling_forecast() を使用してください。
rolling_evaluation(X_pred: DataFrame, y_pred: DataFrame | ndarray, ignore_data_errors: bool = False) -> Tuple[ndarray, DataFrame]
パラメーター
名前 | 説明 |
---|---|
X_pred
必須
|
X_past と X_future を時間的に連続して組み合わせた予測データフレーム。 X_pred の空の値が代入されます。 |
y_pred
必須
|
X_pred に対応するターゲット値。 |
ignore_data_errors
|
ユーザー データのエラーを無視します。 規定値: False
|
戻り値
型 | 説明 |
---|---|
Y_pred。Y_future に対応するサブフレームにもそれぞれの予測が入力されます。 Y_past の欠損値は、代入によって埋められます。 |
rolling_forecast
テスト セット上のローリング オリジンに対して予測を生成します。
各イテレーションでは、現在の原点までの情報を使用して、最大期間の予測を行い、"ステップ" 期間で配信元を進めます。 各予測の予測コンテキストは、予測者がルックバック特徴を構築するために現在の開始時刻より前の実際のターゲット値を使用するように設定されます。
この関数は、テスト セットから実績値と結合されたローリング予測の DataFrame を返します。 返されるデータ フレーム内の列は次のとおりです。
時系列 ID 列 (省略可能)。 ユーザーが指定すると、指定された列名が使用されます。
各行の配信元の時刻を示す予測元列。
列名: オブジェクト メンバー変数として格納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
パラメーター
名前 | 説明 |
---|---|
X_pred
必須
|
<xref:pd.DataFrame>
予測データ フレーム |
y_pred
必須
|
<xref:np.ndarray>
X_predの行に対応するターゲット値 |
step
|
各イテレーションで予測期間を進める期間の数。 規定値: 1
|
ignore_data_errors
|
ユーザー データのエラーを無視します。 規定値: False
|
戻り値
型 | 説明 |
---|---|
<xref:pd.DataFrame>
|
ローリング予測のデータ フレーム |
short_grain_handling
モデルに対して短いグレイン処理または存在しないグレイン処理が有効になっている場合は true を返します。
short_grain_handling() -> bool
static_preaggregate_data_set
予測データ セットを集計します。
メモ: このメソッドでは、データ セットが集計される保証はありません。 これは、データセットに重複したタイム スタンプが含まれている場合、またはグリッド外の日付が含まれている場合にのみ発生します。 :param ts_transformer: トレーニングに使用される時系列トランフォーマー。 :param time_column_name: 時間列の名前。 :param grain_column_names: 粒度列名の一覧。 :param df: 集計するデータセット。 :p atam y: ターゲット値。 :p 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]
パラメーター
名前 | 説明 |
---|---|
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
モデルで使用される最大ホライズンを返します。
origin_col_name
元の列名を返します。
target_lags
ターゲットのラグを返します (ある場合)。
target_rolling_window_size
ローリング ウィンドウのサイズを返します。
time_column_name
時刻列の名前を返します。
user_target_column_name
y_max_dict
時系列 ID で最大ターゲット値を持つディクショナリを返します
y_min_dict
時系列 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.'