第三章 研究方法
3.2 資料分析方法
29
調查所得之資料,除了就各項變數以描述統計進行初步分析外(4.1),亦將採用 決策樹(decision tree)中之分類樹法(classification tree)進行多變數整合分析(4.2)。依 此方法篩選出來的最重要變數建立之分類樹模型之效用,將以集成(ensembles of classifiers)的方式來驗證(4.3)。
為了評估加入「生物自變數」與僅用「環境自變數」建立之模型的差異,多 變數之整合分析均分為「生物與環境自變數」與「環境自變數」兩組分別進行。
本次調查所獲得資料之整理、標準化、視覺化、統計分析(獨立雙樣本 T 檢定、
獨立雙樣本 Wilcoxon 等級和檢定、皮爾森積矩相關係數)、隨機森林與分類樹,皆 由 R 3.5.1 執行(R Core Team,2018)。集成驗證的 R 語言 code 詳見附錄五。
3.2.1 分類樹法
分類樹為機器學習(machine learning)的一個分枝,適合依變數為類別性資料 (categorical data)時使用。在分類樹中的每個節點,母資料會根據所選擇的演算法,
依其中一個自變數的某個數值或某些類別分類。如此重複若干次的分類後,資料 會形成樹狀的多層結構,而當每類資料不再符合分割的演算條件時,就不再分割,
而形成最終子集合,或稱「終結點」或「葉節點」(end nodes / leaves)。這些最終 子集合內,依變數各類別中比例最大者,即為該子集合預測的依變數類別,此比 例也可視為該終結點預測正確的機率。
分類樹法的準確度雖常不如傳統方法如線性或非線性迴歸分析,但若邊界條 件與演算法設定得宜,對於物種發現與否能有良好的鑑別力(Johnson, Chawla, &
30
Hellmann,2012;James et al,2013)。本研究採用分類樹法,另一考量為其長處符 合研究目標:呈現各項自變數的影響力大小,且結果容易詮釋。而最主要的缺點:
當缺乏與依變數高度相關之自變數、或多個自變數高度互相影響時,分類樹的結 構較為不穩,甚至即使小範圍的樣本改變就會改變整個模型,也連帶影響預測力 (James et al,2013)。此缺點可用集成的方式克服。
分類樹的樣貌,除了取決於輸入的自變數之外,也受所選擇做為分裂標準的 演算法影響。在本研究所使用之 R 語言 rpart package 中(Therneau & Atkinson,2018),
內建兩種最常見的演算法供選擇:吉尼係數(Gini index)與資訊獲利(information gain),用以選擇「能使分割後資料中的不純度(impurity)降低值最大」的自變數數 值或類別做為分割點。前者計算的依據為吉尼係數。
吉尼係數公式(James et al,2013):
其中 指第 m 個資料子集合中,共 k 個類別的依變數中各類別所佔的比例。
0 ≤ ≤ 1,因此 0 ≤ − log 。吉尼係數越小,代表資料純度越高,亦即 代表較佳的分割選項。
資訊獲利(information gain)則用「熵(entropy)」來度量資料的歧異度,
熵值公式(James et al,2013):
由公式可看出,吉尼係數傾向放大所佔比例大的依變數類別、忽略所佔比例
31
小的類別。相較之下,依變數類別所佔比例無論大小,資訊獲利演算法皆會給予 一定權重,因此,小比例類別的訊號較不會被忽略,而消失在著重大比例類別純 度的分類樹中。
在 4.2 的分類樹分析中,依變數為二元類別:「淡黃木層孔菌是否發現」,其 中「發現」的比例相當小(5.9%)。因此,為了兼顧「發現」與「未發現」的資料分 析,選擇資訊獲利演算法。
設定 D 值可控制分割標準與分類樹的大小,避免過度配適(overfitting),然而 本研究採取集成方式來平均單棵分類樹潛在因過度配適而拉高的錯誤率(4.3),故略 過此步驟。
3.2.2 以隨機森林分析自變數重要值
使用分類樹分析資料時,選擇輸入哪些自變數,不僅影響分割節點,也影響 最終的預測效果與詮釋複雜度。選擇自變數這個步驟的目標,在於使用儘量少的 自變數來達到足夠良好的預測效果(Genuer,2010)。因此在進行分類數分析之前,
先以隨機森林(random forest)計算各自變數的重要值,刪除重要性低的自變數。
隨機森林之演算法同分類樹,但程序相反:先隨機從 m 個自變數中抽出其中 一個做為分割點,再計算該分割點的重要值,最後從 n 棵樹的眾多節點中統計各 自變數的總重要值。此方法的特點為「隨機選擇分割點」,因此不致偏重選擇重 要值突顯的自變數,而忽略、不評估其他自變數。每個自變數的重要值分為兩種:
根據吉尼係數算出的平均不純度降低值(mean decrease of Gini),與經過隨機置換
32
(permutation)的同一自變數放回同一節點後,整棵樹預測準確率的降低值,該值越 高(準確率降低越多)表示該自變數越重要(mean decrease in accuracy)。前者僅顯示 一自變數在每個分割點的重要值,後者則評估每個自變數對全樹的影響。在 4.2.1 中將根據平均準確率降低值來篩選自變數。
3.2.3 分類樹模型之評價
各組分類樹模型之評價(evaluation)方法,採用重複隨機子取樣驗證(repeated random sub-sampling validation),隨機將所有資料分為 70%的訓練資料與 30%的 測試資料。然而為了避免「發現」樣點不足而無法建立有效模型,設定訓練資料 中需至少有 5 個「發現」的樣點(在 4.3.1 的中臺灣資料集裡,依比例改為至少有 4 個),測試資料中則至少 1 個,並且刪除根資料集分類失敗、無法成樹的抽樣。將 每份訓練資料,用「生物與環境」及「環境」兩組自變數分別建立 1,000 棵分類樹 後,再以對應之測試資料驗證之。
每棵樹模型之預測準確率,乃根據訓練與測試資料的混淆矩陣(confusion matrix,表 4)分別計算的特異度、靈敏度與馬修相關係數三項指標來評估。最後觀 察 1,000 個模型中這三項指標之分布情況與平均數,以比較「生物與環境自變數」
及「環境自變數」兩組模型的差異。此種集成方式能克服單棵樹模型結構不穩定、
或因過度配適(overfitting)造成準確率下降的問題。
混淆矩陣與準確率之計算使用 R 語言的 caret package (Kuhn,2018),為比對 原資料與預測結果之樣點總數計算而成。三項指標的公式如下:
33
表 4
混淆矩陣(confusion matrix)
預測「未發現」 預測「發現」
實際「未發現」 真陰性(TN) 偽陽性(FP) 實際「發現」 偽陰性(FN) 真陽性(TP)
「未發現」之預測準確率:
特異度(specificity,SPE) = TN / (TN + FP)
「發現」之預測準確率:
靈敏度(sensitivity,SEN) = TP / (TP + FN)
馬修相關係數(Matthew's Correlation Coefficient,MCC):
若分母為 0,則自動將分母改為 1(以避免產生闕漏值 NA),此時 MCC 值為 0。
(Tichy & Chytry,2006)
本研究之資料「未發現」與「發現」的比例懸殊,導致準確度(accuracy,ACC
= (TP + TN) / (TP + FP + TN + FN))會被大量「未發現」的正確預測數目大幅拉高,
參考價值有限,因而改以馬修相關係數做為評估標準。馬修相關係數同時考慮「未 發現」與「發現」的數目,其值介於-1 到 1 之間,1 表示預測結果完全準確,-1 表示預測結果與實際狀況相反,越接近 0 則表示預測結果為隨機;接近 1 與-1 都 代表模型有一定效用,而接近 0 則代表模型的效用不大。
34