線形回帰モデルの照会 (Analysis Services - データ マイニング)
データ マイニング モデルに対するクエリを作成する際には、コンテンツ クエリを作成することも、予測クエリを作成することもできます。コンテンツ クエリでは、分析で検出されたパターンの詳細情報を取得できます。予測クエリでは、モデル内のパターンを使用して新しいデータについての予測を行うことができます。たとえばコンテンツ クエリを使用すると、回帰式に関する追加情報を取得できるのに対し、予測クエリを使用すると、新しいデータ ポイントがモデルに適合するかどうかを調べることができます。クエリを使用してモデルに関するメタデータを取得することもできます。
ここでは、Microsoft 線形回帰アルゴリズムに基づいたモデルに対するクエリの作成方法について説明します。線形回帰モデルの構造の詳細については、「線形回帰モデルのマイニング モデル コンテンツ (Analysis Services - データ マイニング)」を参照してください。
注意 |
---|
線形回帰アルゴリズムは、Microsoft デシジョン ツリー アルゴリズムの特殊なケースに基づいているため、連続する予測可能属性を使用する一部のデシジョン ツリーには、回帰式を含めることができます。詳細については、「Microsoft デシジョン ツリー アルゴリズム テクニカル リファレンス」を参照してください。 |
コンテンツ クエリ
データ マイニング スキーマ行セットを使用してモデル パラメータを取得する
DMX を使用してモデルの回帰式を取得する
モデルの係数を取得する
予測クエリ
単一クエリを使用して予測を行う
回帰モデルから説明的な統計情報を取得する
トップに戻る
サンプル クエリの結果を再現するには、次のトピックの説明に従って線形回帰モデルを作成します。このモデルは非常に単純ですが、データ マイニング デザイナを使用して線形回帰モデルをカスタマイズする方法の基本的な概念を示しています。
線形回帰モデルに関する情報の入手
線形回帰モデルの構造は非常に単純であり、マイニング モデルではデータが単一のノードとして表現されます。このノードは回帰式を定義します。
ここでは、モデル自体の詳細情報 (回帰式、データに関する説明的な統計情報など) を取得する方法を示すサンプルを紹介します。
サンプル クエリ 1 : データ マイニング スキーマ行セットを使用してモデル パラメータを取得する
データ マイニング スキーマ行セットに対してクエリを実行すると、モデルに関するメタデータを取得できます。このメタデータには、モデルが作成された日時、モデルが最後に処理された日時、モデルの基になるマイニング構造の名前、予測可能な属性として使用されている列の名前などが含まれます。モデルが最初に作成されたときに使用されたパラメータを取得することもできます。
SELECT MINING_PARAMETERS
FROM $system.DMSCHEMA_MINING_MODELS
WHERE MODEL_NAME = 'Call Center Regression'
サンプルの結果 :
MINING_PARAMETERS |
---|
MINING_PARAMETERS MAXIMUM_INPUT_ATTRIBUTES=255, MAXIMUM_OUTPUT_ATTRIBUTES=255, FORCE_REGRESSOR=[Average Time Per Issue],[Total Operators] |
注意 |
---|
リグレッサを指定しなかった場合は、パラメータ FORCE_REGRESSOR の値が "FORCE_REGRESSOR = " になります。 |
トップに戻る
サンプル クエリ 2 : DMX を使用してモデルの回帰式を取得する
次のクエリでは、線形回帰モデルのマイニング モデル コンテンツが返されます。このクエリは、回帰式を含むノードのコンテンツを返します。回帰式を含むノードがあれば、デシジョン ツリー モデルでも使用できます。
各変数と係数は、入れ子になった NODE_DISTRIBUTION テーブルの個別の行に保存されます。完全な回帰式を表示する場合は、Microsoft ツリー ビューアを使用します。[(すべて)] ノードをクリックして [マイニング凡例] を開くと表示されます。
SELECT FLATTENED NODE_DISTRIBUTION as t
FROM [Call Center Regression].CONTENT
注意 |
---|
SELECT <column name> from NODE_DISTRIBUTION のようなクエリを使用して入れ子になったテーブルの個々の列を参照する場合、SUPPORT や PROBABILITY などの一部の列名は、同名の予約済みキーワードと区別するために角かっこで囲む必要があります。 |
期待される結果 :
t.ATTRIBUTE_NAME |
t.ATTRIBUTE_VALUE |
t.SUPPORT |
t.PROBABILITY |
t.VARIANCE |
t.VALUETYPE |
---|---|---|---|---|---|
Service Grade |
Missing |
0 |
0 |
0 |
1 |
Service Grade |
0.09875 |
120 |
1 |
0.00157927083333334 |
3 |
Average Time Per Issue |
0.00136989326310586 |
0 |
0 |
187.866597222222 |
7 |
Average Time Per Issue |
12.0822151449249 |
0 |
0 |
0 |
8 |
Average Time Per Issue |
79.8416666666667 |
0 |
0 |
187.866597222222 |
9 |
Total Operators |
-0.000426156789860463 |
0 |
0 |
24.0799305555556 |
7 |
Total Operators |
-3.19762422385219 |
0 |
0 |
0 |
8 |
Total Operators |
10.6916666666667 |
0 |
0 |
24.0799305555556 |
9 |
-0.00606823493688524 |
0 |
0 |
0.00121526993847281 |
11 |
一方、[マイニング凡例] では、回帰式は次のように表示されます。
Service Grade = 0.070+0.001*(Average Time Per Issue-79.842)-0.0004*(Total Operators-10.692)
[マイニング凡例] では一部の数値が丸められている可能性がありますが、NODE_DISTRIBUTION テーブルと [マイニング凡例] には基本的に同じ値が格納されます。
VALUETYPE 列の値を参照すると、各行に含まれている情報の種類がわかるため、結果をプログラムで処理する場合に役に立ちます。次の表に、線形回帰式の出力となる値の種類を示します。
VALUETYPE |
---|
1 (Missing: 不足) |
3 (Continuous: 連続) |
7 (Coefficient: 係数) |
8 (Score Gain: スコア ゲイン) |
9 (Statistics: 統計) |
7 (Coefficient: 係数) |
8 (Score Gain: スコア ゲイン) |
9 (Statistics: 統計) |
11 (Intercept: 切片) |
回帰モデルの各値の種類の意味については、「線形回帰モデルのマイニング モデル コンテンツ (Analysis Services - データ マイニング)」を参照してください。
トップに戻る
サンプル クエリ 3 : モデルの係数を取得する
VALUETYPE 列挙を使用すると、次のクエリに示すように回帰式の係数のみを返すことができます。
SELECT FLATTENED MODEL_NAME,
(SELECT ATTRIBUTE_VALUE, VALUETYPE
FROM NODE_DISTRIBUTION
WHERE VALUETYPE = 11)
AS t
FROM [Call Center Regression].CONTENT
このクエリでは、マイニング モデル コンテンツの行と、係数を含む入れ子になったテーブルの行の 2 つの行が返されます。ATTRIBUTE_NAME 列は、係数に対して常に空であるためここには含まれていません。
MODEL_NAME |
t.ATTRIBUTE_VALUE |
t.VALUETYPE |
---|---|---|
Call Center Regressors2 |
-0.00606823493688524 |
11 |
モデルを使用した予測
データ マイニング デザイナの [マイニング モデル予測] タブを使用して、線形回帰モデルに対する予測クエリを作成します。予測クエリ ビルダは、SQL Server Management Studio と Business Intelligence Development Studio の両方で使用できます。
注意 |
---|
また、Excel 用 SQL Server 2005 データ マイニング アドインまたは Excel 用 SQL Server 2008 データ マイニング アドインを使用して回帰モデルに対するクエリを作成することもできます。Excel 用データ マイニング アドインでは回帰モデルが作成されませんが、Analysis Services のインスタンスに格納されているマイニング モデルを参照したり、照会したりすることはできます。 |
トップに戻る
サンプル クエリ 4 : 単一クエリを使用して予測を行う
回帰モデルで単一クエリを作成する最も簡単な方法は、[単一クエリ入力] ダイアログ ボックスを使用することです。たとえば次の DMX クエリを作成するには、適切な回帰モデルを選択し、[単一クエリ] を選択して、Total Operators の値として「10」を入力します。
SELECT
Predict([Call Center Regression].[Service Grade])
FROM
[Call Center Regression]
NATURAL PREDICTION JOIN
(SELECT 10 AS [Total Operators]) AS t
サンプルの結果 :
Yearly Income |
---|
0.0992841946529471 |
トップに戻る
サンプル クエリ 5 : 回帰モデルから説明的な統計情報を取得する
線形回帰モデルでは多くの標準の予測関数を使用できます。次の例は、予測クエリの結果にいくつかの説明的な統計情報を追加する方法を示しています。
SELECT
Predict([Call Center Regression].[Service Grade]) as [Predicted Service],
PredictStdev([Call Center Regression].[Service Grade]) as [Standard Deviation]
FROM
[Call Center Regression]
NATURAL PREDICTION JOIN
(SELECT 10 AS [Total Operators]) AS t
サンプルの結果 :
Predicted Service |
Standard Deviation |
---|---|
0.0990447584463201 |
0.0348607220015996 |
トップに戻る
予測関数の一覧
すべての Microsoft アルゴリズムでは、共通の関数セットがサポートされています。これに加え、Microsoft 線形回帰アルゴリズムでは、次の表に示す関数もサポートされています。
|
すべての Microsoft アルゴリズムに共通の関数の一覧については、「データ マイニング アルゴリズム (Analysis Services - データ マイニング)」を参照してください。これらの関数の使用方法については、「データ マイニング拡張機能 (DMX) 関数リファレンス」を参照してください。
変更履歴
変更内容 |
---|
クエリ サンプルを簡単に確認できるようにトピック内のリンクを追加しました。 |
より適切なモデルを使用するようにサンプルを変更しました。サンプル線形回帰モデルを作成する方法を説明する新しいトピックへのリンクを追加しました。 |