Fioneのlagモジュールで前週の売上を特徴量にする

店舗ごとの日次売上を予測するときは、同じ店舗の1週間前の売上が手掛かりになります。Fione v2の開発版に追加された lag モジュールでは、日付列を基準に、指定した日数だけ前の値を別の列にできます。関連変更は開発ブランチにマージ済みです。

日付と過去の値を指定する

sale_date、store_id、units_sold を持つデータセットに対し、組み込みモジュールの lag(Add values from earlier times)を次のパラメーターで実行します。

{
  "time": "sale_date",
  "by": ["store_id"],
  "columns": ["units_sold"],
  "lags": "7,14",
  "how": "sum"
}

同じ店舗の7日前と14日前の売上が、それぞれ units_sold_lag7 と units_sold_lag14 に入ります。店舗と商品を組み合わせる場合は by に両方の列を指定します。by を省略すると全体を一つのグループとして扱います。lags の初期値は "1" で、1以上の整数をカンマで区切れます。同じグループの同じ日に複数行あれば先に集約し、how の初期値 mean では平均、sum では合計を使います。対象値がすべて欠損のときは、合計でも空欄です。

何日前を参照するか確認する

日付列では1ステップが1日です。7日前の行がないときは空欄になります。直前の行を探して埋める処理や移動平均は行いません。日付型または 2026-11-01 のような年・月・日の順の文字列を使用します。時刻を含む日時や月だけの文字列は対象外です。月単位に処理する場合は、連続した月番号のような整数値を time に指定します。元の行数と並び順は維持されます。

学習用と予測用の行を分ける

予測対象日の行に過去値を付けるには、先に履歴と予測用の行を一つのデータセットに入れてモジュールを実行し、その後で行を分けます。目的変数が空の予測用の行は学習用データから外します。モジュールは同時点や将来の行を参照しませんが、複数日先を一度に予測する場合は、予測時点で判明している実績だけを入力に用意します。

関連PR

  • 過去の値を追加するモジュール Fione #74
  • 日付を基準にした過去値の参照 Fione #81

コメントを残す

メールアドレスが公開されることはありません。 ※ が付いている欄は必須項目です