(浙江農(nóng)林大學(xué) a.信息工程學(xué)院;b.林業(yè)感知技術(shù)與智能裝備國家林業(yè)和草原局重點實驗室;c.浙江省林業(yè)智能監(jiān)測與信息技術(shù)研究重點實驗室,浙江 杭州 311300)
森林蓄積量(Forest stock volume,F(xiàn)SV)是林業(yè)科學(xué)研究和森林資源監(jiān)測的最為大眾所熟知的指標(biāo)之一[1],也是重要的林分調(diào)查因子。森林蓄積量的定量估測一直都是林業(yè)科學(xué)研究人員研究的重點以及難點。隨著遙感技術(shù)的快速發(fā)展,以及諸多學(xué)者結(jié)合遙感數(shù)據(jù)在林學(xué)方面的研究[2-4],如何利用遙感影像數(shù)據(jù)更好的服務(wù)于森林蓄積量的估測已成為林業(yè)科學(xué)研究的熱點。高分二號(GF-2)遙感影像是國內(nèi)分辨率高、觀測范圍大以及壽命長的遙感衛(wèi)星影像[5]。目前,對GF-2 影像的研究主要停留在對其數(shù)據(jù)的處理,而在森林蓄積量的估測研究中應(yīng)用較少。傳統(tǒng)的森林蓄積量估測方法主要有標(biāo)準(zhǔn)木法、材積表法等,但需要人工野外調(diào)查,成本高且不易于操作[6]。王宗梅等[7]對高分辨率遙感影像的森林信息提取的研究為高分辨率遙感影像在森林蓄積量的估測奠定了基礎(chǔ),利用GF-2 遙感影像數(shù)據(jù)進(jìn)行森林蓄積量估測的研究具有很大的潛力。近年來,隨著非線性回歸模型在森林蓄積量方面的研究逐漸深入,傳統(tǒng)的線性回歸模型逐漸被替代,機(jī)器學(xué)習(xí)在非線性回歸模型上的應(yīng)用研究越來越頻繁,如支持向量機(jī)(Support vector machine,SVM)、隨機(jī)森林算法(Random forest)、K 最近鄰(K-nearest neighbor,KNN)方法、BP(Back propagation,BP)神經(jīng)網(wǎng)絡(luò)等都應(yīng)用于森林蓄積量估測的研究。付虎艷等[8]用SVM 方法建立了香格里拉縣高山松蓄積量估測模型,汪康寧等[9]利用隨機(jī)森林算法進(jìn)行了涼水自然保護(hù)區(qū)蓄積量的反演研究,王海賓等[10]應(yīng)用了KNN 方法進(jìn)行縣域尺度的森林蓄積量估測研究。由此可見,機(jī)器學(xué)習(xí)方法在林業(yè)科學(xué)領(lǐng)域的研究有廣闊的發(fā)展前景。極端梯度提升(eXtreme gradient boosting,XGboost)算法[11-13]是在梯度提升樹(Gradient boosting decision tree,GBDT[14])上改進(jìn)的算法,也是一種基于分類和回歸樹的熱門機(jī)器學(xué)習(xí)算法,具有快速的數(shù)據(jù)處理能力和準(zhǔn)確性高的特點,在工業(yè)、醫(yī)學(xué)等領(lǐng)域已經(jīng)廣泛應(yīng)用,但在林業(yè)科學(xué)領(lǐng)域中的研究較少。本文綜合利用GF-2 遙感影像數(shù)據(jù)、樣地數(shù)據(jù)以及數(shù)字高程模型(DEM)數(shù)據(jù),通過XGboost 算法對龍泉市[15-16]部分區(qū)域森林蓄積量進(jìn)行非參數(shù)模型估測,為機(jī)器學(xué)習(xí)[17]方法 在森林蓄積量定量估測提供新途徑。
龍泉市[18]位于浙江省西南部的浙閩贛邊境(118°42′~119°25′E,27°42′~28°20′N),東鄰溫州經(jīng)濟(jì)技術(shù)開發(fā)區(qū),西接武夷山國家級風(fēng)景旅游區(qū),總面積3 059 km2。該市植被在分布上具有明顯的垂直帶譜,在海拔800 m 以下,主要是馬尾松、杉木、毛竹林等用材林;800~1 400 m 為常綠針闊混交林,典型為黃山松林、柳杉林,以及殼豆科的常綠闊葉林;1 400~1 600 m 是常綠落葉闊葉混交林;1 600~1 800 m 為闊葉落葉林、高山矮林;1700 m 以上為灌叢或草甸[19]。森林覆蓋率高達(dá)84.3%,森林面積達(dá)到25.72 萬hm2,蓄積量達(dá)到1 912 萬m3,占麗水市的總森林面積的17.5%。
研究數(shù)據(jù)來源于龍泉市2017年森林資源二類調(diào)查數(shù)據(jù)(以下簡稱“二調(diào)數(shù)據(jù)”)、龍泉市2009年數(shù)字高程模型(DEM)數(shù)據(jù)和龍泉市2016年8月16日的高分二號(GF-2)遙感影像數(shù)據(jù),本研究只用到多光譜影像。
本研究的對象為單位蓄積量(dwxuji),單位為立方米每畝(m3/mu)。參考前人的研究[20-22],從二調(diào)數(shù)據(jù)中獲取土層厚度(TU_CENG_HD)、腐殖質(zhì)厚度(FU_ZHI_HD)、年齡(NL)和郁閉度(YU_BI_DU)4 個自變量因子,從DEM數(shù)據(jù)中提取海拔(HAI_BA)、坡度(PO_DU) 和坡向(PO_XIANG)3 個自變量因子,GF-2 數(shù)據(jù)中提取影響蓄積量的遙感信息參數(shù),主要包括第一波段(BAND_1)、第二波段(BAND_2)、第三波段(BAND_3)、第四波段(BAND_4);植被指數(shù)有歸一化植被指數(shù)(Normalized difference vegetation,NDVI)、比值植被指數(shù)(Ratio vegetation index,RVI)、增強(qiáng)型植被指數(shù)(Enhanced vegetation index,EVI)、差值植被指數(shù)(Difference vegetation index,DVI)、土壤調(diào)節(jié)植被指數(shù)(Soil-adjusted vegetation index,SAVI)等9 個 直接或間接遙感影像因子?;贕F-2 號遙感影像獲取的樣本中,剔除蓄積量為0 的小班后剩余的4 002 個小班作為本研究的數(shù)據(jù)集,從中隨機(jī)抽取90%的數(shù)據(jù)共3 602 個小班作為訓(xùn)練集數(shù)據(jù),剩余的10%的數(shù)據(jù)共400 個小班作為測試集數(shù)據(jù)。
本文一共提取了16 個可能影響蓄積量的自變量因子,由于有些因子可能對建模無顯著影響,因此在建模前先對自變量因子進(jìn)行篩選。常用的特征篩選的方法有相關(guān)性分析、逐步回歸分析和Boruta 特征選擇方法等,本文采用逐步線性回歸方法來進(jìn)行特征選擇,它是通過多元線性回歸方法建立森林蓄積量與原始特征集的線性關(guān)系,選擇逐步的方式逐漸地剔除掉不相干因子的過程。
本研究選取交叉驗證(Cross validation,CV)的方式來檢查模型的精度。交叉驗證常用的方法有留一交叉LOOCV 和K 折交叉驗證(K-fold CV)。K-fold CV 是將數(shù)據(jù)集分為K 個子集,并在K 個子集中取一個作為驗證數(shù)據(jù)集,其余的K-1個數(shù)據(jù)集作為訓(xùn)練集,計算所得的K 個模型并取其平均預(yù)測精度作為最終的精度值。采用的常用評價指標(biāo)有決定系數(shù)(R-squared,R2)、均方根誤差(Root mean square error,RMSE)、均方誤差(Mean square error,MSE)、平均絕對誤差(Mean absolute error,MAE)、平均百分比誤差(Mean absolute percentage error,MAPE)。計算公式如下:
式中:N表示樣本數(shù),yi為真實值,為估測值,
XGboost 在GBDT 梯度提升樹的基礎(chǔ)上做了部分算法的改進(jìn),具有速度快、效果好、能處理大規(guī)模數(shù)據(jù)和支持多種語言等優(yōu)點。其基本思想是:逐棵樹加入到模型中,每加一棵CRAT 決策樹時,要使得整體的效果有所提升。XGboost 的目標(biāo)函數(shù)(如公式6 所示)包含兩部分:訓(xùn)練誤差和正則化。
式中:l是損失函數(shù),用于度量模型預(yù)測與真實值的誤差,可以是平方損失(Square loss)、絕對損失(Absolute loss)、指數(shù)損失(Exponential loss)等,Ω 是正則化項,用于度量模型的復(fù)雜度,避免過擬合,可以是L1 正則、L2 正則等。
在XGboost 算法中,首先優(yōu)化第1 棵樹,再優(yōu)化第2 棵樹,直至優(yōu)化完K 棵樹。其過程如公式(7)所示。
將損失函數(shù)進(jìn)行泰勒公式二階展開,從而得到公式(9)。
本文的基本模型為回歸樹,樹的復(fù)雜度由葉子節(jié)點數(shù)、每個葉子節(jié)點權(quán)重、懲罰系數(shù)等共同決定(如公式10 所示)。
式中:γ是懲罰系數(shù)(由人工進(jìn)行設(shè)置),T是葉子的節(jié)點數(shù),ω是每個葉子的權(quán)重,是對于ω權(quán)值參數(shù)的正則化懲罰項(L2 正則化)。
忽略常數(shù)項,將損失函數(shù)和正則項展開,目標(biāo)函數(shù)轉(zhuǎn)變?yōu)楣剑?1)。
由上式可以得到最優(yōu)的(公式13)和目標(biāo)函數(shù)(公式14)。
本研究中XGboost 算法建模的具體步驟如下:
1)將所有樣本在Excel 中利用隨機(jī)函數(shù)進(jìn)行訓(xùn)練集合測試集的劃分。
2)在Python 中通過調(diào)用XGBRegressor 包對訓(xùn)練集進(jìn)行XGboost 森林蓄積量的初步建模。
3)通過反復(fù)實驗調(diào)參,得到最優(yōu)參數(shù),建立最XGboost 算法最優(yōu)蓄積量估測模型。
4)在最優(yōu)蓄積量估測模型對測試集進(jìn)行預(yù)測,得到最終預(yù)測結(jié)果。
本研究提出的蓄積量估測方法(圖1),主要包括蓄積量影響因子提取、影響因子選擇、蓄積量估測模型構(gòu)建和蓄積量估測模型評價等4 個 部分。
本研究在SPSS 20.0 軟件中,選擇多元線性回歸方法,當(dāng)自變量的F顯著性概率小于0.05 的時候,變量被逐步引入模型中,然后再通過變量的F 檢驗大于0.1 時,確保模型逐步剔除不顯著因子并始終保留顯著因子,得到的最終結(jié)果見表1,得到的逐步回歸分析選擇的特征集為NL、YU_BI_DU、TU_CENG_HD、HAI_BA、FU_ZHI_HD、PO_DU、PO_XIANG、DVI 和EVI。
2.2.1 3 種方法進(jìn)行蓄積量建模與估測結(jié)果分析
采用逐步回歸分析得到的特征集作為模型的輸入,單位蓄積量作為模型的輸出,進(jìn)行實驗。在建模時,從針對LightGBM(Light generalized boosted regression models,LGBM)方法和梯度提升(Gradient boosting) 選取LGBM 方法、Gradient boosting 方法在蓄積量的建模與估測結(jié)果上與XGboost 方法進(jìn)行對比,建模結(jié)果見表2和圖2,估測結(jié)果見表3和圖3。3 種方法建模與估測的30 個樣本對比見圖4。
為與其他方法進(jìn)行比較,圖2c中本研究的蓄積量估測結(jié)果由XGboost 方法通過經(jīng)驗和反復(fù)實驗調(diào)參得到的,圖3c的為XGboost 蓄積量估測模型得到的估測結(jié)果,由表2和表3可知,XGboost 蓄積量估測模型的訓(xùn)練MAPE 與估測MAPE 在本研究中最高,分別是10.35%和16.81%,由此XGboost 蓄積量估測模型的建模精度達(dá)到89.65%,估測精度達(dá)到83.19%。Gradient boosting 方法的RMSE、MSE、MAE 都比LGBM方法好,并且建模精度與估測精度都比LGBM 方法有所提高。與LGBM 方法、Gradient boosting方法相比較,基于XGboost 方法的森林蓄積量估測方法在建模上的性能指標(biāo):R2高于LGBM 方法、Gradient boosting 方法,MAPE 由LGBM 方法的19.28%到Gradient boosting 方法的14.43%,最低的是XGboost 方法的10.35%,說明XGboost方法建立的森林蓄積量估測模型在本研究中更優(yōu)。由圖4中3 種方法的估測值與實際值對比可知,XGboost 方法整體的估測值比LGBM 方法、Gradient boosting 方法估測值高,并且預(yù)測值更趨于平緩,在一定程度上有所改進(jìn),整體水平更接近實測值,模型更穩(wěn)定,在3 種方法中是最好的。在模型估測中,Gradient boosting 方法和XGboost方法的MAPE 值都低于20%,因此蓄積量估計的準(zhǔn)確率都在80%以上,對龍泉市的森林蓄積量的估測有實際指導(dǎo)意義。
圖1 技術(shù)路線Fig.1 Technological flow diagram
表1 逐步回歸特征選擇結(jié)果Table 1 Stepwise regression feature selection result
表2 3 種方法的蓄積量建模評價指標(biāo)Table 2 Stock volume modeling evaluation index of three methods
圖2 3 種方法的蓄積量建模結(jié)果Fig.2 Volumetric modeling results of three methods
表3 3 種方法的蓄積量估測評價指標(biāo)Table 3 Stock estimating evaluation index of three methods
圖3 3 種方法的蓄積量估測結(jié)果Fig.3 Volume forecast results of three methods
圖4 蓄積量實測值與3 種模型估測值比較Fig.4 Comparison of measured values of accumulated quantities with predicted values of three models
與同行研究比較而言,XGboost 建模最高精度達(dá)到89.65%,估測最高精度達(dá)到83.19%,比文獻(xiàn)[23]所用的隨機(jī)森林方法建立蓄積量估測模型得到的預(yù)測精度75.46%和文獻(xiàn)[24]基于提取單株樹高和冠幅參數(shù)估算的森林蓄積量精度81.80%都高;作為重要的性能指標(biāo)R2,XGboost 估測模型達(dá)到0.71,高于文獻(xiàn)[25]所用支持向量機(jī)(Support vector machine,SVM)建立森林蓄積量模型的R2為0.67。
2.2.2 XGboost 進(jìn)行蓄積量建模與估測結(jié)果分析
本研究的樣本一共4 002 個小班數(shù)據(jù),對其進(jìn)行針葉林、闊葉林和針闊混交林劃分,得到針葉林3 164 個小班數(shù)據(jù),闊葉林617 個小班數(shù)據(jù),針闊混交林221 個小班數(shù)據(jù),分別對3 種樹種結(jié)構(gòu)按9∶1 進(jìn)行測試集和估測集劃分,利用XGboost方法進(jìn)行實驗,并與上述未劃分樹種情況下的最好估測結(jié)果進(jìn)行比較。其中XGboost 方法建模結(jié)果見表4和圖5,估測結(jié)果見表5和圖6。
表4 劃分針/闊葉林情況下的基于XGboost 的蓄積量建模 性能指標(biāo)Table 4 The performance metrics of XGboost-based modelling result for estimating forest stock by dividing coniferous forests and broad-leaved forests
圖5 劃分針/闊葉林情況下的基于XGboost 的蓄積量建模結(jié)果Fig.5 XGboost-based modelling result for estimating forest stock by dividing coniferous forests and broad-leaved forests
表5 劃分針/闊葉林情況下的基于XGboost 的蓄積量估 測性能指標(biāo)Table 5 The performance metrics of XGboost-based estimation result for estimating forest stock by dividing coniferous forests and broad-leaved forests
因為所有樣本區(qū)分樹種結(jié)構(gòu)之后,3 種結(jié)構(gòu)的樣本量差別很大,因此本文根據(jù)3 種樹種結(jié)構(gòu)的樣本數(shù)量加權(quán)計算得到的建模與估測精度與未經(jīng)樹種劃分情況下的實施結(jié)果進(jìn)行比較。在區(qū)分樹種結(jié)構(gòu)的情況下,XGboost 的建模精度為89.31%,估測精度為84.5%。在不區(qū)分樹種結(jié)構(gòu)的情況下,XGboost 的建模精度為89.65%(見表2),估測精度為83.19%(見表3)。通過對比可以發(fā)現(xiàn),兩者的建模精度沒有明顯區(qū)別,從估測精度來看,區(qū)分樹種結(jié)構(gòu)讓XGboost 方法的估測精度提高了1.31%,而其中針葉林的估測效果最好,估測精度達(dá)到了86.21%,闊葉林與針闊混交林的估測效果較差,這可能是因為在總樣本中3 種樹種結(jié)構(gòu)的數(shù)量分布不均所導(dǎo)致的。
本研究以龍泉市2017年森林資源二類調(diào)查數(shù)據(jù)為基礎(chǔ)數(shù)據(jù),單位蓄積量為研究對象,基于高分二號(GF-2)遙感影像提取波段信息和植被指數(shù),結(jié)合龍泉市數(shù)字高程模型(DEM)提取的地形因子,通過逐步回歸特征選擇方法選取與蓄積量相關(guān)的自變量因子,利用XGboost 方法、LGBM 方法和Gradient boosting 方法分別建立蓄積量估測模型。建模結(jié)果表明,本研究所選取的森林蓄積量影響因子可以較好地對蓄積量進(jìn)行估測,說明用逐步回歸方法進(jìn)行自變量選擇可以較好的應(yīng)用在蓄積量研究中。XGboost 方法無論是建模精度還是估測精度均高于LGBM 方法和Gradient boosting 方法,能夠更好地定量反映森林蓄積量,而且具有更強(qiáng)的泛化能力,表明機(jī)器學(xué)習(xí)方法結(jié)合高分遙感影像數(shù)據(jù)進(jìn)行蓄積量的估測是一種有效的方法。在區(qū)分樹種結(jié)構(gòu)的情況下,XGboost 方法的估測效果得到了提升,并且在針葉林的估測中效果最好,達(dá)到86.21%。
圖6 劃分針/闊葉林情況下的基于XGboost 的蓄積量估測結(jié)果Fig.6 XGboost-based estimation result of forest stock by dividing coniferous forests and broad-leaved forests
相比較于本研究團(tuán)隊之前的研究成果[26-27],區(qū)別主要在于:1)部分研究數(shù)據(jù)不同,之前研究采用Landsat TM 影像,本文則用了GF-2 號遙感影像;2)研究方法不同,之前研究方法均是基于BP 神經(jīng)網(wǎng)絡(luò)模型的算法,本文則使用了XGboost算法;3)研究結(jié)果不同,本文的XGboost 建模結(jié)果和預(yù)測結(jié)果均明顯優(yōu)于之前基于BP 神經(jīng)網(wǎng)絡(luò)的研究結(jié)果。
運用XGboost 估測研究區(qū)域的森林蓄積量,結(jié)合GF-2 影像和森林資源二類調(diào)查數(shù)據(jù),得到了更好的預(yù)測結(jié)果,表明XGboost 回歸估測模型能夠更好地定量反映區(qū)域森林蓄積量,機(jī)器學(xué)習(xí)方法結(jié)合高分遙感影像數(shù)據(jù)進(jìn)行蓄積量的預(yù)測是一種有效的方法。XGboost 模型在實踐中使用方便,提供了在短時間內(nèi)預(yù)測森林蓄積量的可能性。后續(xù)將對XGboost 模型進(jìn)行跨時期和地區(qū)遷移的蓄積量估測研究,以期更好地指導(dǎo)林業(yè)生產(chǎn)實踐。
本文采用的XGboost 方法、LGBM 方法、Gradient boosting 方法構(gòu)建模型的過程中,對于最優(yōu)參數(shù)的選擇都是依靠經(jīng)驗以及反復(fù)實驗得到模型最優(yōu)參數(shù),目前并沒有統(tǒng)一的最優(yōu)參數(shù)建立方法,后續(xù)將跟進(jìn)對XGboost 算法參數(shù)調(diào)優(yōu)的研究。本文的高分二號高分辨率遙感影像數(shù)據(jù)僅以光譜信息參與了估測,后續(xù)可以考慮加入紋理信息以充實自變量因子集,可能會進(jìn)一步改善估測效果。每種算法都有其優(yōu)點和缺點,本研究只是系統(tǒng)地對比了3 種算法,并且用于單個縣域單期數(shù)據(jù)的實驗。后續(xù)也可將本研究學(xué)習(xí)算法進(jìn)行跨時空遷移的蓄積量估測研究,以期更好地指導(dǎo)林業(yè)生產(chǎn)實踐。