計算線性相互關聯
重要
Machine Learning 工作室 (傳統) 的支援將於 2024 年 8 月 31 日結束。 建議您在該日期之前轉換成 Azure Machine Learning。
自 2021 年 12 月 1 日起,您將無法建立新的 Machine Learning 工作室 (傳統) 資源。 在 2024 年 8 月 31 日之前,您可以繼續使用現有的 Machine Learning 工作室 (傳統) 資源。
ML 工作室 (傳統) 文件即將淘汰,未來將不再更新。
計算資料集內資料行值之間的線性關聯
類別: 統計函數
模組概觀
本文說明如何使用 機器學習 Studio 中的計算線性相互關聯模組, (傳統) ,針對輸入資料集中每個可能的變數組計算一組 Pearson 相互關聯係數。
Pearson 相互關聯係數有時稱為 Pearson 的 R 測試是一個統計值,可測量兩個變數之間的線性關聯性。 藉由檢查係數值,您可以推斷兩個變數之間關聯性強度的相關部分,以及它們是否為正相互關聯或負相互關聯。
如何設定線性相互關聯
在計算相互關聯係數之前,有一些必要條件,例如清除您的資料,並確認變數之間的關聯性適用于此課程模組。 您也必須移除或插補遺漏值。
使用此課程模組時適用下列限制:
計算線性相互關聯模組只能處理數值。 所有其他值類型 (包括遺漏值、非數值和類別值) 都會被視為 NaN。
系統會針對資料集中所有做為輸入傳遞的數值資料行,計算 Pearson 相關。 請務必排除任何適合此分析的資料行。
計算線性相互關聯 無法與具有遺漏值的資料搭配使用。
步驟 1:判斷線性
如果您測試的資料行不預期有某種線性關聯性,則產生此係數沒有任何點。 因此,最好先測試資料行,看看資料行是否具有正確的資料類型,以及一般的正確分佈類型。
您可以透過各種方式來判斷資料行之間的關聯性是否大致為線性:
使用資料集上的 [ 視覺化 ] 選項,在 Studio 中建立變數的散佈圖 (傳統) 。 按一下其中一個數值變數資料行,展開 [視覺效果],然後按一下[比較]。 選取不同的變數,並自動產生散佈圖。 如果產生不同類型的繪圖,表示至少有一個資料行有不同的 (非數值) 資料類型。
計算兩個變數的回歸方程式。 有許多 R 套件支援此功能,您可以在 執行 R 腳本 模組中載入及使用。
步驟 2:清除資料
您必須移除或填入遺漏的值、移除或裁剪極端值,並確保資料行具有適當的資料類型。
在使用本課程模組之前,請務必檢查預留位置,並將這類值取代為其他適當的值。 如果在從來源載入資料集時針對遺漏值插入 NaN,可能會導致錯誤。 或 之類的 999
-1
預留位置值也可能造成不正確的結果。
若要準備您的資料,您可以使用下列模組:
您可以使用 [編輯中繼資料] 來調整資料行的資料類型。 請確定您想要分析的資料行標示為特徵資料行。
步驟 3:產生係數
將 計算線性相互關聯 模組新增至您的實驗。 您可以在 機器學習 Studio (傳統) 的[統計函數] 類別中找到此課程模組。
新增您要分析的資料集。
建議您在資料集與計算線性相互關聯模組之間新增選取資料集中的資料行模組,以移除不必要的資料行。 設定選取 資料集中的資料 行模組,只取得您要計算係數的兩個數值資料行。
否則, 計算線性相互關聯 模組可能會產生許多 NaN 資料行。
此課程模組沒有要設定的參數。 不過,如果您傳遞作為輸入的資料行不符合需求,它將會失敗。
執行實驗。
兩個數據行的結果
假設有兩個特徵資料行, 計算線性相互關聯 模組會傳回純量 Pearson 乘積時間 (樣本) 相互關聯係數。 Pearson 相互關聯係數 (通常表示為 r) 從 +1 到 -1 的值範圍。
+1
表示強正線性關聯性-1
表示強負線性相互關聯0
表示兩個變數之間沒有線性關聯性。
係數的解譯取決於您要建立模型的問題,以及您正在研究的變數。 因此,在報告和解譯 Pearson 的相互關聯係數時,請務必瞭解資料的內容。
如果您確定變數不相關,但 Pearson 的相互關聯係數強肯定 (r > .5 或) ,您應該進一步調查。
如果您在知道完全相互關聯的兩個變數上使用線性相互關聯,且係數值不是您預期的值,則可能表示資料發生問題。
超過兩個數據行的結果
假設有一個矩陣 (,也就是兩個以上的特徵資料行) , 計算線性相互關聯 模組會傳回每一對特徵資料行之間的一組 Pearson 產品點相互關聯。
因此,結果是 n x n 資料表,其中包含 n 資料行之每個組合的係數。 如果有任何資料行不符合準則,則會傳回 NaN (「不是數位」值) 。
例如,假設您已傳入兩個數值資料 wheel-base
行和 curb-weight
一個類別資料行, make
(來自汽車價格資料集) 。 結果是輸入資料行所有可能組合的 3x3 係數資料表:
make |
wheel-base |
curb-weight |
---|---|---|
南 | 南 | 南 |
南 | 1 | 0.776386 |
南 | 0.776386 | 1 |
在此資料表中,資料列會瞭解以該順序表示每個變數、 make
、 wheel-base
和 curb-weight
。
- 與本身相互關聯的
wheel-base
r 值為 1。 - 與 相互
wheel-base
curb-weight
關聯的 r 值為 0.776386。 - 所有涉及資料行
make
結果的相互關聯都會在 NaN 中產生,包括與本身的相互關聯,因為make
是字串特徵。
建議您移除非數值資料行,以避免具有許多無意義的值的複雜資料表。
範例
若要查看本課程模組在機器學習實驗中的使用方式,請參閱 Azure AI 資源庫:
技術說明
本節包含實作詳細資料、提示和常見問題集的解答。
實作詳細資料
如果做為輸入傳遞的資料行包含純量,則輸入陣列 (x 和 y) 會被視為向量,並如下所示計算 Pearson 積差相關:
在此公式中,每個陣列都包含 n 個元素,而 x 和 y 樣本的表示分別為 ux 和 uy。
在矩陣中,資料矩陣 (X) 是輸入,其中每個資料行都代表值的向量。 此資料矩陣應該是 n x m。 輸出是 m x m 矩陣,R 定義為
在此公式中,μx 代表 資料行 xi 的平均值。 位於 I,j 的元素一律等於 1,因為這些元素代表向量本身的相關。
預期的輸入
名稱 | 類型 | 描述 |
---|---|---|
資料集 | 資料表 | 輸入資料集 |
輸出
名稱 | 類型 | 描述 |
---|---|---|
結果資料集 | 資料表 | 相互矩陣 |
例外狀況
例外狀況 | 描述 |
---|---|
錯誤 0003 | 如果一或多個輸入為 Null 或空白,就會發生例外狀況。 |
錯誤 0020 | 如果傳遞給模組的某些資料集的資料行數目太少,就會發生例外狀況。 |
錯誤 0021 | 如果傳遞給模組的某些資料集的資料列數目太少,就會發生例外狀況。 |
如需 Studio (傳統) 模組特有的錯誤清單,請參閱錯誤碼機器學習。
如需 API 例外狀況的清單,請參閱機器學習 REST API 錯誤碼。