メイン コンテンツをスキップする 補完的コンテンツへスキップ

多変量時系列予測の作業

Qlik Predict を使用すると、機械学習モデルをトレーニングして、時間固有のメトリクスを予測できます。ニューラル ネットワーク ベースの方法を使用して、モデルは時間固有の関連性、グループ化されたターゲット データ、過去の特徴量、既知の将来の変数を含む複雑なパターンを学習し、予測します。時系列予測を作成するには、トレーニング データセットを準備し、それを時系列実験で使用し、モデルを展開して、予測の生成に使用できる適用データセットを作成します。

時系列問題の構成要素

時系列予測の目的は、将来の特定の日付の目標値を予測することです。たとえば、次の週、月、または四半期の売上を予測するとします。

時系列の問題を作成するときは、次の構成要素を定義します。

  • ターゲットとグループ

  • 日付インデックス

  • 予想期間

  • 共変量

情報メモこのフレームワークでは、時系列予測の問題に対する機械学習の質問を定義する方法について説明します。分類と回帰問題に対する機械学習の質問を定義するには、「機械学習の質問の定義」を参照してください。

Qlik Predict における時系列予測問題の構成要素を概説した、簡略化された図。

ターゲット

他の実験タイプと同様に、ターゲットはモデルで将来の値を予測する列です。時系列実験の場合、ターゲットには売上や在庫などの数値データが含まれている必要があります。

時系列予測でグループを使用している場合、モデルは予測ウィンドウ内の時間ステップごとにグループごとに 1 つのターゲット値を予測します。グループを使用していない場合は、トレーニング済みのモデルは予測ウィンドウ内の各時間ステップごとに 1 つのターゲット値を予測します。

日付インデックス

日付インデックスは、連続した時間間隔 (時間ステップ) にわたって時系列メトリクスを追跡します。早い段階で時間ステップを決定する必要があります。将来の値をどのくらいの頻度で予測する必要がありますか?

具体的には、日付インデックスは、時系列問題のトレーニングおよび適用データセットに表示される列です。日付インデックスによって、これら 2 つの適用データセットの構造が決定されます。各行は時間のステップ (または、グループの場合は、一意のグループごとの時間のステップ) を表します。

時系列実験にトレーニング データセットを追加すると、可能な日付インデックス列が自動的に識別され、列レベルで [インサイト] として表示されます。これらは、スキーマ ビューの [利用可能な日付インデックス] インサイトから識別できます。

グループ

グループは、個別に予測を生成するカテゴリ情報を含む特徴量です。グループの典型的な例としては、店舗番号や製品などがあり、これらは売上などのターゲットのデータを整理するために使用できます。店舗番号と製品タイプをグループとして選択すると、時系列モデルはこれらの列全体の個々の値ごとに予測を提供します。たとえば、売上目標の場合で、店舗番号が 3 つ (1、2、3)、製品の種類が 2 つ (食料品と農産物) ある場合、モデルはこれらの値の一意の組み合わせごとに売上予測を生成します。

データが存在し、カテゴリごとに個別の予測が必要な場合は、時系列の問題にグループを組み込む必要があります。グループのもう 1 つの利点は、モデルがグローバルに学習し、定義したさまざまなグループ間に存在するパターンを、より適切に理解できることです。

各実験バージョンで使用するグループを設定できます。グループを指定しなくても、トレーニング データセットでグループが識別されている場合は、トレーニングでグループが使用されます。

グループは日付インデックス列の重複値によって識別されます。たとえば、日付が 2025 年 1 月 14 日の場合、ストア A のレコードとストア B のレコードの 2 つが存在します。

時系列実験内の各グループ (ターゲットのみを含む) は、データセット内で個別の時系列とみなされます。「時系列とは?」を参照してください。

予測期間

予測期間は、どのくらい先の将来を予測するかを指定します。予測期間は、予測ウィンドウ (予測が必要な時間ステップの数) と予測ギャップ (履歴データ後の予測を必要としない任意の時間ステップの数) で構成されます。

