Share via


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

このレッスンの前の作業では、時系列モデルを作成し、結果を検証しました。既定では、Analysis Services によって常に時系列モデルの予測が作成され、予測グラフの一部として表示されます。ただし、データ マイニング拡張機能 (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 番目の列には、それぞれ、予測結果の入れ子になったテーブルが格納されます。入れ子になった各テーブルには、次の表のような時間ステップと予測された値が含まれます。

例の結果を次に示します。

ModelRegion

PredictAmount

PredictQuantity

M200 Europe

$TIMEAmount
7/25/2008264039.4
8/25/2008323995.1
9/25/2008346405.6
10/25/2008337472.8
11/25/2008342890.8
$TIMEQuantity
7/25/2008121
8/25/2008142
9/25/2008152
10/25/2008149
11/25/2008154

M200 North America

$TIMEAmount
7/25/2008372986.4
8/25/2008411315.3
9/25/2008356186.6
10/25/2008412292.1
11/25/2008473739.2
$TIMEQuantity
7/25/2008163
8/25/2008178
9/25/2008156
10/25/2008173
11/25/2008203

予測結果の保存

いくつかの方法で予測結果を使用することができます。結果をフラット化し、結果ビューのデータをコピーして、Excel ワークシートなどのファイルに貼り付けることができます。また、データをデータ ソース ビューに保存することもできます。結果をデータ ソース ビューに保存する機能は、Business Intelligence Development Studio でのみ使用できます。結果は、エクスポートされたテーブルにフラット化された形式で格納されます。

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

  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. [クエリ結果ビューに切り替え] をクリックします。

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

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

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

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

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

    注意

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