次の方法で共有


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

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

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

時系列予測の作成

通常、予測クエリを作成する最初の手順は、マイニング モデルと入力テーブルを選択することです。 ただし、時系列モデルでは、通常の予測に追加の入力は必要ありません。 そのため、モデルにデータを追加したり、データを置き換えたりしない限り、予測を行うときに新しいデータ ソースを指定する必要はありません。

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

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

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

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

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

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

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

  5. [フィールド] 列で、[モデル領域] を選択します。

    このアクションにより、予測クエリに系列識別子が追加され、予測が適用されるモデルとリージョンの組み合わせを示します。

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

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

    時系列モデルで Predict 関数を使用することもできます。 ただし、既定では、Predict 関数は系列ごとに 1 つの予測のみを作成します。 したがって、複数の予測ステップを指定するには、 PredictTimeSeries 関数を使用する必要があります。

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

  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 桁に切り捨てられます)。

M200 Europe PredictAmount

$TIME 金額
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

M200 Europe PredictQuantity

$TIME 数量
7/25/2008 52
8/25/2008 67
9/25/2008 58
10/25/2008 五十七
11/25/2008 54

M200 北米 - 金額予測

$TIME 金額
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

M200 北米 - 予測数量

$TIME 数量
7/25/2008 272
8/25/2008 152
9/25/2008 250
10/25/2008 181
11/25/2008 290

警告

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

予測結果の保存

予測結果を使用するには、いくつかの異なるオプションがあります。 結果をフラット化し、結果ビューからデータをコピーして、Excel ワークシートまたはその他のファイルに貼り付けることができます。

結果を保存するプロセスを簡略化するために、データ マイニング デザイナーには、データ ソース ビューにデータを保存する機能も用意されています。 データ ソース ビューに結果を保存する機能は、SQL Server Data Tools (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. [ テーブル名] 列に、 テスト予測などの新しい一時テーブル名を入力します。

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

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

結論

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

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

次のレッスン

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

こちらもご覧ください

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