摘"要:不同領域的數據融合技術具有顯著差別,經濟社會領域的數據主要表現為電子表格形式,又不同于關系型數據庫當中的數據表。為了實現經濟社會領域的常規融合需求的自動化,對經濟社會領域當中三種數據融合需求進行了總結,探討了各種類型融合的常用算法及其對應的R語言程序包,在此基礎上提出了經濟社會領域數據融合系統的框架結構。根據實踐經驗總結了JAVA與R語言兩種語言聯合開發數據融合系統的實現方案,給出連接這兩類語言的關鍵技術接口。
關鍵詞:數據融合;數據挖掘;R語言;JAVA語言
中圖分類號:F22;TP391""文獻標識碼:A"文章編號:1005-6432(2025)10-0005-04
DOI:10.13939/j.cnki.zgsc.2025.10.002
1"引言
隨著信息技術的快速發展,各個領域的數據呈幾何級數快速增長,數據共享、數據融合以及數據挖掘技術受到了前所未有的重視。來自不同采集設備、不同來源的融合數據,比來自單一渠道的數據具有更大的挖掘價值。數據融合技術在20世紀70年代最初應用于機器人和國防領域[1],近年來,數據融合的相關技術快速發展,其在航天、交通、醫療、金融、市場營銷等領域得到了廣泛應用。
數據融合(data"fusion)是對不同數據進行融合操作的統稱,數據合并(merging)、組合(combination)、協合(synergy)、集成(integration)等操作均屬于數據融合的研究范疇[2]。具體到特定領域,數據融合的內容和方法具有很大差別[3-7]。在經濟和社會科學研究領域,數據最終以各種表格的形式呈現,其常見的存儲方式主要是Excel以及關系型數據庫。數據融合的主要操作是增加數據表格的行或者列、插補數據單元格的缺失值。對數據進行融合的方法包括統計估計、機器學習的相關方法[8]??梢?,經濟和社會領域的數據融合主要用來解決數據樣本量的擴充、數據變量的增加以及缺失數據的插補問題,最終降低調查的成本,最大限度發揮已有數據的價值。
已有研究對工程和信息領域的數據融合技術進行了深入研究[9-10],但是經濟社會領域數據融合面臨的問題仍需要進一步探討。目前,經濟社會領域數據融合主要是由精通數據處理的專業人員進行,市場上尚未見到相關數據融合處理的通用軟件。因此,對于定期調查產生的流量數據集,已有的數據融合方案難以在新第一期數據到來時實現自動化處理。文章對經濟社會領域數據融合的類型以及關鍵技術進行分類和研究,提出了經濟社會領域數據融合平臺的設計框架與實現方法。
2"經濟社會領域數據融合需求分類
數據融合的任務是將若干獨立的數據庫整合為一個數據庫。考慮最簡單的情形,即數據融合過程涉及兩個數據集,其中需要被擴展的數據集通常稱為接受集,包含對接受集進行擴展所需要信息的數據集通常稱為貢獻集。兩個數據集中的相同變量稱為共同變量,僅存在于貢獻集中的變量稱為特殊變量[11]。
在經濟社會領域,數據融合的需求主要劃分為三種類型:Ⅰ型、Ⅱ型和Ⅲ型融合。為了便于理解,假定兩個數據庫S1、S2分別代表接受集和貢獻集,B表示數據庫S1、S2的共同變量,A表示數據庫S1的特殊變量,C表示數據庫S2的特殊變量。數據庫S1、S2的數據量大小可以不相等。三種類型的數據融合需求如下。
Ⅰ型數據融合通常表現為所需調查結果為數據庫S1(接受集),但由于數據庫部分信息(C)缺失或未知,需要通過與S1具有共同變量的數據庫S2(貢獻集)中挖掘共同變量與所需變量之間關系,并根據該關系“填補”出數據庫S1所需要的信息,如圖1所示。
圖1"Ⅰ數據融合需求
Ⅱ型數據融合表現為所需調查結果為數據庫S1、數據庫S2,但兩個數據庫均存在信息缺失問題,且所缺失信息恰好是另一數據庫具有的特殊信息。這類型數據融合需要先利用數據庫S1中特殊變量和共同變量之間關系,填補出數據庫S2中所需信息A;然后再根據數據庫S2中特殊變量與共同變量關系,將數據庫S1所需的信息C補充完整。最后再將兩個數據庫合并,如圖2所示[12]。
圖2"Ⅱ型數據融合需求
Ⅲ型數據融合表現為所需調查結果為數據庫S1,但由于樣本量不足等原因需要加入數據庫S2的部分數據擴大數據量,且數據庫S2中所需信息有缺失或未知。該類型數據融合,需要先按照數據庫S1的樣本配額要求從數據庫S2篩選出滿足要求的單元構成接受集,再利用數據庫S1中共同變量和特殊變量關系對接受集的信息補充完整。最后將補充好的數據與數據庫S1合并,如圖3所示。
圖3"Ⅲ型數據融合需求
3"經濟社會領域數據融合算法及其R程序包
由于接受集與貢獻集當中數據的調查對象不同,兩個集合的融合無法照搬計算機領域當中關系型數據庫的常用處理方式,即無法使用數據表的主鍵和外鍵進行數據表的連接。因此,經濟社會領域數據融合主要依靠統計學以及數據挖掘的相關方法,包括K最近鄰法(K-nearest"neighbor)、回歸模型(regression"model)、決策樹(decision"tree)、隨機森林(random"forests)以及支持向量機(SVM)等五種常用數據建模方法[13]。
3.1"K最近鄰法
K最近鄰法是最簡單的統計方法之一,多運用于分類問題,把樣本點劃分到訓練集當中,是K個最近的鄰居多數屬于的類別。
在數據融合過程中,主要用于針對每一個接受集樣本點(設為i),找出與其每一個共同變量B最近鄰的K個貢獻集樣本(該樣本集設為Si),再以樣本集Si中特殊變量C的平均值作為該樣本點i的相應融合變量C的取值,以此完成接受集的數據融合過程。K最近鄰法的運用重點在于“距離”的定義和計算,對于定量與定性變量需注意區分對待。K最近鄰法的優點是簡單易懂,可行性高。但是由于每個樣本點都需要計算近鄰,當數據集記錄數量較大時,K最近鄰法的計算量較大。在R語言中,“class”程序包提供了實現K最近鄰法的相關函數。
3.2"回歸模型
回歸模型是經典的統計建模方法,其在經濟和社會科學領域應用十分廣泛,回歸模型的形式較多,但是共同的實質是確定兩個及以上變量間定量關系的一種統計分析方法?;貧w模型應用到數據融合的兩個步驟如下。
第一步:以貢獻集中的共同變量B為解釋變量,特殊變量C為被解釋變量建立回歸模型;第二步:將接受集的共同變量B作為解釋變量取值代入已建立模型,計算出接受集中融合變量C的取值,從而完成融合過程。使用回歸模型進行數據融合的關鍵點是根據數據的特點選擇恰當的回歸模型,同時根據專業領域的相關理論選擇解釋變量。
在R語言當中,“stats”程序包提供了簡單線性模型函數“lm”、廣義線性回歸模型函數“glm”以及非線性回歸函數“nls”?!皅uantreg”程序包提供了分位數回歸的相關實現函數?!皉idge”程序包提供了實現嶺回歸的實現函數“linearRidge”。“lars”程序包提供了實現LASSO回歸模型的函數。
3.3"決策樹
決策樹和K最近鄰法的基本應用領域相近,均為分類問題。在數據融合操作中,首先以貢獻集中的共同變量B為解釋變量,特殊變量C為被解釋變量,建立分類樹模型。然后將接受集的共同變量B作為解釋變量取值代入分類樹模型,計算得到接受集中融合變量C的取值,從而完成融合過程。決策樹的生成是一個遞歸過程,從根節點開始,使用算法(如ID3、C4.5或CART)逐步分裂節點。為了避免過擬合并提高模型的泛化能力,采用剪枝技術來簡化決策樹。R語言當中“rpart”程序包提供了實現決策樹模型的相關函數。
3.4"隨機森林
在分類樹分類器原理基礎上,現已發展出Bagging、Adaboost、隨機森林等衍生分類器。隨機森林算法通過構建多棵決策樹來進行分類和預測,其原理類似于單一決策樹,區別在于它依賴多個決策樹分類器的集成而非單一分類器。
隨機森林算法具有以下優點:能夠提高分類準確率的同時避免模型過擬合現象的出現;能夠評估分類問題中解釋變量的重要性;當數據集中存在大量的噪聲時,具有較強的穩健性。R語言的“mlbench”和“randomForest”程序包提供了實現隨機森林算法的相關函數。
3.5"支持向量機
支持向量機是經典的數據分類工具,其在數據融合中的具體應用可參考上文介紹的決策樹方法。支持向量機是從數據線性可分情況下的最優分類面發展而來的,其基本思想如圖4所示。
圖4"支持向量機示意
圖4展示了支持向量機算法,其中實心點和空心點表示不同類別的樣本。H是分類界線,H1和H2是與H平行且分別靠近兩類樣本的直線,定義了分類間隔。最優分類旨在正確區分兩類樣本并最大化這個間隔。R語言的“e1071”程序包提供了實現支持向量機算法的相關函數。
4"數據融合系統技術框架與實現技術
為了實現數據融合算法的可重用性,在新的一期調查數據收集完成之后方便地執行具有相同需求的數據融合操作,開發一套數據融合系統是最佳選擇。用戶只需要選擇相應的數據接受集、貢獻集以及相應的融合參數,便能夠實現數據的自動融合操作。
4.1"系統技術框架
數據融合系統包含三層架構,分別是數據層、融合算法層以及用戶層。具體技術框架如圖5所示。
圖5"數據融合系統框架
4.1.1"數據層
數據層存儲了需要融合的數據、問卷以及數據規則的說明,數據庫可以是關系型數據庫,也可以是Excel形式的電子表格數據。
4.1.2"融合算法層
融合算法層是執行數據融合操作的核心模塊。其中規則生成模塊根據用戶選擇的融合算法,例如上文介紹的回歸模型、決策樹等算法,然后使用貢獻集或者接受集的數據估計算法模型參數,建立數據融合模型。
規則預測模塊根據建立的數據融合模型,挖掘貢獻集合以及接受集的信息,預測出所需要的數據變量、數據記錄以及數據缺失值。
邏輯修正模塊對融合得到的數據進行邏輯檢查、標識或者修正融合數據的邏輯錯誤。例如,問卷調查中問題的跳轉比較常見,問題“是否曾喝過咖啡”的回答取值為0,即沒有喝過,但問題“最喜歡以下哪個品牌的咖啡”融合后的取值非空。類似的邏輯錯誤需要檢查修正。
4.1.3"用戶層
用戶層主要讓數據融合操作者完成融合需求的定義和融合模型算法的選擇。其中數據管理模塊完成數據的連接、導入以及查詢等操作。融合管理模塊主要向用戶提供融合需求以及融合算法的選擇接口,選擇的內容包括上文介紹的三大類融合需求以及融合算法。在確定融合需求以及算法之后,變量選擇模塊向用戶提供融合算法模型相關變量的選擇接口。
4.2"系統實現關鍵技術
為了實現系統的可擴展性、提高系統的開發效率,采用JAVA和R語言開發數據融合系統是理想的技術搭配。其中用戶層的開發使用JAVA語言的用戶界面集成開發工具Netbeans,而融合算法層使用R語言開發。
R語言包含實現經濟社會領域數據融合常用算法的程序包,使用R程序包能夠很方便地把最新的數據融合算法加入數據融合系統當中,而無須從底層開始編寫融合算法。JAVA語言正好能夠彌補R語言在開發用戶界面方面的不足,JAVA提供了調用R語言的接口(有“JRI.jar”“JRIEngine.jar”“REngine.jar”三個JAR包)。
由此可見,可以通過JAVA語言編寫數據融合操作界面,然后調用R語言程序包的函數來實現數據融合的可視化界面操作。
5"結論
由于不同領域的數據表現形式具有很大差別,經濟社會領域的數據主要以電子表格的形式呈現,其融合方法與由各類傳感器收集的聲音、圖像、溫度、濕度等數據的融合方法顯著不同。
經濟社會領域數據融合的需求主要歸納為三大類:Ⅰ型、Ⅱ型和Ⅲ型融合。融合需求的分類總結為后續數據融合系統的開發,實現數據融合的可視化、自動化奠定基礎。經濟社會領域數據融合的主要算法主要包括K最近鄰法、回歸模型、決策樹等數據挖掘方法,數據處理領域的重要語言R提供了實現這些算法的程序包。但是,R語言無法編寫數據融合的用戶接口,相對于其他語言,JAVA的Netbeans對開發用戶接口具有顯著優勢。
因此,使用JAVA開發數據融合系統的用戶層,使用R開發數據融合系統的算法層,通過JAVA的R接口連接用戶層和融合算法層,完成數據融合平臺的關鍵技術整合,由此實現經濟社會領域數據融合的程序化與自動化。
參考文獻:
[1]祝振媛,李廣建.“數據—信息—知識”整體視角下的知識融合初探——數據融合、信息融合、知識融合的關聯與比較[J].情報理論與實踐,2017,40(2):12-18.
[2]楊華,林卉.數據融合的研究綜述[J].礦山測量,2005(3):24-28.
[3]郭春霞.大數據環境下微信公眾平臺非結構化數據融合研究[J].現代情報,2015,35(8):141-143.
[4]王華東,王大羽.蝙蝠算法優化神經網絡的無線傳感器網絡數據融合[J].激光雜志,2015,36(4):164-168.
[5]孟小峰,杜治娟.大數據融合研究:問題與挑戰[J].計算機研究與發展,2016,53(2):231-246.
[6]周振華.基于激光視覺數據融合的三維場景重構研究[J].自動化與儀器儀表,2016(12):10-12.
[7]田野,張靜蓓.基于詞袋模型的關聯數據融合算法改進研究[J].圖書館雜志,2016(12):17-22.
[8]VAN"DER"PUTTEN"P,KOK"J"N,GUPTA"A.Data"fusion"through"statistical"matching[R].MIT"Working"Paper,No.434202,2002.
[9]SIDEK"O,QUADRI"S"A.A"review"of"data"fusion"models"and"systems[J].International"journal"of"image"and"data"fusion,2012,3(1):3-21.
[10]胡偉,趙文會.基于時間窗口和自適應加權的能源互聯網數據融合方法[J].系統管理學報,2016,25(5):907-913.
[11]RIDDER"G,MOFFITT"R.The"econometrics"of"data"combination[J].Handbook"of"econometrics,2007,6b(7):5469-5547.
[12]PUTTEN"P"W"H"V"D.On"data"mining"in"context:cases,fusion"and"evaluation[J].Computer"science,2010(19):87-95.
[13]KUBAT"M.An"introduction"to"machine"learning[M].New"York:Springer"International"Publishing,2015:87-107.