レッスン 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) などの予測関数を含めることができます。
簡単な時系列予測クエリを作成するには
オブジェクト エクスプローラーで Analysis Services のインスタンスを右クリックし、[新しいクエリ] をポイントして、[DMX] をクリックします。
クエリ エディターが開き、新しい空のクエリが表示されます。
ステートメントの汎用例を空のクエリにコピーします。
次の部分を探します。
<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
というラベルで返されます。次の部分を探します。
[<mining model>]
次の内容に置き換えます。
[Forecasting_MIXED]
次の部分を探します。
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'
[ ファイル ] メニューの [ DMXQuery1.dmx As の保存] をクリックします。
[ 名前を付けて保存 ] ダイアログ ボックスで、適切なフォルダーを参照し、ファイルに という名前を付けます
SimpleTimeSeriesPrediction.dmx
。ツール バーの [ 実行 ] ボタンをクリックします。
クエリから、
WHERE
句で指定した製品と地域の 2 とおりの組み合わせごとに 6 つの予測が返されます。
次のレッスンでは、モデルに新しいデータを提供するクエリを作成し、その予測結果をここで作成した予測と比較します。
このレッスンの次の作業
参照
PredictTimeSeries (DMX)
ラグ (DMX)
Time Series Model Query Examples
レッスン 2: 予測シナリオの作成 (中級者向けデータ マイニング チュートリアル)