時系列予測の作成 (中級者向けデータ マイニング チュートリアル)
このレッスンの前の作業では、時系列モデルを作成し、結果を検証しました。 既定では、Analysis Services によって常に時系列モデルの 5 つの予測のセットが作成され、予測された値が予測グラフの一部として表示されます。 ただし、データ マイニング拡張機能 (DMX) の予測クエリを作成することによって、予測を作成することもできます。
この作業では、ビューアーに表示された予測と同じ予測を生成する予測クエリを作成します。 「基本的なデータ マイニング チュートリアル」のレッスンが完了し、予測クエリ ビルダーの使用方法について理解していることを前提とします。 ここでは、時系列モデルに固有のクエリを作成する方法を学習します。
時系列予測の作成
通常、予測クエリを作成するには、まず、マイニング モデルと入力テーブルを選択します。 ただし、時系列モデルでは、通常の予測では必要な追加の入力が必要ありません。 したがって、モデルにデータを追加したり、データを置き換えたりする場合以外は、予測を行うときに新しいデータ ソースを指定する必要はありません。
このレッスンでは、予測期間の値を指定する必要があります。 系列名を指定して、製品と地域の特定の組み合わせに対する予測を取得できます。
モデルと入力テーブルを選択するには
データ マイニング デザイナーの [マイニング モデル予測] タブを開き、[マイニング モデル] ボックスの [モデルの選択] をクリックします。
[マイニング モデルの選択] ダイアログ ボックスで、Forecasting 構造を展開し、一覧から Forecasting モデルを選択して [OK] をクリックします。
[入力テーブルの選択] ボックスは無視します。
注 時系列モデルでは、クロス予測を実行する場合以外は、個別の入力を指定する必要はありません。
[マイニング モデル予測] タブのグリッドで、[ソース] 列の最初の空白行のセルをクリックし、[Forecasting マイニング モデル] を選択します。
[フィールド] 列で、[Model Region] を選択します。
この操作により、予測クエリに系列の識別子が追加され、予測が適用されるモデルと地域の組み合わせが指定されます。
[ソース] 列で次の空白行をクリックし、[予測関数] を選択します。
[フィールド] 列で、[PredictTimeSeries] を選択します。
注 時系列モデルでは Predict 関数を使用することもできます。 ただし、既定では、Predict 関数を使用すると、系列ごとに 1 つしか予測が作成されません。 そのため、複数の予測期間を指定する場合は、PredictTimeSeries 関数を使用する必要があります。
[マイニング モデル] ペインで、マイニング モデル列 Amount を選択します。Amount を、追加した PredictTimeSeries 関数の [条件と引数] ボックスにドラッグします。
[条件と引数] ボックスをクリックし、フィールド名の後に、コンマに続けて「5」と入力します。
[条件と引数] ボックスのテキストは、次のように表示されます。
[Forecasting].[Amount],5
[別名] 列に「PredictAmount」と入力します。
[ソース] 列で次の空白行をクリックし、もう一度 [予測関数] を選択します。
[フィールド] 列で、[PredictTimeSeries] を選択します。
[マイニング モデル] ペインで、列 Quantity を選択し、2 番目の PredictTimeSeries 関数の [条件と引数] ボックスにドラッグします。
[条件と引数] ボックスをクリックし、フィールド名の後に、コンマに続けて「5」と入力します。
[条件と引数] ボックスのテキストは、次のように表示されます。
[Forecasting].[ Quantity],5
[別名] 列に「PredictQuantity」と入力します。
[クエリ結果ビューに切り替え] をクリックします。
クエリの結果が表形式で表示されます。
クエリ ビルダーで 3 種類の異なる結果を作成したことに注意してください。列の値を使用した結果が 1 つと、予測関数から予測値を取得した結果が 2 つです。 したがって、クエリの結果には 3 つの異なる列が含まれます。 最初の列には、製品と地域の組み合わせの一覧が格納されます。 2 番目と 3 番目の列には、それぞれ、予測結果の入れ子になったテーブルが格納されます。 入れ子になった各テーブルには、次の表のような時間ステップと予測された値が含まれます。
例の結果 (金額は小数点以下 2 桁に切り捨てられます):
ModelRegion |
PredictAmount |
PredictQuantity |
||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
M200 Europe |
|
|
||||||||||||||||||||||||
M200 North America |
|
|
注意 |
---|
サンプル データベースで使用されている日付は、このリリース用に更新されています。 以前のバージョンのサンプル データを使用している場合は、異なる結果が表示されることがあります。 |
予測結果の保存
いくつかの方法で予測結果を使用することができます。 結果をフラット化し、結果ビューのデータをコピーして、Excel ワークシートなどのファイルに貼り付けることができます。
結果を保存するプロセスを簡単にするため、データ マイニング デザイナーではデータをデータ ソース ビューに保存する機能も提供されています。 結果をデータ ソース ビューに保存する機能は、SQL Server データ ツール (SSDT) だけで使用できます。 結果はフラット化された形式でのみ格納できます。
結果ペインで結果をフラット化するには
予測クエリ ビルダーで、[クエリ デザイン ビューに切り替え] をクリックします。
ビューが切り替わり、DMX クエリ テキストを手動で編集できるようになります。
SELECT キーワードの後に、FLATTENED キーワードを入力します。 最終的なクエリ テキストは次のようになります。
SELECT FLATTENED [Forecasting].[Model Region], (PredictTimeSeries([Forecasting].[Amount],5)) as [PredictAmount], (PredictTimeSeries([Forecasting].[Quantity],5)) as [PredictQuantity] FROM [Forecasting]
必要に応じて、次の例のように、結果を制限するための句を入力できます。
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'
[クエリ結果ビューに切り替え] をクリックします。
予測クエリの結果をエクスポートするには
[クエリ結果の保存] をクリックします。
[データ マイニングのクエリ結果を保存] ダイアログ ボックスの [データ ソース] で、 AdventureWorksDW2012 を選択します。 データを別のリレーショナル データベースに保存する場合は、データ ソースを作成することもできます。
[テーブル名] 列に、「Test Predictions」など、新しい一時的なテーブル名を入力します。
[保存] をクリックします。
注 作成したテーブルを表示するには、データを保存したインスタンスのデータベース エンジンに対する接続を作成し、クエリを作成します。
結論
基本的な時系列モデルを作成し、予測を解釈し、予測を作成する方法について学習しました。
このチュートリアルの残りのタスクは省略可能であり、高度な時系列予測について説明します。 さらにチュートリアルを続けると、モデルに新しいデータを追加し、拡張系列で予測を作成する方法について学習できます。 また、モデルの傾向を使用し、データを新しい系列に置き換えることで、クロス予測を実行する方法についても学習します。
次のレッスン
高度な時系列予測 (中級者向けデータ マイニング チュートリアル)