実験バージョンを構成するときに、予測ウィンドウとギャップ サイズを設定します。これらの値は、モデルのトレーニング中と、ML 展開として展開されたモデルから予測を生成するときの両方で使用されます。

予測ウィンドウは、将来を予測する時間ステップの数です。たとえば、時間ステップが 1 日で、今後 2 週間の売上を予測する場合は、予測ウィンドウを 14 に設定します。

予測ギャップとは、将来において予測が必要ない時間の長さです。必要な場合と不要な場合があるため、予測ギャップの設定はオプションになっています。予測ギャップは、提供して記録された履歴トレーニング データの最後から始まります。予測ウィンドウは、予測ギャップが終了するところから始まります。

たとえば、将来の売上を予測する場合に、入力データの終了後 1 週間以上後の日付の将来の売上のみに関心があるとします。この場合、日単位の時間ステップで、予測ギャップのサイズを 7 つの時間ステップに設定できます。

選択した予測ウィンドウとトレーニング データの量によって、将来予測できる期間が制限されます。詳細については、「最大予測ウィンドウ」を参照してください。

共変量

時系列の問題では、特徴量は共変量と呼ばれることがよくあります。他の機械学習の問題と同様に、共変量はターゲットの結果に影響を及ぼすと疑われる他の変数のことです。各共変量は、トレーニング データセット内の 1 つの列として表されます。

時系列予測には数種類の共変量があり、それらには重要な違いがあります。

  • 静的共変量: 時系列を通じて変化しない列です。静的共変量は、グループが使用されている時系列実験に適用できます。たとえば、製品と店舗番号のグループがあり、既定割引の特徴量があるとします。店舗 1 の製品 A の既定割引が 10% で、店舗 2 の製品 B の既定割引が 20% の場合、既定割引は静的共変量になります。つまり、その特徴量は、出現するグループのデータ内では変化しません。

    静的共変量は、実験に含める過去の特徴量から自動的に検出されます。どの特徴量が静的共変量であるかを示す必要はありません。

  • 過去の共変量: 履歴データでのみ使用可能で、データ全体にわたって変化する時間依存変数です。過去の共変量は、実験に含める過去の特徴量から自動的に検出されます。どの特徴量が過去の共変量であるかを明示的に指定する必要はありません。

  • 将来の共変量: 将来の共変量は将来の特徴量とも呼ばれ、予測期間内の将来の値が分かっている時間依存変数です。トレーニングで将来の共変量を使用する場合は、トレーニング設定で将来の特徴量として指定する必要があります。

将来の特徴量

将来の特徴量を使用すると、既にわかっている、または合理的に予測できる将来の情報に関する追加データをモデルに提供できます。特に、選択した予測期間全体にわたる将来値にアクセスできます。将来の特徴量を定義するときは、過去のデータと将来のデータの両方を提供する必要があります。

たとえば、店舗が提供する将来の割引によって影響を受ける可能性のある指標を予測するモデルの場合、過去に観測された割引だけでなく、予測期間内の将来の期間における割引も含めることができます。将来の特徴量の他の例としては、天気やカレンダー情報などが挙げられます。

その他の重要な概念

このセクションでは、時系列の問題に関連するものの、実験や ML 展開では直接設定しない概念について説明します。これらのプロパティは、データによって定義されるか、モデルに対して設定した他のプロパティによって定義されます。

時間ステップ

時間ステップはトレーニングデータセットによって定義されるもので、トレーニングと予測の両方に重要な要素です。

トレーニング データセットにおいて、時間ステップとは日付インデックス内のデータが記録される間隔のことです。たとえば、時間ステップは、毎日、毎時、毎分、毎秒などに設定できます。

トレーニング データで使用されている時間ステップを把握しておくことが重要です。予測ウィンドウや予測ギャップサイズなど、定義する他の実験パラメーターも、この時間ステップ間隔に従います。

モデルを展開後、予測を作成する適用データは、トレーニングデータセットで定義されているものと同じ時間ステップに従う必要があります。

品質

