レッスン 1: 時系列マイニング モデルおよびマイニング構造の作成
このレッスンでは、履歴データを基に時間の経過に応じて値を予測するためのマイニング モデルを作成します。モデルを作成すると、基になる構造が自動的に生成され、追加のマイニング モデルのベースとして使用できるようになります。
このレッスンは、予測モデルおよび Microsoft タイム シリーズ アルゴリズムの要件について理解していることを前提としています。詳細については、「Microsoft タイム シリーズ アルゴリズム」を参照してください。
CREATE MINING MODEL ステートメント
マイニング モデルを直接作成し、基になるマイニング構造を自動的に生成するには、CREATE MINING MODEL (DMX) ステートメントを使用します。ステートメントのコードは次の部分に分けることができます。
モデルの名前指定
タイム スタンプの定義
省略可能な系列キー列の定義
予測可能な属性の定義
CREATE MINING MODEL ステートメントの汎用例を次に示します。
CREATE MINING MODEL [<Mining Structure Name>]
(
<key columns>,
<predictable attribute columns>
)
USING <algorithm name>([parameter list])
WITH DRILLTHROUGH
コードの 1 行目では、マイニング モデルの名前を定義します。
CREATE MINING MODEL [Mining Model Name]
Analysis Services では、基になる構造に対し、モデル名の後に「_structure」を追加した名前が自動的に生成されます。これにより、構造名がモデル名と重複しないことが保証されます。DMX でオブジェクトに名前を付ける方法については、「識別子 (DMX)」を参照してください。
コードの次の行では、マイニング モデルのキー列を定義します。キー列は、時系列モデルでソース データの時間ステップを一意に識別します。時間ステップは、列名とデータ型の後の KEY TIME キーワードで識別されます。時系列モデルに別の系列キーが含まれている場合は、KEY キーワードでそのキーが識別されます。
<key columns>
コードの次の行では、予測対象となるモデル内の列を定義します。1 つのマイニング モデルに複数の予測可能な属性を含めることができます。予測可能な属性が複数ある場合は、Microsoft タイム シリーズ アルゴリズムによって系列ごとに個別に分析が生成されます。
<predictable attribute columns>
このレッスンの作業
このレッスンでは、次の作業を行います。
新しい空のクエリの作成
マイニング モデルを作成するためのクエリの変更
クエリの実行
クエリの作成
最初の手順では、SQL Server Management Studio で、Analysis Services のインスタンスに接続して新しい DMX クエリを作成します。
SQL Server Management Studio で新しい DMX クエリを作成するには
SQL Server Management Studio を開きます。
[サーバーへの接続] ダイアログ ボックスで、[サーバーの種類] の [Analysis Services] を選択します。[サーバー名] に、「LocalHost」と入力するか、このレッスンで接続する Analysis Services のインスタンスの名前を入力して、[接続] をクリックします。
オブジェクト エクスプローラで、Analysis Services インスタンスを右クリックし、[新しいクエリ] をポイントして [DMX] をクリックします。
クエリ エディタが開き、新しい空のクエリが表示されます。
クエリの変更
次の手順では、CREATE MINING MODEL ステートメントを変更して、予測に使用されるマイニング モデルがその基になるマイニング構造と共に作成されるようにします。
CREATE MINING MODEL ステートメントをカスタマイズするには
クエリ エディタで、CREATE MINING MODEL ステートメントの汎用例を空のクエリにコピーします。
次の部分を探します。
[mining model name]
これを次の文字列に置き換えます。
[Forecasting_MIXED]
次の部分を探します。
<key columns>
これを次の文字列に置き換えます。
[Reporting Date] DATE KEY TIME, [Model Region] TEXT KEY
TIME KEY キーワードは、ReportingDate 列に値を順に並べるための時間ステップ値が含まれていることを示します。時間ステップのデータ型は、値が一意でデータの並べ替えが可能であれば、日付/時刻型、整数型、任意の順序付きデータ型のどれでもかまいません。
TEXT キーワードと KEY キーワードは、ModelRegion 列に追加の系列キーが含まれていることを示します。使用できる系列キーは 1 つに限られており、列内の値は一意である必要があります。
次の部分を探します。
< predictable attribute columns> )
これを次の文字列に置き換えます。
[Quantity] LONG CONTINUOUS PREDICT, [Amount] DOUBLE CONTINUOUS PREDICT )
次の部分を探します。
USING <algorithm name>([parameter list]) WITH DRILLTHROUGH
これを次の文字列に置き換えます。
USING Microsoft_Time_Series(AUTO_DETECT_PERIODICITY = 0.8, FORECAST_METHOD = 'MIXED') WITH DRILLTHROUGH
アルゴリズム パラメータ AUTO_DETECT_PERIODICITY = 0.8 では、アルゴリズムでデータの周期を検出するように指定しています。1 に近い値を設定すると、多数のパターンを検出できますが、処理に時間がかかる可能性があります。
アルゴリズム パラメータ FORECAST_METHOD では、ARTXP、ARIMA、ARTXP と ARIMA の両方のうち、どれを使用してデータを分析するかを指定します。
キーワード WITH DRILLTHROUGH では、モデルが完成した後にソース データの詳細な統計を表示できるようにすることを指定します。Microsoft タイム シリーズ ビューアでモデルを参照する場合は、この句を追加する必要があります。予測にはこの句は必要ありません。
最終的なステートメントは次のようになります。
CREATE MINING MODEL [Forecasting_MIXED] ( [Reporting Date] DATE KEY TIME, [Model Region] TEXT KEY, [Quantity] LONG CONTINUOUS PREDICT, [Amount] DOUBLE CONTINUOUS PREDICT ) USING Microsoft_Time_Series (AUTO_DETECT_PERIODICITY = 0.8, FORECAST_METHOD = 'MIXED') WITH DRILLTHROUGH
[ファイル] メニューで、[名前を付けて DMXQuery1.dmx を保存] をクリックします。
[名前を付けて保存] ダイアログ ボックスで、適切なフォルダを参照して指定し、ファイルに「Forecasting_MIXED.dmx」という名前を付けます。
クエリの実行
最後の手順では、クエリを実行します。クエリを作成して保存したら、そのクエリを実行してサーバーにマイニング モデルとそのマイニング構造を作成します。クエリ エディタでのクエリの実行の詳細については、「SQL Server Management Studio データベース エンジン クエリ エディタ ウィンドウ」を参照してください。
クエリを実行するには
クエリ エディタのツール バーで、[実行] をクリックします。
ステートメントの実行完了後、クエリ エディタ下部の [メッセージ] タブにクエリの状態が表示されます。この場合次のメッセージが表示されます。
Executing the query Execution complete
これで、Forecasting_MIXED_Structure という名前の新しい構造が、関連するマイニング モデル Forecasting_MIXED と共にサーバーに作成されました。
次のレッスンでは、ここで作成した Forecasting_MIXED_Structure マイニング構造にマイニング モデルを追加します。