時系列予測の作成 (中級者向けデータ マイニング チュートリアル)

このレッスンの前の作業では、時系列モデルを作成し、結果を検証しました。 既定では、Analysis Services によって常に時系列モデルの 5 つの予測のセットが作成され、予測された値が予測グラフの一部として表示されます。 ただし、データ マイニング拡張機能 (DMX) の予測クエリを作成することによって、予測を作成することもできます。

この作業では、ビューアーに表示された予測と同じ予測を生成する予測クエリを作成します。 「基本的なデータ マイニング チュートリアル」のレッスンが完了し、予測クエリ ビルダーの使用方法について理解していることを前提とします。 ここでは、時系列モデルに固有のクエリを作成する方法を学習します。

時系列予測の作成

通常、予測クエリを作成するには、まず、マイニング モデルと入力テーブルを選択します。 ただし、時系列モデルでは、通常の予測では必要な追加の入力が必要ありません。 したがって、モデルにデータを追加したり、データを置き換えたりする場合以外は、予測を行うときに新しいデータ ソースを指定する必要はありません。

このレッスンでは、予測期間の値を指定する必要があります。 系列名を指定して、製品と地域の特定の組み合わせに対する予測を取得できます。

モデルと入力テーブルを選択するには

  1. データ マイニング デザイナーの [マイニング モデル予測] タブを開き、[マイニング モデル] ボックスの [モデルの選択] をクリックします。

  2. [マイニング モデルの選択] ダイアログ ボックスで、Forecasting 構造を展開し、一覧から Forecasting モデルを選択して [OK] をクリックします。

  3. [入力テーブルの選択] ボックスは無視します。

    注意

    時系列モデルでは、クロス予測を実行する場合以外は、個別の入力を指定する必要はありません。

  4. [マイニング モデル予測] タブのグリッドで、[ソース] 列の最初の空白行のセルをクリックし、[Forecasting マイニング モデル] を選択します。

  5. [フィールド] 列で、[Model Region] を選択します。

    この操作により、予測クエリに系列の識別子が追加され、予測が適用されるモデルと地域の組み合わせが指定されます。

  6. [ソース] 列で次の空白行をクリックし、[予測関数] を選択します。

  7. [フィールド] 列で、[PredictTimeSeries] を選択します。

    注意

    時系列モデルでは Predict 関数を使用することもできます。 ただし、既定では、Predict 関数を使用すると、系列ごとに 1 つしか予測が作成されません。 そのため、複数の予測期間を指定する場合は、PredictTimeSeries 関数を使用する必要があります。

  8. [マイニング モデル] ペインで、マイニング モデル列 Amount を選択します。Amount を、追加した PredictTimeSeries 関数の [条件と引数] ボックスにドラッグします。

  9. [条件と引数] ボックスをクリックし、フィールド名の後に、コンマに続けて「5」と入力します。

    [条件と引数] ボックスのテキストは、次のように表示されます。

    [Forecasting].[Amount],5

  10. [別名] 列に「PredictAmount」と入力します。

  11. [ソース] 列で次の空白行をクリックし、もう一度 [予測関数] を選択します。

  12. [フィールド] 列で、[PredictTimeSeries] を選択します。

  13. [マイニング モデル] ペインで、列 Quantity を選択し、2 番目の PredictTimeSeries 関数の [条件と引数] ボックスにドラッグします。

  14. [条件と引数] ボックスをクリックし、フィールド名の後に、コンマに続けて「5」と入力します。

    [条件と引数] ボックスのテキストは、次のように表示されます。

    [Forecasting].[ Quantity],5

  15. [別名] 列に「PredictQuantity」と入力します。

  16. [クエリ結果ビューに切り替え] をクリックします。

    クエリの結果が表形式で表示されます。

クエリ ビルダーで 3 種類の異なる結果を作成したことに注意してください。列の値を使用した結果が 1 つと、予測関数から予測値を取得した結果が 2 つです。 したがって、クエリの結果には 3 つの異なる列が含まれます。 最初の列には、製品と地域の組み合わせの一覧が格納されます。 2 番目と 3 番目の列には、それぞれ、予測結果の入れ子になったテーブルが格納されます。 入れ子になった各テーブルには、次の表のような時間ステップと予測された値が含まれます。