トレーニング データセットを選択すると、システムは使用する時間ステップを推測します。日付インデックスに欠損値やギャップがある場合、ターゲット、グループ、共変量などの列はシステムによって自動的に補間されます。ただし、データの時間間隔が不整合で、異なる時間ステップが検出される場合は、まずデータを修正する必要があります。たとえば、数か月分のデータが毎日 1 回記録されているにもかかわらず、週単位で一貫してデータが記録されている区間がある場合、複数の時間ステップが検出されるため、データセットは使用できません。

適用ウィンドウ

適用ウィンドウまたはルックバック期間とは、指定された予測ウィンドウの予測を提供するために、アルゴリズムが使用できるトレーニング データの一部のことです。

適用ウィンドウはシステムによって計算および設定されます。これは時間ステップの単位で測定されます。適用ウィンドウは、予測ウィンドウとギャップ (予測期間) として設定した内容によって定義されます。 適用ウィンドウのサイズは、少なくとも 1 つの実験バージョンを実行した後、実験構成パネルと [モデル トレーニングの概要] に表示されます。バッチ予測構成を作成または編集する際、ML 展開の [モデル スキーマ] にも表示されます。

適用ウィンドウは、トレーニング設定から自動的に識別されます。特定の予測ウィンドウの予測を生成するには、少なくとも適用ウィンドウを含む履歴データを提供する必要があります。これは適用データセットで提供されます。「適用データセットの準備」を参照してください。

最大予測ウィンドウ

最大予測ウィンドウは、時系列実験を構成するときに推定されます。トレーニングのバージョンを実行すると、最大予測ウィンドウが確実に確定されます。最大予測ウィンドウは、実験構成パネルで [ターゲットと実験タイプ] を開くと、 [自分のデータに基づく] に、 [推定最大予測] または [最大予測] として表示されます。最大予測ウィンドウとは、選択した予測ウィンドウ、提供した履歴データの量、システムが想定する最小サンプル サイズに基づいて、予測を生成できる最大の時間ステップ数のことです。提供した過去のデータが多ければ多いほど、より長い期間の予測が可能になります。ただし、信頼性の高い予測を生成するには、適切な予測ウィンドウを選択することが重要です。

最大の予測ウィンドウは 180 時間ステップまで設定できます。

予測終了時間

予測終了時間は、予測中に適用データセットを定義するときに特に重要です。予測終了時間とは、ターゲット値が存在するサンプル内の最後の日付のことを指します。基本的に、この終了時間以降の日付が、予測を生成する日付となります。

時系列とは?

Qlik Predict の時系列予測では、ターゲットのみを含む各グループは、トレーニング データセット内で個別の時系列とみなされます。たとえば、トレーニング データセットに売上指標が含まれているとします。これらの売上指標は、店舗と商品タイプごとに定義されています。店舗と商品タイプの列がグループとして定義されているため、トレーニング データセットには 3 つの時系列が含まれます。

トレーニング データセットの準備

多変量時系列予測を実行するには、トレーニング データセットに次の列を含める必要があります。

  • 日付インデックス

  • ターゲット列

  • グループ列 (オプション)

  • 特徴量列 (オプション - 特徴量がない場合、単変量予測モデルをトレーニングします)

時系列トレーニング データセットに必要な列とデータを示す図。グループなし、グループ 1 つ、グループ 2 つのシナリオについての例。

時系列予測モデルのトレーニング データセットに必要な構成要素とタイムラインを概説する線形図。

日付インデックス列

完全な日付またはタイム スタンプを含む日付インデックスが必要です。この列は、ターゲットおよび共変量メトリクスを追跡するための時系列インデックスです。日付インデックス列は、時間ベースの測定値を一定の時間間隔 (時間ステップ) に沿って順番に整理します。

日付インデックス列は、グループを使用しているかどうかに応じて、次のように構成されます。

  • グループなし: 時間ステップごとに 1 つのレコード。例: 日次予測の場合、各行は 1 日を表します。

  • グループあり: 使用するグループに応じて、時間ステップごとに 1 つ以上の重複エントリが発生します。

