共用方式為


Microsoft線性回歸演算法技術參考

適用於: SQL Server 2019 和舊版 Analysis Services Azure Analysis Services Fabric/Power BI Premium

重要

SQL Server 2017 Analysis Services 中已淘汰數據採礦,現在已在 SQL Server 2022 Analysis Services 中停止。 檔不會更新為已淘汰和已停止的功能。 若要深入瞭解,請參閱 Analysis Services 回溯相容性

Microsoft線性回歸演算法是一種特殊版本的Microsoft判定樹演算法,針對連續屬性配對進行優化。 本主題說明演算法的實作、說明如何自定義演算法的行為,並提供查詢模型之其他信息的連結。

線性回歸演算法的實作

Microsoft判定樹演算法可用於許多工作:線性回歸、分類或關聯分析。 為了為了線性回歸目的實作此演算法,演算法的參數會受到控制,以限制樹狀結構的成長,並將模型中的所有數據保留在單一節點中。 換句話說,雖然線性回歸是以判定樹為基礎,但樹狀結構只包含單一根根目錄,而且沒有分支:所有數據都位於根節點中。

為了達成此目的,演算法的 MINIMUM_LEAF_CASES 參數會設定為大於或等於演算法用來定型採礦模型的案例總數。 以這種方式設定參數時,演算法永遠不會建立分割,因此會執行線性回歸。

代表回歸線的方程式採用 y = ax + b 的一般形式,稱為回歸方程式。 變數 Y 代表輸出變數、X 代表輸入變數,而 a 和 b 是可調整的係數。 您可以藉由查詢已完成的採礦模型來擷取回歸公式的係數、攔截和其他資訊。 如需詳細資訊,請參閱 線性回歸模型查詢範例

評分方法和特徵選取

所有 SQL Server Analysis Services 數據採礦演算法都會自動使用特徵選取來改善分析和減少處理負載。 線性回歸中用於特徵選取的方法是有趣的分數,因為模型只支援連續數據行。 如需參考,下表顯示線性回歸演算法和判定樹演算法的功能選取差異。

演算法 分析方法 評論
線性回歸 有趣的分數 違約。

判定樹演算法提供的其他特徵選取方法僅適用於離散變數,因此不適用於線性回歸模型。
判定樹 有趣的分數

香農的 Entropy

貝氏與 K2 舊版

貝氏迪里希萊特與統一之前 (預設值)
如果有任何數據行包含非二進位連續值,則會針對所有數據行使用有趣的分數,以確保一致性。 否則,會使用預設或指定的方法。

控制判定樹模型特徵選取的演算法參數是MAXIMUM_INPUT_ATTRIBUTES和MAXIMUM_OUTPUT。

自定義線性回歸演算法

Microsoft線性回歸演算法支持影響所產生採礦模型行為、效能和精確度的參數。 您也可以在採礦模型數據行或採礦結構數據行上設定模型旗標,以控制數據的處理方式。

設定演算法參數

下表列出Microsoft線性回歸演算法所提供的參數。

參數 描述
MAXIMUM_INPUT_ATTRIBUTES 定義演算法在叫用特徵選取之前可以處理的輸入屬性數目。 將此值設定為 0 以關閉特徵選取。

預設值為 255。
MAXIMUM_OUTPUT_ATTRIBUTES 定義演算法在叫用特徵選取之前可以處理的輸出屬性數目。 將此值設定為 0 以關閉特徵選取。

預設值為 255。
FORCE_REGRESSOR 強制演算法使用指示的數據行做為回歸輸入變數,而不論演算法計算的數據行的重要性為何。

模型旗標

Microsoft線性回歸演算法支援下列模型旗標。 當您建立採礦結構或採礦模型時,您可以定義模型旗標,以指定在分析期間處理每個數據行中的值的方式。 如需詳細資訊,請參閱 模型旗標 (資料採礦)

模型旗標 描述
NOT NULL 表示數據行不能包含 Null。 如果 Analysis Services 在模型定型期間遇到 Null,將會產生錯誤。

適用於採礦結構數據行。
REGRESSOR 表示數據行包含應該在分析期間視為潛在獨立變數的連續數值。 適用於採礦模型數據行。

注意:將數據行標示為回歸輸入變數,不可確保數據行將做為最終模型中的回歸輸入變數。

線性回歸模型中的回歸輸入器

線性回歸模型是以Microsoft判定樹演算法為基礎。 不過,即使您未使用Microsoft線性回歸演算法,任何判定樹模型都可以包含代表連續屬性上回歸的樹狀結構或節點。

您不需要指定連續資料行代表回歸輸入變數。 Microsoft判定樹演算法會將數據集分割成具有有意義模式的區域,即使您未在數據行上設定 REGRESSOR 旗標也一樣。 差別在於,當您設定模型旗標時,演算法會嘗試尋找窗體的回歸方程式 a*C1 + b*C2 + ... 以符合樹狀節點中的模式。 計算殘差的總和,如果偏差太大,則會強制在樹狀結構中分割。

例如,如果您要使用收入做為屬性來預測客戶購買行為,並在 [Income] 數據行上設定 REGRESSOR 模型旗標,則演算法會先嘗試使用標準回歸公式來符合值。 如果偏差太大,則會放棄回歸公式,而且樹狀結構會分割在其他屬性上。 然後,判定樹演算法會嘗試在分割之後,針對每個分支中的收入調整回歸輸入變數。

您可以使用 FORCED_REGRESSOR 參數來保證演算法會使用特定的回歸變數。 此參數可以搭配Microsoft判定樹和Microsoft線性回歸演算法使用。

要求

線性回歸模型必須包含索引鍵數據行、輸入數據行,以及至少一個可預測的數據行。

輸入和可預測數據行

Microsoft線性回歸演算法支援下表所列的特定輸入數據行和可預測數據行。 如需在採礦模型中使用內容類型的意義詳細資訊,請參閱 內容類型(資料採礦)

內容類型
輸入屬性 連續、迴圈、索引鍵、數據表和排序
可預測屬性 連續、迴圈和已排序

注意

支援 迴圈已排序 內容類型,但演算法會將它們視為離散值,而且不會執行特殊處理。

另請參閱

Microsoft 線性回歸演算法
線性回歸模型查詢範例
線性回歸模型的採礦模型內容 (Analysis Services - 數據採礦)