張逸飛,曹 佳
1(北京林業大學 信息學院,北京 100083)
2(國家林業草原林業智能信息處理工程技術研究中心,北京 100083)
土壤是農業生產和人類活動中最重要的物質基礎,土壤屬性數據是分析土壤理化性質和指導農作物種植的重要參考[1].土壤pH 是土壤屬性數據中的重要部分,土壤酸堿化會影響土壤性質及微量元素的有效性,直接或間接改變土壤肥力,對植物生長發育造成影響[2].然而由于各種原因,在土壤普查的過程中存在土壤pH 缺失的情況.本文將基于數據分析的方法,研究土壤數據集的pH 缺失值的填充方法.
對于土壤屬性數據缺失的處理,國際應用系統分析協會(IIASA)的和諧世界土壤數據庫(HWSD)中采用擁有相同土壤類型的最適合的鄰居單元的土壤屬性數據來替代缺失值[3].韓光中等人運用了傳統的土壤屬性推繹模型,通過逐步回歸方法對土壤屬性建立土壤傳遞函數,插補了容重、速效養分、CEC 和氧化鐵的缺失值[4].沈漢靈運用灰色關聯系數法,挖掘土壤屬性之間的關聯關系,構建經驗公式來插補土壤鹽基飽和度[5].Gargiulo 等人使用基于條件分布模型的多元回歸方法,歸納土壤屬性數據之間的經驗公式,預測土壤屬性數據的缺失值.該方法考慮變量之間的相關性問題,在預測土壤質地、容重等屬性時表現很好,但不能很好插補pH 數據[6].專門針對土壤屬性數據pH 缺失值插補的具體研究較少.
數據缺失問題是一個常見的計算問題,常用的缺失數據處理方法是插補法,即采用一個替代值填補樣本中的缺失數據,使填補后的數據與已有數據集的分布一致.多元回歸插補法運用數據自變量與因變量之間的關系進行插補,線性插補法比均值填補法在環境數據集上填補缺失值有更優的表現[7].Schafer 在的EM(Expectation Maximization)算法的基礎上,研究了多重插補法的應用[8].隨著機器學習技術的發展,運用機器學習方法處理缺失數據近幾年引起了研究者們的廣泛關注.Jerez 等運用乳腺癌的真實數據,比較了機器學習插補法和統計學插補法,認為機器學習插補法在處理高維數據時有顯著的優勢[9].KNN 及其改進算法運用本身的K個具有完整值的最近鄰居實現對缺失數據的插補,由于操作簡單被廣泛運用[10].徐凱等將隨機森林回歸預測算法運用在地震插值中,結果表明隨機森林插補方法能夠很好補全缺失信息,而且數據差異性較小[11].吳郁等比較了Logistic 回歸、Probit 回歸、樸素貝葉斯和隨機森林方法在船舶交通事故數據集上的應用,并證明了隨機森林方法插補缺失值的精度更優[12].朱夢成等將SVM 算法應用于處理醫療數據和社會調查數據中,處理分類數據和連續型數據的缺失值[13].謝曉凱等運用BP 神經網絡建立空間結構中測點應力間、溫度與應力間的相關關系模型,并對其進行了適用性分析[14].
本文針對土壤屬性數據pH 的缺失問題,將對比多元回歸、KNN、隨機森林、SVM 和神經網絡5 個插補方法,從而選取插補正確率最高的方法.
由于土壤屬性數據中全是數值型連續變量,以下介紹多元回歸、K 最近鄰、隨機森林、支持向量機和神經網絡共五種方法插補數值型連續變量的原理,以及缺失值插補方法的評價方法.
多元回歸插補法(Multiple Regression,MR)考慮到變量之間的線性相關性,運用回歸模型預測缺失值.插補缺失數據時,引入隨機殘差項與插補值相加,作為最終插補結果,使多元回歸插補法插補的缺失數據不會扭曲樣本的分布.
K 最近鄰插補法(K-Nearest Neighbor,KNN)運用數據集中每條樣本的完整屬性,計算缺失數據樣本與完整數據樣本之間的距離.在所有完整數據樣本中,選擇與目標缺失數據樣本最小的K個數據樣本作為目標缺失樣本的最近鄰.最后利用這K個數據樣本的缺失屬性的平均值來插補目標缺失樣本中的缺失值.
隨機森林的思想是通過Bootstrap 抽樣技術,有放回的在原始訓練集上獲得N個子訓練集,然后在這N個子訓練集的基礎上分別構建回歸樹,組合得到隨機森林模型.當輸出是連續型變量時,其基礎是CART 回歸樹算法.CART 算法使用Gini 指數來度量隨機變量的不確定度的大小,以此選擇劃分屬性.
采用SVM 回歸模型插補連續型數據.SVM 回歸模型的優化問題是構造精度高、復雜性低的模擬函數來擬合真實樣本數據.模型引入損失函數來量化模型的預測值和樣本的真實值的差距,懲罰參數判斷預測模型擬合的好壞.
神經網絡(neural networks)在系統建模與非線性映射方面具有很強的適用性,因此可以認為是缺失數據插補的有效手段.在眾多的神經網絡當中,反向傳播(Back Propagation,BP)神經網絡由于其較高的穩定性和精度被廣泛運用.BP 神經網絡通過誤差反饋傳播算法,建立輸入與相應輸出之間的映射關系,從而建立缺失數據的預測模型
在進行插補方法的評價時,為了避免計算出的插補數據沒有參照,選取土壤完整屬性數據樣本中的數據,按照一定缺失比例使屬性數據pH 缺失,生成對應的缺失屬性數據樣本.其中,生成的缺失屬性數據樣本數量為N,yi表示第i條屬性數據pH 的真實值,y?i表示其插補值.
(1)擬合優度
采用決定系數R2(coefficient of determination)用于判斷真實值和插補值的擬合優度,其取值范圍是[0,1].其值越接近于1 代表變量之間有更好的擬合.決定系數的計算公式如下:

其中,SSR(Regression Sum of Squares)稱為回歸平方和,SST(Total Sum of Squares)稱為總平方和.對于簡單線性回歸而言,決定系數為樣本相關系數的平方[15],即有:

其中,σy和分別是pH 真實值和插補值的標準差.
(2)插補誤差
本文采用平均絕對誤差(Mean Absolute Error,MAE)與均方根誤差(Root Mean Square Error,RMSE)來反映了真實值與插補值之間的誤差,它們的值越小,代表插補值與真實值越接近,插補方法對數據集的插補效果越好.

在一條土壤屬性數據樣本中,如果一條樣本中包含所有監測的土壤屬性,稱為完整屬性數據樣本,否則稱為缺失屬性數據樣本.本文數據來自于中國科學院南京土壤研究所“中國主要農田生態系統土壤養分數據庫(1990-2006)”[16].本文采用該數據庫中砂粒含量、粉粒含量、容重平均值、容重標準差、有機質、全氮、全磷、全鉀和pH 共9 個屬性為分析對象,選取458 條土壤數據樣本,其中完整屬性數據樣本148 條,僅缺失pH 屬性數據樣本310 條.
本文采用交叉驗證法對土壤數據缺失數據的插補結果進行評估.在148 條土壤的完整屬性數據樣本中,通過隨機剔除屬性數據pH 的方法,以不同的比例分別構造訓練集和驗證集.例如,在完整屬性數據樣本中隨機剔除10%的屬性數據pH 產生缺失屬性數據樣本作為驗證集,其余完整屬性數據樣本為訓練集;以此再以20%,30%,40%,50%,60%和70%的比例分別構造6 對訓練集和驗證集.插補方法運用各訓練集來建立對應的缺失數據的插補模型,驗證集用來調節各方法的參數,選擇具有最小泛化誤差的模型作為最終模型.我們將310 條pH 有缺失的數據構成測試集,用來最終評估模型對缺失數據的插補效果.
采用不同的插補方法,在訓練集樣本分別建立不同的缺失值插補模型,運用對應的驗證集對方法的參數進行最優化調參.本文分別選取各方法的部分主要參數進行調節,采用網格搜索算法選出各方法的最優參數.經過調研,在KNN 方法中,調節待插補樣本的最近鄰居數量K值[17];在隨機森林方法中,調節控制生成一棵決策樹所隨機選取的屬性特征數量和最終生成的決策樹數[18];在SVM 方法中,采用RBF 核函數,調節核參數和誤差懲罰因子[19];在BP 神經網絡方法中,調節網絡的隱含層節點數量、學習速率、優化算法、最大訓練次數、dropout 比例、期望誤差和各層神經元的激活函數[20].通過在上述驗證集上訓練進行調參,得到不同方法在中國主要農田生態系統土壤養分數據庫上建立插補模型插補土壤屬性數據pH 時的最佳參數如表1.
針對中國主要農田生態系統土壤養分數據庫中屬性屬性pH 缺失的問題,在對應缺失率的驗證集上,5 個具有最優化參數的方法構造的模型所得的插補結果的平均絕對誤差MAE、均方根誤差RMSE和決定系數R2如圖1所示.

表1 不同插補方法的最優參數選擇

圖1 不同插補方法的實驗結果對比
由圖1可知,隨著缺失率的增加,KNN、隨機森林和支持向量機的插補效果均呈下降趨勢.其中,KNN和隨機森林的插補效果波動性較小.在缺失率10%~20%時,KNN 方法表現更好,在缺失率40%時,隨機森林方法表現更好,其他情況下兩方法的評價指標均較為接近.SVM 方法插補效果受缺失率影響較大,隨著缺失率的增加,該方法的插補效果越來越差.多元回歸方法插補缺失數據在缺失為40%時插補效果最優.該方法插補缺失值的表現隨著缺失率的增加,先增加后下降,此結論與文獻[7]一致.神經網絡插補效果的波動性較大,在缺失率為20%時插補效果較好.
由評價指標可知,在任何缺失率下,多元回歸、SVM和神經網絡插補屬性數據pH 時,插補能力均較弱.KNN和隨機森林方法的MAE和RMSE值都是最小,R2值都更接近于1,因此二者的插補效果都是最好的.為了進一步對比KNN 和隨機森林方法,我們對中國主要農田生態系統土壤養分數據庫中310 條pH 有缺失的測試集進行插補操作,并且將插補后的數據特征與148 條完整數據樣本進行對比,結果如表2所示.從表可見,KNN 所得插補后的均值、最大值和最小值更接近完整數據樣本更接近完整數據樣本,因此KNN 可以更靈活地插補pH 數據的最值.

表2 測試集和完整數據樣本的pH 數據特征
針對土壤屬性數據pH 缺失這個在土壤調查研究中的常見問題,本文從真實值和插補值的擬合優度和插補誤差兩個方面比較了5 種缺失數據插補方法在不同pH 缺失率情況下插補效果.實驗結果表明,多元回歸、支持向量機和神經網絡方法不適合用于插補pH數據.KNN 算法和隨機森林方法所受數據集和缺失率的影響較小,建立的模型表現穩定,兩者均適合用于土壤屬性數據pH 值的插補.