多変量トレーニングデータセットを使用する場合、使用するグループに応じて、時間ステップごとに 1 つ以上の重複エントリが発生します。使用する時間ステップには柔軟性があり、たとえば、日次、週次、月次など、1 回以上の日付を記録できます。

この列に欠損値や不整合な値が記録されていても、補間できる場合は許容される場合があります。ただし、日付インデックス値に複数の異なる時間ステップを含めることはできません。たとえば、間隔が 1 日 1 回と決定されているにもかかわらず、途中で 1 日 2 回の間隔が検出された場合、トレーニング中にエラーが発生します。

ターゲット列とグループ列

データセットには、予測の対象となる数値指標を含むターゲット列が必要です。一般的な例として、売上が挙げられます。

グループを使用する場合は、追加するグループ内の各値に対して、過去のターゲット値を指定します。たとえば、ターゲットが売上で、店舗 A と店舗 B のデータを含む店舗番号というグループを追加する場合、データセットには各時間ステップごとに 2 つの別々のレコードを含める必要があります。1 つは店舗 A の売上値、もう 1 つは店舗 B の売上値です。

特徴量列

時系列モデルは、共変量なしでもトレーニングできます。ただし、共変量を含める場合は、データセット内に各特徴量の列を用意します。特徴量データは、将来の特徴量を追加する場合を除き、通常は過去に記録されたデータである必要があります。将来の特徴量列には、過去のデータと将来のデータの両方を含めることができます。予測を作成する際にこれらの列の将来値が既知であると確信できる場合にのみ、トレーニング データセットに将来の特徴量データを含めてください。

トレーニング設定で選択する必要があるため、将来の特徴量として使用する特徴量を記録しておいてください。

データ量

データセットには十分な数のレコードが含まれている必要があります。過去データの量は、どれだけ先の将来まで予測できるかを決定する要素の一つとなります。また、希望する予測期間ウィンドウの長さによっても、必要となる過去データの量が変わります。

一般的に、過去データは多いほど望ましいとされています。ただし、データは高品質であり、目的とする傾向を反映している必要があります。データに無関係な情報や不正確な内容が含まれている場合、それをモデルに取り込んでも役に立ちません。データ量の最適化と、品質および関連性の維持のバランスを考慮してください。

適用データセットの準備

時系列モデルを展開したら、予測を実行する適用データセットを開発する必要があります。

適用データセット - 要件と検証

時系列モデルの場合、適用データセットには次が必要です。

  • トレーニング データセットに含まれるすべての列の列と列ヘッダー。

  • トレーニング データセットと同じ時間ステップ

  • 予測終了時間前の、モデルの適用ウィンドウ内のレコード数と同じ数以上の履歴データ レコード (ターゲットおよびグループごと)。これらは、過去に観測された日付またはタイム スタンプ、ターゲット共変量値を含む完全なレコードである必要があります。適用ウィンドウは、トレーニング中に構成された予測ウィンドウとギャップによって決定されます。予測が必要な将来が長ければ長いほど、予測を実行するために適用データセットに必要な履歴データが多くなります。

  • 予測期間内の将来のすべての時間ステップを記録します。これらの将来のレコードには、日付インデックス列の値と将来の特徴量のみを含めます。他の列の値は空白のままにしておきます。

ヒント メモ適用データセットにおける過去データの要件の多くは、必要とされる最小限のデータ量を指定するためのものです。必要に応じて、それ以上のデータを提供することもできます。モデルが予測を生成する際には、適用ウィンドウをカバーするために必要なレコードのみが使用されます。

時系列予測モデルから予測を生成するために、適用データセットに必要な列とデータを示す図。グループなし、グループ 1 つ、グループ 2 つのシナリオの例。

時系列予測モデルを使用して予測を生成するために、適用データセットの必要な構成要素とタイムラインを概説した線形図。

このページは役に立ちましたか?

このページまたはコンテンツにタイポ、ステップの省略、技術的エラーなどの問題が見つかった場合はお知らせください。