梁驍 張明 覃琳

【摘 要】自黨的十八大以來,黨中央對脫貧攻堅工作進行了新的部署,提出減少貧困人口、為貧困縣摘帽、解決區域性整體貧困,是建設小康社會的底線工作,是黨對人民的承諾,必須言必信、行必果。脫貧攻堅已作為政府重點突破的工作之一,而通過大數據技術手段分析各類扶貧數據,制定有效的扶貧策略,對提高政府脫貧攻堅成效具有重大意義。文章提出了一種利用機器學習分析貧困戶數據的方法,旨在為建設扶貧攻堅大數據分析平臺及精準識別貧困戶工作提供支持。
【關鍵詞】貧困人口;機器學習;隨機森林;數據分析
【中圖分類號】TP181 【文獻標識碼】A 【文章編號】1674-0688(2017)05-0039-03
1 貧困人口判別標準
根據2011年11月29日中央扶貧開發工作會議提出的標準,我國扶貧標準為人均純收入2 300元。此標準逐年調整,至2016年調整為3 000元。但實際工作中僅僅考慮人均純收入并不科學,還應把包括但不限于地方政策、社會環境、技術環境、經濟環境的諸多因素作為判斷的參考。
根據各地相關政策,可把以下示例指標作為貧困人口判別的部分參考標準:是否在城鎮有購買商品房;是否擁有多處房產;是否擁有商鋪;是否經營私人企業;是否有轎車、高檔摩托車、高檔冰箱、空調、電腦等高檔消費品;是否有大中型農業機械、加工機械、工程機械、運輸工具;家庭成員中是否有人是現任公務員或事業單位在編人員;家庭成員中是否有自費出國留學人員;家庭成員中是否有購買商業養老保險人員;是否種養大戶或長期雇傭他人從事生產經營活動。更詳細的貧困人口判別標準和不得列入貧困人口的標準參照各地實際實施的政策。
2 數據分析過程
為了實現自動、準確、高效地分析貧困戶數據,引入機器學習技術能夠發揮重要作用。簡單來說,機器學習的過程就是使用大量數據信息對學習系統進行訓練的過程。在這一過程中,系統根據獲取的信息完成模型建立、模型訓練等步驟,最終找到問題的最優或次優解。利用機器學習進行貧困人口識別分析要經過以下過程。{1}數據采集。盡可能地收集貧困人口數據,收集的廣度和深度都會影響分析模型的準確度。數據量越大涉及的細節越細,則模型分析的準確度就越高。{2}數據預處理。清洗和整理數據集,提高數據集的有效性。{3}特征庫構建。關聯數據集中的主屬性和分支屬性,形成多維度的特征庫。{4}特質篩選排序。分析特征的重要性,選取重要性高的特征形成模型的訓練集。{5}生成模型。根據實際工作需要設計分析模型。{6}訓練模型。將訓練集輸入分析模型,得到最終完成訓練的模型。{7}應用分析。獲得了最終完成訓練的分析模型就可以將其應用在貧困人口識別分析軟件或相關平臺上,對其中的貧困人口數據進行處理。
3 數據采集
根據各地扶貧工作實際情況的不同,可把以下數據收集納入分析模型進行精準分析和有效運用。
(1)下鄉扶貧工作中建檔立卡采集的數據。這是分析工作所需的最基礎的數據,根據這些數據能夠獲得基本的分析結果,但精度上難以達到精準識別的要求,仍需要更多的數據來提高分析精度。
(2)國土、公安、住建、工商、財政、編辦、國稅等部門的信息。這部分數據很重要,尤其是其中一些關鍵特征會直接影響對貧困戶的分析評價結果。這些外聯數據越詳細、越準確,分析的結果也越準確。
(3)互聯網數據。這部分數據的主要關注點在于貧困戶以個人或組織的身份在互聯網上的行為,如參與互聯網金融商業活動的信息、網上交易信息等。這些信息能夠在一定程度上反映該戶人口的財務狀況,為判定其貧困與否提供線索。
4 數據預處理與特征庫構建
對采集到的數據進行清洗和整理,清洗內容包括編寫數據的計算邏輯,處理異常值、缺失值,將有效結果輸出或者直接編寫數據去除和整理邏輯函數,然后將這些邏輯運算打包成分布式任務進行分布式計算,最后得到對業務有價值的數據源。
貧困戶信息特征庫由農戶數據和外聯數據2個部分組成。在數據挖掘的初始階段,在各類源數據中抽取足夠多維度的相關信息進行特征庫的構建。首先,抽取農戶數據中的人物屬性數據(戶主姓名、住址、家庭成員姓名及與戶主關系等)和資產屬性數據(財產、家庭年收入、房屋結構、裝修情況等)。其次,根據人物屬性數據關聯各單位部門的外聯數據。例如:{1}以人物屬性作為主字段關聯車管所信息,得到戶主及家庭成員、直系親屬的所屬車輛信息(車輛品牌、類別、價值、年限等)。{2}以人物屬性作為主字段關聯教育部門信息,獲取戶主及家庭成員、直系親屬的教育程度、受教育時間、技能培訓等信息。{3}以人物屬性作為主字段關聯工商局系統,獲取戶主及家庭成員、直系親屬名下的注冊商鋪信息。{4}以人物屬性作為主字段關聯銀行數據系統,獲取存款、名下信用卡、刷卡消費等信息。{5}以人物屬性作為主字段關聯幫扶需求數據,獲取主要致貧原因、次要致貧原因、“一主兩輔”幫扶需求、幫扶措施、幫扶單位、幫扶責任人及其聯系電話等信息。以此得到一個關于“貧困戶”的1*n維的信息特征庫,該特征庫包含所有和“貧困戶”直接相關或間接相關的信息。此步驟的關鍵要點在于以下2個方面:結合業務特性抽取盡量多的字段信息來構建特征庫;各貧困戶的特征維度需要保證一致性。
5 特征篩選排序
特征篩選與排序的目的是從貧困戶信息特征庫中篩選出有代表性的特征信息,這些特征信息可以有效地衡量單個貧困戶的貧困程度,同時降低精準識別模型數據的復雜度。隨機森林是一個包含多個決策樹的分類器,它有一個特性就是在決定類別時,能夠評估變量的重要性?;诖颂卣?,可以使用該方法完成特征的排序,并選擇排名靠前的m個特征作為模型訓練的訓練集。
5.1 建立隨機森林
建立隨機森林時,要對輸入的數據進行行采樣和列采樣。行即是數據集中的樣本,列即是樣本的特征(見表1)。在進行行采樣時,采取有放回的采樣方式降低過度擬合出現的可能:假設輸入樣本集包含樣本數量為M個,則作為決策樹根節點的采樣樣本數量也應為M個,這使得每一顆決策樹包含的樣本都不是樣本集的全集。在進行列采樣時,當樣本有T個特征,則在分裂決策樹的節點時,從樣本的T個特征里隨機選擇t個,并且t<
5.2 特征篩選排序
通過對每一顆決策樹應用袋外數據并加入干擾數據,可以測算特征的重要性程度。對多個特征隨機加入干擾數據之后觀察袋外準確率的變化,哪個特征在被影響后導致袋外準確率下降的幅度比其他特征更大,則說明該特征的影響力更大,重要性更高。將袋外數據誤差記為errA,將加入干擾數據后再次計算的袋外數據誤差記為errB,而一個隨機森林中決策樹的數量為N,則可以計算某個特征的重要性:
VI=■(errB-errA)/N
對特征按照重要性計算結果降序排列,并排除一定比例不重要的特征。用剩余特征再次建立新隨機森林,再次計算選擇重要性高的特征,排除重要性低的特征,如此循環直到剩余的特征數量達到預設的m個。
6 生成和訓練數據分析模型
貧困戶的精準識別一般采用分類算法,考慮到貧困戶信息特征庫中所使用的特征信息與貧困程度存在一定的相關性,一般采用決策樹類算法模型。XGBoost算法是一種高效并被廣泛應用的機器學習算法。它具備一般決策樹的優點,并能夠并行化實現,對于海量數據處理所需的資源也遠遠低于一般的算法。
XGBoost相比于傳統GBDT在防止過擬合方面有很大的提升。而在分布式算法方面,XGBoost可以分布在不同機器內執行多個特征計算,最后進行結果匯總,從而具有分布計算的能力。在非分布式計算環境下,XGBoost也可以自動利用CPU進行多線程并行計算,同時由于其改進的算法又獲得了相較傳統GBDT更高的精度。
模型訓練的過程是通過根據指定規則或其他方式定義的已人為確認的貧困戶樣本(該樣本數量越多,訓練出的模型越準確),并關聯到篩選后的貧困戶信息特征庫中,得到訓練樣本,并將該訓練樣本加上貧困戶的定義標簽,輸入到XGBoost模型中進行訓練,得到由多個相同深度的決策樹組成的分類器即貧困戶精準識別模型。
通過參數調整即調整決策樹的深度等參數值來調整模型的精度(重要的調整參數見表2),此過程中通過觀察預測的精確值和ROC(AUC)值進行評估;可以對訓練樣本采用交叉驗證的方式,通過觀測預測的精確值和ROC(AUC)值選擇出訓練樣本最優的模型。利用此模型即可對貧困人口數據進行挖掘分析,篩選出符合標準的貧困人口數據。
7 結語
目前,經過多年的扶貧開發,相關扶貧數據已有一定量的積累,尤其在國家“精準扶貧、精準脫貧”戰略工程的推動下,全國各地紛紛加大力量推進精準扶貧工作,加大對貧困地區人口信息、產業資源等數據采集。把機器學習技術引入扶貧領域,促進數據分析技術與脫貧攻堅融合,利用機器學習和數據分析領域的研究基礎和技術成果,研究脫貧攻堅數據建模分析、可視化展示等關鍵技術與應用模式,將在推進脫貧攻堅工作及大數據產業發展方面帶來顯著效果。
參 考 文 獻
[1]程開明.統計數據預處理的理論與方法述評[J].統計與信息論壇,2007(6).
[2]方匡南,吳見彬,朱建平,等.隨機森林方法研究綜述
[J].統計與信息論壇,2011(3).
[3]路翀,徐輝,楊永春.基于決策樹分類算法的研究與應用[J].電子設計工程,2016(18).
[4]楊靜,張楠男,李建,等.決策樹算法的研究與應用[J].計算機技術與發展,2010(2).
[5]董師師,黃哲學.隨機森林理論淺析[J].集成技術,2013
(1).
[6]莫光輝.大數據在精準扶貧過程中的應用及實踐創新[J].求實,2016(10).
[責任編輯:鐘聲賢]