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