TS-3. 時系列設定

このセクションでは時系列モデリング特有の設定を行う手順について解説します。

機能の選択

時系列モデリングを行うには通常のターゲット選択のあと、「時間認識モデルを設定」から主時間を表す特徴量を選択し、「時系列モデリング」を選びます。

YasunariN_0-1593153053428.png図1. ターゲットの設定から時系列モデリングの指定まで

 

この後、必要に応じて以下の項目の設定を行います:

設定が必要な場合

設定する項目

複数時系列の場合

系列識別子

予測期間をビジネスニーズに応じて変更する場合

予測ウィンドウ

派生特徴量を作成する期間をデフォルト値から変更する場合

特徴量派生ウィンドウ

特徴量のうち、予測したい時点での値が事前にわかっているものがある場合

事前に知りうる特徴量

別途用意している祝日やイベントなどのカレンダーファイルを特徴量として使いたい場合

カレンダーファイル

派生特徴量の生成が不要な特徴量がある場合

派生から除外する特徴量

表1. 主な時系列設定機能

 

【複数時系列】系列識別子の設定

複数時系列の場合は以下のように系列認識子の設定も行います。
例えば店舗ごとの日次売上のデータの場合、店舗名などを指定します。

YasunariN_1-1593153053435.png図2. 系列認識子の設定

 

予測ウィンドウ

次に予測ウィンドウを選択します。ここはビジネス要件に基づいて「いつの値を予測するのか」「どれくらいの期間の予測をするのか」を設定する箇所になります。例えば明日から1週間先までを予測したい場合、予測ウィンドウは「1~7」に設定します。

YasunariN_2-1593153053455.png図3. 予測ウィンドウの設定

 

特徴量派生ウィンドウ

 続いて特徴量派生ウィンドウを選択します。予測点の値に非常に関連性の高いと思われる期間を指定ここで指定することで例えば前々日の売上、過去1週間の売上平均、7日前の売上などこの期間内での派生特徴量(ラグ変数、ヒストリカル変数)を自動で生成されます。

「始め-終わり」の期間は、周期がありそうな期間を超える期間を目安とします。ただし例えば年のトレンドがあるからと言ってローリングウィンドウを「365~0日」に設定すると曜日が異なる365日前との差分など、あまり参考にならない派生特徴量も大量に生成することになるため、特徴量派生ウィンドウは月または週で設定するのが通常です。年のトレンドは別途、イベントフラグや季節性を表す特徴量で表現すると良いでしょう。
また、終わりは予測する際に利用できる過去のデータ区間を選択することに注意します。例えば予測する際に3日以前のデータしか利用できない場合は3をセットします。

YasunariN_3-1593153053451.png図4. 特徴量派生ウィンドウの設定

 

特徴量派生ウィンドウを28~0と設定し、その際生成された「過去2週の平均売上」が1日先の予測に用いられる場合は下図のようになります。7/1, 2, 3を予測する際にそれぞれの2週間前の平均値を特徴量として計算し予測に利用します。

YasunariN_4-1593153053453.png

 YasunariN_5-1593153053449.png
図5. 7/1, 2, 3を予測する際に用いられる派生特徴量のイメージ

 

事前に知り得る特徴量指定

特徴量の中には祝日、3日先の天気(予報)、マーケティング計画、割引価格計画、生産計画などのように事前に知りうる特徴量が存在します。

YasunariN_6-1593153053485.png図6. 時系列時系列における事前に知りうる特徴量の例

 

時系列モデリングではこういった事前に知りうる特徴量を設定することができます。

1つ目の方法は該当特徴量にチェックを付け、「メニュー」→「特徴量を事前に既知として切り替える」を選択する方法です。

YasunariN_7-1593153053625.png図7.  メニューから特徴量を事前に既知として切り替える

 

「高度なオプションを表示」から「事前に知りうる特徴量がありますか?」のボックスに特徴量を追加することでも設定できます。

YasunariN_8-1593153053493.png図8. 高度なオプションから特徴量を事前に既知として切り替える

カレンダー機能

業務の中では別ファイルとして準備している祝日一覧やイベント日のリストなどを事前に既知な特徴量として使いたい場合も多いと思います。そういった場合に便利なのがカレンダー機能です。カレンダーファイルを元のファイルと1つに結合する手間なく、別々にインポートする事が可能で、またカレンダーのデータを使って様々な時系列エンジニアリングも自動で行います。

1列目にYYYY-MM-DD形式の日付、2列目にイベント名(オプショナル)を格納したカレンダーファイルをCSVファイルで用意します。複数時系列の場合、3列目に対応する系列認識子を格納することもできます。

カレンダーファイルは以下のように「高度なオプション」からインポートすることができます。

YasunariN_9-1593153053475.png図9. カレンダーファイルのインポート

 

派生から除外する特徴量

既に時系列特徴量エンジニアリングが施された特徴量(特別なラグなど)や、系列内で経時で変化しない特徴量(商品名など)から特徴量を派生する事に意味はありません。これらの特徴量を派生から除外する設定をメニューから行うことが可能です。

YasunariN_10-1593153053488.png図10. 特徴量を派生から除外

 

時系列予測におけるパーティション設定

時系列問題は過去のデータを元に未来を予測するというプロセスで行われます。そこでモデリング/検定も同様に行う必要があります。この時系列の検定スキームはバックテストと呼ばれます。通常の検定作業で複数回検定を行うことでその信頼性を上げる交差検定同様に、複数のバックテストを行う事も可能です。バックテストの値とは一般的に複数回行われたバックテストにおける検定値の平均値をいいます。

 

YasunariN_11-1593153053478.png図11. 時系列モデリングにおけるバックテスト

 

バックテストにおける検定の計算方法

個々のバックテストでは以下のように検定結果が導出されます。
例えば予測ウィンドウが7日間(1日後〜7日後)、検定期間が31日間(2018/7/1〜2018/7/31)の場合、内部的に1日先を予測するモデルから7日先を予測するモデルまで7つのモデルが作成されます(図12の点線下部分)。1日先を予測するモデルで31日間分の検定を行い、同様のことを2日先を予測するモデル、...、7日先を予測するモデルで行うため、のべ217日間分の検定が行われ、その平均が検定結果となります。

 

YasunariN_12-1593153053477.png図12. 予測ウィンドウと検定期間の関係

 

また、特徴量の派生ウィンドウが過去28日間で派生特徴量として過去2週間の平均売上が生成されるとき、トレーニング期間が7月1日から7月31まで、検定期間が8月1日から9月30日までの場合、図13の右側のように7月1日から9月30日までの各日付に対し過去2週間の平均売上が特徴量として生成されます。そしてこの検定期間内の各売上について、1日先を予測するモデルから7日先を予測するモデル(予測ウィンドウが7日間の場合)のそれぞれで検定を行い、その平均値を検定結果としています。

 

YasunariN_13-1593153053479.png図13. 検定時に使用される派生特徴量

 

ラベル(1)
バージョン履歴
最終更新日:
‎06-26-2020 05:20 PM
更新者: