レッスン 4: DMX を使用した時系列予測の作成
このレッスンと次のレッスンでは、データ マイニング拡張機能 (DMX) を使用して、「レッスン 1: 時系列マイニング モデルおよびマイニング構造の作成」および「レッスン 2: 時系列マイニング構造へのマイニング モデルの追加」で作成した時系列モデルを基にさまざまな種類の予測を作成します。
時系列モデルでは、さまざまな方法で予測を作成できます。
マイニング モデル内の既存のパターンとデータを使用する。
マイニング モデル内の既存のパターンを使用し、データは新たに供給する。
モデルに新しいデータを追加するか、モデルを更新する。
このような予測を作成するための構文を以下にまとめます。
既定の時系列予測
PredictTimeSeries (DMX) を使用して、トレーニング済みのマイニング モデルから指定された数の予測を返します。例については、「PredictTimeSeries (DMX)」または「タイム シリーズ モデルの照会 (Analysis Services - データ マイニング)」を参照してください。
EXTEND_MODEL_CASES
PredictTimeSeries (DMX) に EXTEND_MODEL_CASES 引数を指定して、新しいデータの追加、系列の拡張、および更新されたマイニング モデルに基づく予測の作成を行います。このチュートリアルには、EXTEND_MODEL_CASES の使用例が示されています。
REPLACE_MODEL_CASES
PredictTimeSeries (DMX) に REPLACE_MODEL_CASES 引数を指定して、元のデータを新しいデータ系列で置換し、マイニング モデルのパターンを新しいデータ系列に適用することで予測を作成します。REPLACE_MODEL_CASES の使用例については、「レッスン 2: 予測シナリオの作成 (中級者向けデータ マイニング チュートリアル)」を参照してください。
このレッスンの作業
このレッスンでは、次の作業を行います。
- 既存のデータに基づいて既定の予測を取得するクエリの作成
この次のレッスンでは、関連する次の作業を行います。
- 新しいデータを提供して更新された予測を取得するクエリの作成
DMX を使用して手動でクエリを作成する以外に、Business Intelligence Development Studio で予測クエリ ビルダを使用して予測を作成することもできます。詳細については、「予測クエリ ビルダを使用した DMX 予測クエリの作成」または「[マイニング モデル予測] タブ : 操作方法に関するトピック」を参照してください。
簡単な時系列予測クエリ
最初の手順では、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 を保存] をクリックします。
[名前を付けて保存] ダイアログ ボックスで、適切なフォルダを参照して指定し、ファイルに「SimpleTimeSeriesPrediction.dmx」という名前を付けます。
ツール バーの [実行] ボタンをクリックします。
クエリから、WHERE 句で指定した製品と地域の 2 とおりの組み合わせごとに 6 つの予測が返されます。
次のレッスンでは、モデルに新しいデータを提供するクエリを作成し、その予測結果をここで作成した予測と比較します。