王霓虹 王志芳
摘要林分生長收獲模型在森林經營管理中有著重要的作用,隨著林分生長過程中相應的經營措施(如間伐、施肥等)的實施以及林分可能發生的病蟲害等,會對林分生長產生影響,然而通常并未對已有模型進行及時的修正更新。針對這一問題,提出一種修正方法,按照模型參數求解、模型修正檢驗、模型深度修正這3個步驟來實現修正,直到誤差小于設定的閾值,且被標記的異常數據不超過實際數據的1/2,停止修正,此時得到的參數值即為模型修正后得到的參數值。通過進行SPSS軟件擬合林分模型和修正方法修正模型的對比實驗,結果表明,修正方法可行,實現了模型的更新。把修正方法應用到Web平臺,將會擴大林分生長收獲模型的研究和應用范圍。
關鍵詞 生長收獲模型;修正方法;模型更新
中圖分類號S715.3文獻標識碼A文章編號0517-6611(2014)12-03606-03
基金項目“十二五”農村領域國家科技計劃課題(2012AA1020032)。
作者簡介王霓虹(1951-),女,黑龍江齊齊哈爾人,教授,博士生導師,從事林業工程研究。
林分生長收獲模型研究對森林經營管理有著重要的作用,對未來林分的生長以及蓄積量進行預估,為育林工作和森林經營提供指導 [1]。目前國內外學者大多研究林分因子之間的影響關系[2]或者是對特定地區特定林分的生長收獲模型進行研究[3-4]。隨著林分生長過程中相應經營措施(如間伐、施肥等)的實施以及林分可能發生的病蟲害等,會對林分生長產生影響,這時就需要對已有模型進行修正更新。基于上述情況,該文提出了生長收獲模型的修正方法,這樣使得模型更符合林分實際的生長情況,提高了模型對林木生長預測的準確性。
林分生長收獲模型修正是針對同一研究區域的相同林分,在保持模型形式不變的情況下采用某種方法,修改原有模型的某些初始參數,使得由原有模型計算后得到的新模型盡可能與林分實際生長收獲狀況一致。模型修正主要是利用林分生長方程和某種計算方法,編程后由計算機自動進行修正[5]。在MATLAB和Web技術的支持下,將修正方法開發成一個功能模塊,應用到Web平臺,只要輸入林分實際數據和原模型相應的參數,就能得到修正更新后的模型。對原有林分生長收獲模型進行修正更新,不僅提高了模型預測的準確性,而且也擴大了林分模型的應用范圍。
1全林分模型
全林分模型用來描述整體林分總量和平均單株木的生長過程,該模型已有近200年的歷史,模型簡單,易于使用,是目前林分生長收獲模型中使用最為廣泛的[6-7]。大量研究表明,理查德方程與林木實際生長狀況最符合[8],而且方程中的參數具有一定的生物學意義[9],所以目前國內外大多林分生長收獲模型均以理查德方程為基礎[10-11]。筆者根據2010年《黑龍江省地方標準DB23》,確定了以下的生長模型和收獲模型。
林分平均高(TH)模型:
2 全林分模型修正方法
模型修正方法一般分為2種,直接計算和迭代計算。直接計算一般用于矩陣運算或方程組求解,即一次計算便可獲得修正結果;而迭代計算則需要進行多次重復運算才可獲得修正結果。在實際的修正方法中,往往2種方法需混合使用。根據該文的生長收獲模型可知,需對樹高、斷面積、蓄積量這3個模型進行修正,根據林分實際數據,按照模型參數求解算法直接計算得到模型參數。通過模型修正檢驗算法來確定模型修正后的誤差值與設定閾值的關系,如果不超過閾值,則修正成功,返回修正后的參數值,如果大于閾值,則修正有誤,需要進行深度修正。在模型深度修正過程中,使用3倍標準差法將異常數據剔除,再按上述步驟進行迭代計算,直到修正成功或出現數據搜集有誤狀況時,則停止修正。數據搜集有誤分2種情況:①實際數據中已經不存在異常數據,此時誤差值依舊大于設定閾值;②被剔除的異常數據大于實際總數據的1/2。具體修正步驟如下。
2.1 模型參數的求解由于模型復雜,參數個數較多,手動求解參數值非常困難,而MATLAB是數學類科技應用軟件,在數值計算方面首屈一指,因此,根據林分實際數據,借助MATLAB軟件,求解模型參數。林分實際數據結構為:林分年齡、基準年齡、初始年齡、平均樹高、斷面積平均胸徑、林分斷面積、林分蓄積、單位公頃株數、地位級指數。具體求解過程如下。
2.1.1林分平均高模型。見公式(Ⅰ),式中k是參數,將實際數據An(n為數據記錄條數)逐條帶入模型中,利用MATLAB軟件分別計算出ki,然后在原有模型參數k原和ki(i=1,2,…,n)這n+1個數中找出兩兩之間距離累加之和最小的那個值,即該值為參數k的最優值。公式為:
2.1.2林分斷面積模型。見公式(Ⅲ),式中a0,a1,k0,k1,c是參數。對多參數的處理方式為逐一求解參數,首先將參數a0作為求解參數,其余參數為模型原有相對應參數值,把實際數據An(n為數據記錄條數)逐條帶入模型中,利用MATLAB軟件分別計算出a0i,然后在原有模型參數a0原和a0i(i=1,2,…,n)這n+1個數中找到兩兩之間距離累加之和最小的那個值,即該值為參數a0的最優值。接著,依次將參數a1,k0,k1,c分別作為求解參數,同時將之前計算求得參數最優值來代替相應模型原有參數值,其余計算過程與上一步一致,即分別得到參數a0,a1,k0,k1,c的最優值。
2.1.3林分蓄積量模型。見公式(Ⅳ),式中d0,d1是參數。其參數求解過程與“2.1.2”類似。
2.2 模型的修正檢驗為了保證模型修正結果的準確度,需要對修正之后得到的新模型進行檢驗。將實際數據帶入模型中,分別計算其結果,然后與相應的實際結果作比較,計算誤差值。如果誤差值小于設定的經驗閾值(通常為5%,則置信度為95%),說明修正成功,反之,修正有誤,需要進行模型的深度修正。檢驗過程主要如下。
林分平均高模型為公式(Ⅰ),式中k是參數。將實際數據An逐條帶入模型中進行計算,得到THi,然后計算其實際誤差Ei,即
斷面積模型與蓄積量模型的修正檢驗過程與平均高模型類似,這里不作重復說明。
2.3 模型的深度修正如果模型修正后誤差值大于設定的閾值,則需要對模型進行深度修正。深度修正的基本思路是利用3倍標準差法來剔除異常數據,然后再按照模型修正的方法重新進行修正,直到修正結束。在深度修正過程中,如果實際數據中已經不存在異常數據且誤差值依舊大于設定閾值,或者被剔除的異常數據大于實際總數據的1/2,則說明實驗數據搜集有誤,停止修正,此時需要重新整理實驗數據,修正結束。反之,修正成功,輸出模型參數,修正結束。
3倍標準差法的原理為:設有n個觀測值x1,x2,…,xn,則這n個數的平均值為:
3 實驗與結果分析
3.1 實驗方案此次實驗選用黑龍江省佳木斯市孟家崗實驗林場紅松人工林樹高、斷面積、蓄積量模型為研究模型,根據近年來搜集整理的數據,利用SPSS軟件對林分進行模型擬合實驗,利用修正方法對原有模型進行模型修正實驗,對比分析2個實驗結果,得出結論。
原有紅松人工林樹高模型為公式(Ⅰ),其中k=21.468 257。
原有紅松人工林斷面積模型為公式(Ⅲ),其中,a0=29.236 155,a1=0.117 812,k0=62.846 016,k1=4.640 045,c=0.230 110,t0=8。
原有紅松人工林蓄積量模型為公式(Ⅳ),其中,d0=4.625 637,d1=1.739 191。
3.2 數據來源數據來源于2006~2012年孟家崗作業設計調查的紅松人工林,此次研究共收集標準地73塊,標準地選在孟家崗經營區無明顯破壞的各種不同立地條件下,郁閉度在0.5以上,標準地面積均約為600 m2,標準地數據概況如下:林分年齡(27~51a),平均樹高(6~14 m),斷面積平均胸徑(8~22 cm),林分蓄積(8~276 m3/hm2),單位公頃株數(330~2 500株/hm2),地位級指數(6.5~12.7)。
3.3 實驗結果分析根據實驗方案,首先利用SPSS軟件對林分模型進行擬合,實驗結果如表1所示。
由表1可知,R2均大于0.5,其中林分平均高(TH)模型擬合效果最好,林分斷面積(BAS)模型擬合效果很好,林分蓄積量(VOL)模型擬合結果一般,但整體擬合效果較好。
按照MATLAB語法,編寫模型求解函數、模型檢驗函數和模型深度修正函數,導入黑龍江省孟家崗林場的紅松數據,進行修正,實驗結果如表2所示。
由表2可知,當實際誤差超過閾值時,需要進行深度修正,通過3倍標準差法剔除異常數據,然后重新進行模型修正,直到實際誤差值小于閾值為止,且異常數據不超過總數據的1/2,即修正成功,返回相應修正模型的參數。
3.4 Web平臺的應用通常由于林分實際數據量大,模型表2修正后的孟家崗紅松生長收獲模型參數
修正因子誤差閾值(r)實際誤差(E)最優參數(P)異常數據量/實際數據量深度修正次數結果THr=0.050.001 1k=23.4400/730成功BASr=0.050.004 2a0=28.490;a1=0.115;k0=64.968;k1=4.640;c=0.2433/731成功VOLr=0.050.034 4d0=5.910;d1=2.2560/730成功
結構復雜,普通的手工計算無法實現,因此利用功能強的MATLAB軟件對實際數據進行處理,將修正算法編寫成.m文件,利用MATLAB提供的MATLAB BuilderTM JA來實現jsp對MATLAB的調用。主要界面如圖1~3所示。
4 結論與展望
根據林分的實際數據,分別進行SPSS軟件對林分傳統模型的擬合實驗和模型修正方法實驗,得出模型修正方法對黑龍江省孟家崗實驗林場紅松人工林生長收獲模型的擬合效果更好,因此可以肯定林分生長收獲模型的修正方法是有效、可行的。修正方法應用到Web平臺上,促進了林分生長收獲模型的應用范圍,為林業工作者帶來了一定的便利。