次の方法で共有


レッスン 4: DMX を使用した時系列予測の作成

このレッスンと次のレッスンでは、データ マイニング拡張機能 (DMX) を使用して、「 レッスン 1: 時系列マイニング モデルとマイニング構造の作成 」および 「レッスン 2: 時系列マイニング構造へのマイニング モデルの追加」で作成した時系列モデルに基づいて、さまざまな種類の予測を作成します。

時系列モデルでは、さまざまな方法で予測を作成できます。

  • マイニング モデル内の既存のパターンとデータを使用する。

  • マイニング モデル内の既存のパターンを使用し、データは新たに供給する。

  • モデルに新しいデータを追加するか、モデルを更新する。

このような予測を作成するための構文を以下にまとめます。

既定の時系列予測
PredictTimeSeries (DMX) を使用して、トレーニング済みのマイニング モデルから指定した数の予測を返します。

たとえば、「 PredictTimeSeries (DMX)」 または 「時系列モデル クエリの例」を参照してください。

EXTEND_MODEL_CASES
PredictTimeSeries (DMX) と EXTEND_MODEL_CASES 引数を使用して、新しいデータの追加、系列の拡張、更新されたマイニング モデルに基づく予測の作成を行います。

このチュートリアルには、EXTEND_MODEL_CASES の使用例が示されています。

REPLACE_MODEL_CASES
PredictTimeSeries (DMX) と REPLACE_MODEL_CASES 引数を使用して、元のデータを新しいデータ系列に置き換え、マイニング モデルのパターンを新しいデータ系列に適用することに基づいて予測を作成します。

REPLACE_MODEL_CASESの使用方法の例については、「 レッスン 2: 予測シナリオの構築 (中間データ マイニング チュートリアル)」を参照してください。

このレッスンの作業

このレッスンでは、次のタスクを実行します。

  • 既存のデータに基づいて既定の予測を取得するクエリの作成

この次のレッスンでは、関連する次の作業を行います。

  • 新しいデータを提供して更新された予測を取得するクエリの作成

DMX を使用して手動でクエリを作成するだけでなく、SQL Server Data Tools (SSDT) の予測クエリ ビルダーを使用して予測を作成することもできます。

簡単な時系列予測クエリ

最初の手順では、SELECT FROM ステートメントを PredictTimeSeries 関数と共に使用して時系列予測を作成します。 時系列モデルでは、予測を作成するための簡略化された構文がサポートされます。入力データを提供する必要ありませんが、作成する予測の数を指定する必要があります。 使用するステートメントの汎用例を次に示します。

SELECT <select list>   
FROM [<mining model name>]   
WHERE [<criteria>]  

選択リストには、モデルの列 (予測を作成する製品ラインの名前など) や、タイム シリーズ マイニング モデル専用の Lag (DMX)PredictTimeSeries (DMX) などの予測関数を含めることができます。

簡単な時系列予測クエリを作成するには

  1. オブジェクト エクスプローラーで Analysis Services のインスタンスを右クリックし、[新しいクエリ] をポイントして、[DMX] をクリックします。

    クエリ エディターが開き、新しい空のクエリが表示されます。

  2. ステートメントの汎用例を空のクエリにコピーします。

  3. 次の部分を探します。

    <select list>   
    

    次の内容に置き換えます。

    [Forecasting_MIXED].[ModelRegion],  
    PredictTimeSeries([Forecasting_MIXED].[Quantity],6) AS PredictQty,  
    PredictTimeSeries ([Forecasting_MIXED].[Amount],6) AS PredictAmt  
    

    最初の行では、系列を識別する値をマイニング モデルから取得します。

    2 行目と 3 行目では、PredictTimeSeries 関数を使用します。 各行で別々の属性 ([Quantity] または [Amount]) が予測されます。 予測可能な属性の名前の後の数値は、予測する時間ステップの数を示します。

    AS 句は、各予測関数から返される列の名前を指定するために使用します。 別名を指定しない場合は、既定で両方の列が Expression というラベルで返されます。

  4. 次の部分を探します。

    [<mining model>]   
    

    次の内容に置き換えます。

    [Forecasting_MIXED]  
    
  5. 次の部分を探します。

    WHERE [criteria>]   
    

    次の内容に置き換えます。

    WHERE [ModelRegion] = 'M200 Europe' OR  
    [ModelRegion] = 'M200 Pacific'  
    

    最終的なステートメントは次のようになります。

    SELECT  
    [Forecasting_MIXED].[ModelRegion],  
    PredictTimeSeries([Forecasting_MIXED].[Quantity],6) AS PredictQty,  
    PredictTimeSeries ([Forecasting_MIXED].[Amount],6) AS PredictAmt  
    FROM   
    [Forecasting_MIXED]  
    WHERE [ModelRegion] = 'M200 Europe' OR  
    [ModelRegion] = 'M200 Pacific'  
    
  6. [ ファイル ] メニューの [ DMXQuery1.dmx As の保存] をクリックします。

  7. [ 名前を付けて保存 ] ダイアログ ボックスで、適切なフォルダーを参照し、ファイルに という名前を付けます SimpleTimeSeriesPrediction.dmx

  8. ツール バーの [ 実行 ] ボタンをクリックします。

    クエリから、WHERE 句で指定した製品と地域の 2 とおりの組み合わせごとに 6 つの予測が返されます。

次のレッスンでは、モデルに新しいデータを提供するクエリを作成し、その予測結果をここで作成した予測と比較します。

このレッスンの次の作業

レッスン 5 : 時系列モデルの拡張

参照

PredictTimeSeries (DMX)
ラグ (DMX)
Time Series Model Query Examples
レッスン 2: 予測シナリオの作成 (中級者向けデータ マイニング チュートリアル)