查詢線性迴歸模型 (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 樹狀檢視器,按一下 (All) 節點,然後開啟 [採礦圖例]。
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 |
---|---|---|---|---|---|
服務等級 |
遺漏 |
0 |
0 |
0 |
1 |
服務等級 |
0.09875 |
120 |
1 |
0.00157927083333334 |
3 |
每個問題的平均時間 |
0.00136989326310586 |
0 |
0 |
187.866597222222 |
7 |
每個問題的平均時間 |
12.0822151449249 |
0 |
0 |
0 |
8 |
每個問題的平均時間 |
79.8416666666667 |
0 |
0 |
187.866597222222 |
9 |
操作員總數 |
-0.000426156789860463 |
0 |
0 |
24.0799305555556 |
7 |
操作員總數 |
-3.19762422385219 |
0 |
0 |
0 |
8 |
操作員總數 |
10.6916666666667 |
0 |
0 |
24.0799305555556 |
9 |
-0.00606823493688524 |
0 |
0 |
0.00121526993847281 |
11 |
相較之下,在 [採礦圖例] 中,迴歸公式顯示如下:
服務等級 = 0.070+0.001*(每個問題的平均時間-79.842)-0.0004*(操作員總數-10.692)
在 [採礦圖例] 中,有些數字可能會被捨入,不過,NODE_DISTRIBUTION 資料表和 [採礦圖例] 基本上包含相同的值。
VALUETYPE 資料行中的值會告訴您每個資料列中包含的資訊類型。如果您是以程式設計方式處理結果,這會非常實用。下表顯示針對線性迴歸公式輸出的值類型。
VALUETYPE |
---|
1 (遺漏) |
3 (連續) |
7 (係數) |
8 (得分) |
9 (統計資料) |
7 (係數) |
8 (得分) |
9 (統計資料) |
11 (截距) |
如需有關迴歸模型每個值類型之意義的詳細資訊,請參閱<線性迴歸模型的採礦模型內容 (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
此查詢會傳回兩個資料列,其中一個資料列來自採礦模型內容,而另一個資料列則來自包含係數的巢狀資料表。ATTRIBUTE_NAME 資料行不包含在此處,因為該資料行對係數來說,永遠是空白的。
MODEL_NAME |
t.ATTRIBUTE_VALUE |
t.VALUETYPE |
---|---|---|
撥接中心迴歸輸入變數2 |
-0.00606823493688524 |
11 |
使用模型進行預測
您可以使用資料採礦設計師中的 [採礦模型預測] 索引標籤,在線性迴歸模型上建立預測查詢。在 SQL Server Management Studio 和 Business Intelligence Development Studio 中都提供預測查詢產生器。
[!附註]
您也可以使用適用於 Excel 的 SQL Server 2005 資料採礦增益集或適用於 Excel 的 SQL Server 2008 資料採礦增益集,在迴歸模型上建立查詢。即使適用於 Excel 的資料採礦增益集沒有建立迴歸模型,您也可以瀏覽並查詢儲存在 Analysis Services 執行個體上的任何採礦模型。
回到頁首
範例查詢 4:使用單一查詢進行預測
在迴歸模型上建立單一查詢最簡單的方式是使用 [單一查詢輸入] 對話方塊。例如,您可以選取適當的迴歸模型、選擇 [單一查詢],然後輸入 10 做為作業員總數的值來建立下列 DMX 查詢。
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
範例結果:
預測的服務 |
標準差 |
---|---|
0.0990447584463201 |
0.0348607220015996 |
回到頁首
預測函數的清單
所有 Microsoft 演算法都支援一組通用的函數。不過,Microsoft 線性迴歸演算法支援下表所列出的其他函數。
|
如需所有 Microsoft 演算法通用的函數清單,請參閱<資料採礦演算法 (Analysis Services - 資料採礦)>。如需有關如何使用這些函數的詳細資訊,請參閱<資料採礦延伸模組 (DMX) 函數參考>。
變更記錄
更新的內容 |
---|
已新增主題中的連結,讓您更輕鬆地檢視查詢範例。 |
已變更範例以使用具有較佳解的模型。已加入新主題的連結,該主題描述如何建立線性迴歸模型範例。 |