例の結果 (金額は小数点以下 2 桁に切り捨てられます):

ModelRegion

PredictAmount

PredictQuantity

M200 Europe

$TIME

Amount

7/25/2008

99978.00

8/25/2008

145575.07

9/25/2008

116835.19

10/25/2008

116537.38

11/25/2008

107760.55

$TIME

Quantity

7/25/2008

52

8/25/2008

67

9/25/2008

58

10/25/2008

57

11/25/2008

54

M200 North America

$TIME

Amount

7/25/2008

348533.93

8/25/2008

340097.98

9/25/2008

257986.19

10/25/2008

374658.24

11/25/2008

379241.44

$TIME

Quantity

7/25/2008

272

8/25/2008

152

9/25/2008

250

10/25/2008

181

11/25/2008

290

注記注意

サンプル データベースで使用されている日付は、このリリース用に更新されています。 以前のバージョンのサンプル データを使用している場合は、異なる結果が表示されることがあります。

予測結果の保存

いくつかの方法で予測結果を使用することができます。 結果をフラット化し、結果ビューのデータをコピーして、Excel ワークシートなどのファイルに貼り付けることができます。

結果を保存するプロセスを簡単にするため、データ マイニング デザイナーではデータをデータ ソース ビューに保存する機能も提供されています。 結果をデータ ソース ビューに保存する機能は、SQL Server データ ツール (SSDT) だけで使用できます。 結果はフラット化された形式でのみ格納できます。

結果ペインで結果をフラット化するには

  1. 予測クエリ ビルダーで、[クエリ デザイン ビューに切り替え] をクリックします。

    ビューが切り替わり、DMX クエリ テキストを手動で編集できるようになります。

  2. SELECT キーワードの後に、FLATTENED キーワードを入力します。 最終的なクエリ テキストは次のようになります。

    SELECT FLATTENED
      [Forecasting].[Model Region],
      (PredictTimeSeries([Forecasting].[Amount],5)) as [PredictAmount],
      (PredictTimeSeries([Forecasting].[Quantity],5)) as [PredictQuantity]
    FROM
      [Forecasting]
    
  3. 必要に応じて、次の例のように、結果を制限するための句を入力できます。

    SELECT FLATTENED
      [Forecasting].[Model Region],
      (PredictTimeSeries([Forecasting].[Amount],5)) as [PredictAmount],
      (PredictTimeSeries([Forecasting].[Quantity],5)) as [PredictQuantity]
    FROM
      [Forecasting]
    WHERE [Forecasting].[Model Region] = 'M200 North America' 
    OR [Forecasting].[Model Region] = 'M200 Europe'
    
  4. [クエリ結果ビューに切り替え] をクリックします。

予測クエリの結果をエクスポートするには

  1. [クエリ結果の保存] をクリックします。

  2. [データ マイニングのクエリ結果を保存] ダイアログ ボックスの [データ ソース] で、 AdventureWorksDW2012 を選択します。 データを別のリレーショナル データベースに保存する場合は、データ ソースを作成することもできます。

  3. [テーブル名] 列に、「Test Predictions」など、新しい一時的なテーブル名を入力します。

  4. [保存] をクリックします。

    注意

    作成したテーブルを表示するには、データを保存したインスタンスのデータベース エンジンに対する接続を作成し、クエリを作成します。

結論

基本的な時系列モデルを作成し、予測を解釈し、予測を作成する方法について学習しました。

このチュートリアルの残りのタスクは省略可能であり、高度な時系列予測について説明します。 さらにチュートリアルを続けると、モデルに新しいデータを追加し、拡張系列で予測を作成する方法について学習できます。 また、モデルの傾向を使用し、データを新しい系列に置き換えることで、クロス予測を実行する方法についても学習します。

次のレッスン

高度な時系列予測 (中級者向けデータ マイニング チュートリアル)

関連項目

概念

タイム シリーズ モデルのクエリ例