陳 涵,張 超,余樹全
(浙江農林大學 林業與生物技術學院,浙江 杭州311300)
隨著計算機技術和統計學方法的不斷發展,機器學習方法被越來越多地運用到各個領域當中。在生態學研究中,物種分布模型(species distribution modelling,SDM)被廣泛運用于外來入侵物種潛在分布區預測、珍稀物種潛在分布區預測、保護區規劃和全球氣候變化背景下的物種分布及遷移等方面[1],為植物保護,造林規劃,制定物種多樣性保護策略等提供理論依據。物種分布模型的基本原理是利用物種分布數據(包括存在點和不存在點)及不同環境因子,運用不同的模型算法計算物種的生態位,并以概率的形式反映物種對生境的偏好程度,所得結果可以解釋為物種出現的概率、生境適宜度或物種豐富度等[2]。目前, 學者使用較多的物種分布模型包括隨機森林[3]、 支持向量機[4]、遺傳算法[4]、 分類回歸樹[5]和最大熵模型(MaxEnt)[6]等,種類繁多且各有優勢,且在前人研究中都得到了較好的效果。但是隨著物種分布模型種類的不斷增加,選擇合適的模型變得愈加困難。ARA'UJO等[7]報道:每種模型各有優勢和局限,且隨輸入數據的變化模型表現也不穩定,對同一物種的預測的精度差異可能會非常大,因此若通過建立一個模型組,將多個模型的結果整合,產生一個組合模型,將能提高預測結果的準確率。周志華[8]曾提出:單一模型之間較低的相關性可以提高模型的誤差校正能力,因此模型結果的差異性越高,最終集成模型的效果也會越好。預測效果不好的模型對于問題的某一特定部分可能會有優勢。因此,加入預測效果較差的模型往往不會過擬合,且多個效果較差的模型的集成也可以產生一個較好的模型。目前,常見的集成算法有3種,分別是Bagging,Boosting和Stacking。南方紅豆杉Taxus chinensisvar.mairei自然分布于中國的華東、中南、西南以及陜西、甘肅、臺灣等地,是珍貴的資源植物,材質極佳,因其含紫杉醇而備受關注。本研究以南方紅豆杉為例,應用Caret和CaretEnsemble程序包比較和集成多個模型研究其在浙江省麗水市蓮都區范圍內的潛在分布區,以期為該樹種造林及資源保護提供科學依據。
蓮都區位于浙江省麗水市, 28°06′~28°44′N, 119°32′~120°08′E, 地處括蒼山、 洞宮山、 仙霞嶺 3條山脈之間,屬于亞熱帶季風氣候,溫暖濕潤,雨量充沛,四季分明。全境以丘陵山地為主,中間有小塊河谷平原。境內地形可分為河谷平原、丘陵、山地3種,平均海拔381 m,低山丘陵和高山丘陵占全區總面積的57.0%,低山、中山面積占全區總面積的30.2%。南方紅豆杉是蓮都區的鄉土樹種。由于自然地理條件適合,蓮都區是最早發展南方紅豆杉的地區之一,開展了人工育苗、造林試驗和古樹保護等。目前蓮都區范圍內共有南方紅豆杉古樹154株,多以村口風水林的形式存在。
Stacking模型集成算法是WOLPERT[9]于1992年提出,指訓練一個模型用于組合(combine)其他各個模型的方法。Stacking模型分為2層,第0層首先訓練多個不同的模型(基學習器),然后再以之前訓練的各個模型的輸出輸入第1層來訓練一個模型(元學習器)。在0層首先對訓練集S,使用類似k折交叉驗證法的方式將數據分成J個部分S1,…,SJ。對于第j次訓練,保留Sj的數據,然后將S(-1)=S-Sj用來訓練每一個基礎分類器Kj,訓練完成后,使用每個基礎分類器對數據Sj進行預測分類,產生該數據的所屬各類別的后驗概率,若訓練數據存在N個類別,那么每個基礎分類器將會產生N個由后驗概率組成的新的特征維度pkj,K個分類器將組成K×N個新維度,這些新增的特征維度將作為第1層中的訓練數據。根據k折交叉驗證的原理,算法結束時將會計算J次,直至訓練集中的所有數據都被轉換成由后驗概率構成的新數據,第0層階段結束。由于使用了交叉驗證技術,故訓練集并不會存在數據泄露問題。
2.2.1 極端梯度上升(extreme gradient boosting,XGBoost)模型 這是一種基于梯度提升算法(gradient boosting)以及決策樹(decision tree)的改進型學習算法。其原理是使用迭代運算的思想,將大量的弱分類器轉化成強分類器,以實現準確的分類效果。本研究首次將其用于物種潛在分布區的研究當中。
2.2.2 隨機森林(random forest,RF)模型 這由BREIMAN[10]在2001年提出的一種基于分類樹的算法,利用Bootstrap重抽樣方法從原樣本中抽取多個樣本,對每個樣本進行決策樹建模,然后將多棵決策樹模型組合的預測方法。最終通過投票的方法得出預測結果。
2.2.3 分類回歸樹(classification and regression tree,CART)模型 分類回歸樹是一種非參數化的回歸及分類技術,無需預先假設響應變量和預測變量之間的關系,而是根據響應變量,利用遞歸劃分法,將由預測變量定義的空間劃分為盡可能相同的類別。每一次劃分都由預測變量的一個最優劃分值來完成,將數據分成2個部分,重復此過程,直到數據不可再分。分類回歸樹算法由樹生長和樹剪枝2個步驟組成[11]。
2.2.4 樸素貝葉斯(native bayes,NB)模型 它源于古典數學理論,是一種較穩定的有監督分類算法,其分類算法基于貝葉斯定理,在處理大規模數據庫時有較高的分類準確率。
2.2.5 支持向量機(support vector machine,SVM)模型 這是一種基于統計學習理論的機器學習方法[12],具有良好的泛化性能。可以有效解決小樣本、非線性及高維模式識別問題,在模式識別和機器學習領域已取得廣泛的應用。本研究以上述5個模型作為基學習器,以廣義線性模型(GLM)作為元學習器來建模。
2017年在蓮都區開展野外調查工作,獲得154株南方紅豆杉的分布點位,將群狀古樹群視為1個分布點,共得到40個南方紅豆杉分布點。
2.4.1 地形因子 數字高程數據(digital elevation model,DEM)來自 “地理空間數據云”(http://gscloud.cn/),空間分辨率為90 m,使用Arc GIS 10.1軟件根據DEM數據提取獲得坡度、坡向和海拔高度因子。
2.4.2 氣象因子 氣象數據由Anusplin軟件插值而來,空間分辨率為90 m。Anusplin以DEM為協變量,其局部薄盤樣條插值結果與反向距離權重法和普通克呂格法的插值結果相比誤差最小[13]。從中國氣象數據網(http://data.cma.cn/site/index.html)下載地面年值數據集(1981-2010年)數據,范圍選取浙江省及其周邊省市共132個氣象站點進行插值。7個氣象因子分別為年最多降水量、年最少降水量、年平均氣溫、年平均氣溫日較差、年平均最高氣溫、年平均最低氣溫和年平均相對濕度。
2.4.3 其他因子 除地形和氣象數據,本研究還增加了土層厚度、距離河流距離、歸一化植被指數(normalized difference vegetation index,NDVI)和太陽輻射等因子。數據空間分辨率均為90 m。
因模型需要存在和不存在數據,在不能獲取真實不存在點的情況下,為了增加模型的可靠性,使用張雷[14]提出的偽不存在點的生成方法,利用MaxEnt模型生成不存在數據。因為MaxEnt模型的運行不需要不存在數據,所以我們先利用MaxEnt模型預測南方紅豆杉的潛在分布區。在得出結論以后,從中剔除南方紅豆杉的適生區。為了盡量減少誤差,將適生區的面積擴大10%剔除,再從剩余的不適生區中隨機生成與存在點數量相同的偽不存在點。
為驗證模型精度,本研究使用k折交叉驗證法(k-fold cross-validation)劃分訓練集(train data)和測試集(test data)。k折交叉驗證法是一種用于計算樣本識別率的常用算法。k折交叉驗證法在小數據集的情況下能夠更好地利用數據,取得較好的識別率,更能有效避免過學習和欠學習的發生[15]。本研究使用10折交叉驗證。采用Kappa值和準確率來評估模型的預測精度,Kappa值常用于測試空間分布格局的相似性[16],排除了由隨機因素導致一致性的可能性,因此是更為穩健、更為保守的指標[17]。Kappa值的計算需要指定一個閾值把物種發生概率轉化為二元值(物種發生和不發生)[18]。Kappa值的評估標準為[19]:極好,1.0~0.85;很好,0.7~0.85;好,0.55~0.7;一般,0.4~0.55;失敗,<0.4。準確率的計算方法為分類正確的樣本數除以所有樣本數,準確率越高模型越好。
根據Kappa值和準確率對比5個模型和集成模型結果(表1),單一模型中隨機森林模型、極端梯度上升模型、支持向量機模型達到了 “很好”的類別,分類回歸樹模型和樸素貝葉斯模型的預測結果處于“好”的類別。其中極端梯度上升模型預測效果最好,Kappa值和準確率分別為0.77和0.88;其次為隨機森林模型和支持向量機模型,Kappa平均值大于0.70,準確率大于0.85;分類回歸樹模型預測效果最差,Kappa值為0.59,準確率為0.79;樸素貝葉斯模型稍好于分類回歸樹模型,Kappa值和準確率分別為0.60和0.80。對比5個單一模型和集成模型,集成模型模擬效果最好,其結果顯示:Kappa值為0.80,準確率為0.90,較模擬效果最好的單一模型有所提升。
Caretensemble程序包中自帶varimp函數,可以計算各環境因子重要性(表2)。隨機森林模型模擬結果顯示:海拔高度是影響南方紅豆杉分布最重要的因子,其次為年平均最少降雨量、歸一化差分植被指數和年平均最多降雨量,其重要性分別為22.58,16.21,15.81和10.55。這4個環境因子的累計重要性為65.15。分類回歸樹模型模擬結果顯示:最重要的因子為海拔高度,其次為年平均最少降雨量、歸一化差分植被指數和年平均最多降雨量,重要性分別為24.54,20.24,12.14和11.58。這4個環境因子的累計重要性為68.5。樸素貝葉斯模型模擬結果顯示:海拔高度最為重要,其次為年平均最少降雨量、年平均氣溫和歸一化差分植被指數,重要性分別為21.35,13.16,13.05和11.55。這4個環境因子的累計重要性為59.11。極端梯度上升模型模擬結果顯示:最重要的因子為海拔高度,其次為歸一化差分植被指數、年平均最高氣溫和年平均最少降雨量,重要性分別為25.75,19.34,10.97和10.02。這4個環境因子的累計重要性為66.08。支持向量機模型模擬結果顯示:最重要的環境因子為年平均最低氣溫,重要性為13.15,為5個模型和集成模型中最高,其次為海拔、年平均氣溫、年平均最少降雨量、歸一化差分植被指數和年平均最高氣溫,重要性分別為13.13,13.05,12.71,11.55和10.82,這5個環境因子的累計重要性為61.26。
通過模型之間的比較可以看出:影響南方紅豆杉在蓮都區分布的主要環境因子為海拔高度、歸一化差分植被指數和年平均最少降雨量,在每個模型中的重要性均大于10。同時5個單一模型由于其本身側重不同,所選取參與建模的環境因子和各個環境因子的重要性也不相同。集成模型模擬結果顯示每個環境因子都對南方紅豆杉的潛在分布區有響應,且每個因子重要性都較為平均,沒有特別突出某個環境因子。集成模型中最重要的為海拔高度,其次為歸一化差分植被指數和年平均最少降雨量,3個因子重要性均大于10,累計重要性為45.8。通過對比各單一模型和集成模型顯示的環境因子重要性可知:海拔高度、歸一化差分植被指數和年平均最少降雨量是影響南方紅豆杉潛在分布區的主要環境因子。

表2 環境因子重要性Table 2 Importance of environmental factors
對比5個模型和集成模型,結果由圖1所示。根據集成模型預測結果,南方紅豆杉主要分布在蓮都區北部及東北部地區的雅溪鎮、仙渡鄉、雙黃鄉、黃村鄉、太平鄉、老竹畬族鎮、巖泉街道及白云山林場。蓮都區南部的大港頭鎮和峰源鄉也有較多分布。在峰源鄉,分布區呈現離散狀態。此外,南方紅豆杉在麗新畬族鄉和高溪鄉西側,富嶺街道、紫金街道和碧湖鎮東側亦有分布。
各鄉鎮潛在分布區面積結果由表3所示,隨機森林模型、極端梯度上升模型、支持向量機模型和集成模型等4個模型均顯示雅溪鎮的潛在分布區及其所占全區潛在分布區面積比例最大。所有模型預測結果均顯示富嶺街道的潛在分布區及其面積占比最小。
對比6個模型結果,集成模型的模擬效果最好,其Kappa值為0.80,準確率為0.90。集成模型結果顯示:影響南方紅豆杉在蓮都區分布的主要環境因子為海拔高度,其次為歸一化差分植被指數和年平均最少降雨量,南方紅豆杉在蓮都區的潛在分布區為5.01萬hm2。目前,對于物種潛在分布區研究的空間分辨率主要集中在大尺度的空間上。本研究利用R軟件和集成學習方法建立了90 m分辨率的蓮都區南方紅豆杉潛在分布區的集成模型,能夠更好地應用到實際,并直觀地反應南方紅豆杉在蓮都區的潛在分布區,取得較好的結果,對蓮都區南方紅豆杉的造林工作及資源保護具有指導意義。

圖1 各模型預測南方紅豆杉潛在分布區示意圖Figure 1 Prediction of potential distribution area of Taxus chinensis var.mairei
對于某樹種在某地是否適生,判定的標準是該樹種能否在當地正常生長發育,繁殖后代,形成穩定的群落并長久生存下去。本研究選取的古樹生存時間久,更能反映當地的生態環境,更適合參與建模。
本研究使用14個環境因子建模,但是在現實世界中,影響植物生長的環境因子遠不止這些。分辨率為90 m的環境因子,在較小尺度下,影響物種分布的因子主要為地形、土壤及物種之間的交互作用等[20],但是在高分辨率下這類因子卻較難獲取[21],如能加入其他各類如土壤因子等影響植物生長的環境因子,相信能得到更準確的結果。
以往研究都是按照比例劃分數據集,雖然可以重復多次劃分,但是在理論上還是有數據泄露的可能。本研究在數據劃分與驗證上,使用k折交叉驗證方法,其優點是可以完整利用整個數據集,雖然增加了運行時間,但提高了數據利用率,尤其適用于較小樣本量的數據集。雖然Kappa和準確率能夠很好地反應模型精度,但在現實中還有很多在建模過程中并未考慮的因素,HERNANDEZ 等[22]和 ENGLER 等[23]提 出 ,模型只是物種潛在分布的估計。本質還是預測研究,所以在實際的造林活動中,模型模擬的結果并不能當做唯一依據,必須要與當地實際情況相結合,遵循因地制宜,適地適樹的原則來確定造林地點或樹種。
極端梯度上升模型是近幾年提出的一種新的算法,具有速度快,準確率高等優勢。極端梯度上升模型和Stacking算法已經被廣泛運用于文本分類、圖像識別、金融等領域,但是由于在生態學領域人們對各種算法的關注度相對較少,并且使用這類算法較為困難,所以未見其在物種潛在分布模型中應用。本研究將其運用到物種潛在分布區的研究中,希望能夠提供一些新的方法,但其中有很多功能,如參數調整、特征選擇等,還有待深入研究。

表3 各鄉鎮南方紅豆杉潛在分布區面積Table 3 Potential Distribution Area of Taxuschinensis var.mairei in each township