

前向選擇是最常用的變數選擇方法,以RDA模型為例,其簡化步驟如下描述。
(1)首先,執行包含所有解釋變數的全模型置換檢驗,當且僅當置換檢驗顯示顯著性後再執行變數的前向選。不顯著的情況,例如對於隨機生成的解釋變數,強制執行前向選擇時也可能會判斷其中一些是“重要”的,由此會導致我們錯誤地將實際上並不存在關聯的解釋變數與響應變數建立聯絡。
(2)逐一使用每個解釋變數解釋排序軸,並記錄各變數解釋的變差(該變差代表了每個變數的邊際效應,marginal effect)。
(3)根據解釋變差的高低,對所有解釋變數降序排序。
(4)執行蒙特卡洛置換檢驗檢驗各解釋變數的顯著性,若顯著則將該解釋變數新增在模型中,否則終止選擇。
(5)將此前已經選擇的解釋變數作為協變數,執行偏RDA分析,計算剩餘未被選擇的各解釋變數(每個單獨)解釋的變差。
(6)根據解釋變差的高低(該變差代表了每個變數的區域性效應,partial effect),對這些解釋變數再次降序排序後,選擇其中的最佳解釋變數(降序排序後排在第一位的)並檢驗其顯著性。若顯著則將該解釋變數新增在模型中,否則終止選擇。
(7)若步驟(6)中的置換檢驗結果顯著,則繼續執行步驟(5)和(6),直到終止選擇為止(即剩餘解釋變數中,最佳變數所解釋的變差不顯著為止)。
備註:以上過程,在R中可使用vegan包中的ordistep()函式實現。以RDA為例的示例:http://blog.sciencenet.cn/blog-3406804-1182489.html。
由上述步驟可知,變數的顯著性是選擇停止的規則之一,即如果加入新變數的偏RDA置換檢驗顯著性p值不顯著,選擇過程即被終止。然而,這個標準過於寬鬆,有時會選擇顯著但不包含任何變數的模型(誇大I類錯誤),或選擇包括過多變數的模型(誇大被解釋方差的量)。Blanchet等(2008)關注這兩個問題並提出解決方案,使選擇停止規則達到全模型的校正後R2為準:
為了防止誇大I類錯誤,首先執行包含所有解釋變數的全模型置換檢驗,當且僅當置換檢驗顯示顯著性後,再執行變數的前向選擇。
為了減少納入太多變數的風險,首先計算包含所有解釋變數的全模型的R2adj,將R2adj作為第二個終止原則。如果備選變數的偏RDA置換檢驗不顯著或當前模型的R2adj超過全模型的R2adj,前向選擇即被終止。
備註:改良後的方法,在R中可使用vegan包中的ordiR2step()函式,或者packfor包中的forward.sel()函式實現。以RDA為例的示例,http://blog.sciencenet.cn/blog-3406804-1182489.html。
此外,為了降低在前向選擇期間進行一組顯著性檢驗而導致I類錯誤的風險,可能需要校正p值,例如透過Holm或FDR校正,根據校正後p值選擇顯著的解釋變數。
下述展示一tb-RDA示例,透過前向選擇以及Holm校正p值,最終選擇了包含5個變數的解釋變數子集。

該表為簡化後的結果,只展示主要的資訊,其中:
variables,備選解釋變數;
R2,備選解釋變數的R2;
Cum R2和Cum R2adj,備選解釋變數的累計R2(二者分別為原始R2和校正後R2);
F-value,備選解釋變數的偽F值(pseudo-F value),即置換檢驗統計量;
P-value和P-value (Holm),分別為原始的置換檢驗p值和校正後p值(Holm校正,p < 0.05的值已加粗),用於判斷備選解釋變數是否能夠被選擇。
該示例中置換檢驗的置換次數設定為49999(非常高),即可知能夠獲得的最低p值“pmin = 1 /(49999 + 1)= 0.00002”,即使經過Holm校正後最低p值為0.00028仍遠低於0.001。最終結果選擇了五個解釋變數(Ca、conduct、Si、NH3、NO3),累計解釋量Cum R2adj = 18.5%。全模型中,14個解釋變數的累計解釋量20.1%,全模型和經過前向選擇後模型的tb-RDA排序圖的比較見下圖。

從上示例可以看到,變數選擇後在提供了簡約的模型的同時,並沒有犧牲解釋能力:因為前後兩種分析的R2adj非常接近,差別可以忽略。也即對應了本文開始所提及的“變數選擇的目的在減少解釋變數的數量的同時保持由它們能夠解釋變差的最大化”。同樣的結果在實際分析中即可觀察到。
總體上來說,在生態學資料的約束排序(RDA、db-RDA、CCA等)中,變數選擇是非常實用的方法(如上所述)。但是與R2校正或約束軸的顯著性檢驗等相比,變數選擇並非必需的過程,因此執不執行或怎樣執行還需根據實際情況來確定。變數選擇一般應用於觀察性研究,例如在生物地理模型中,觀測由溫度、降雨量、溼度、土壤pH等多種環境因素對群落結構的貢獻時,這種情況下往往不需要很多型別的環境因子參與解釋,最好選擇貢獻度最高的幾個環境變數構建模型。而在許多平衡設計試驗中,例如觀察某生物試劑對群落結構的影響時,對於試劑型別、新增量、處理時間等解釋變數通常是不考慮執行選擇過程的。
儘管變數選擇策略具有明顯的優勢,但一定切記不應盲目依賴自動選擇程式在迴歸模型中選擇相關的環境變數,因為可能得到生態學上不相關的模型,或者被忽視的其它變數組合(當前保留變數集中的部分解釋變數+某些被剔除的解釋變數)在某種程度上也可能比當前模型更具代表性(Legendre和Legendre,1998)。即僅透過統計學手段得到的最優變數集合可能並非代表了最具生態學意義的模型。有時我們還可以根據變數的屬性,手動將變數合併為有意義的集合(而不是依賴於自動選擇程式),然後基於降低數量後的變數集檢查所有可能的迴歸模型(James和McCulloch,1990),也不失為一種合理有效的手段。



