曾莎潔?陶興?張承雄
摘要:數(shù)據(jù)清洗是對臟數(shù)據(jù)進(jìn)行檢測和修復(fù)的過程,是進(jìn)行數(shù)據(jù)分析應(yīng)用的前提。對數(shù)據(jù)缺失、數(shù)據(jù)重復(fù)、數(shù)據(jù)錯誤這三種數(shù)據(jù)噪聲的檢測技術(shù)進(jìn)行詳細(xì)闡述,按照數(shù)據(jù)清洗方式對數(shù)據(jù)修復(fù)技術(shù)進(jìn)行分類概述,包括基于規(guī)則的數(shù)據(jù)清洗算法、基于統(tǒng)計的數(shù)據(jù)清洗算法和人工智能技術(shù)的數(shù)據(jù)清洗算法,并提出了基于數(shù)據(jù)中臺的數(shù)據(jù)獲取、清洗、服務(wù)架構(gòu),結(jié)合建筑領(lǐng)域數(shù)據(jù)特征進(jìn)行了算法適應(yīng)性分析,可為建筑領(lǐng)域的數(shù)據(jù)治理和應(yīng)用提供重要參考。
關(guān)鍵詞:數(shù)據(jù)中臺;數(shù)據(jù)清洗;機(jī)器學(xué)習(xí);ETL;建筑業(yè)
一、前言
在建筑業(yè),隨著BIM等數(shù)字化技術(shù)的發(fā)展,工作模式已逐漸向標(biāo)準(zhǔn)化和結(jié)構(gòu)化推進(jìn),并依托模型數(shù)據(jù)實(shí)現(xiàn)精細(xì)化管理。通過物聯(lián)網(wǎng)技術(shù)實(shí)現(xiàn)多元數(shù)據(jù)采集和傳輸,極大拓展BIM信息來源,確保數(shù)據(jù)實(shí)時、準(zhǔn)確[1]。通過云計算技術(shù)實(shí)現(xiàn)數(shù)據(jù)的分布式存儲,使項(xiàng)目不同參與方、不同業(yè)務(wù)領(lǐng)域、建筑不同階段之間的數(shù)據(jù)能夠共享與管理,提高BIM的協(xié)作能力,為共享、使用BIM數(shù)據(jù)奠定基礎(chǔ)[2]。數(shù)據(jù)挖掘技術(shù)則可以對海量數(shù)據(jù)進(jìn)行高效、深度挖掘,從而充分發(fā)揮BIM的作用[3]。比如在識別建筑典型能耗模式、建立魯棒能耗預(yù)測模型方面,數(shù)據(jù)挖掘技術(shù)相比傳統(tǒng)方法在診斷制冷空調(diào)系統(tǒng)運(yùn)行狀況方面表現(xiàn)更優(yōu)異,在處理復(fù)雜龐大的建筑運(yùn)行數(shù)據(jù)上具有很高的價值。大數(shù)據(jù)技術(shù)正帶領(lǐng)中國建筑行業(yè)向管理數(shù)字化、建造工業(yè)化轉(zhuǎn)型,而標(biāo)準(zhǔn)化、高質(zhì)量的可靠數(shù)據(jù)是這一切的重要基礎(chǔ)。因此,提高數(shù)據(jù)質(zhì)量,特別是在建筑行業(yè)中,成為提升整個行業(yè)數(shù)字化水平的關(guān)鍵步驟。
二、研究背景
數(shù)據(jù)分析的基礎(chǔ)是數(shù)據(jù)清洗。大數(shù)據(jù)的特點(diǎn)是數(shù)據(jù)體量大、數(shù)據(jù)類型多,數(shù)據(jù)質(zhì)量參差不齊,將這些臟數(shù)據(jù)有效轉(zhuǎn)化成高質(zhì)量的干凈數(shù)據(jù)是體現(xiàn)數(shù)據(jù)價值、發(fā)揮數(shù)據(jù)服務(wù)作用的保障。數(shù)據(jù)清洗可以識別和修復(fù)異常數(shù)據(jù),將異常對數(shù)據(jù)的影響降至最低,提高數(shù)據(jù)的質(zhì)量。數(shù)據(jù)清洗算法的研究最早出現(xiàn)在美國,異常數(shù)據(jù)的類型主要包括數(shù)據(jù)缺失不完整、數(shù)據(jù)有重復(fù)冗余、數(shù)據(jù)錯誤或數(shù)據(jù)之間相互沖突。數(shù)據(jù)錯誤類型也隨著大數(shù)據(jù)技術(shù)的發(fā)展、數(shù)據(jù)編碼方式的變化、數(shù)據(jù)傳輸方式的改變而增加。同時,數(shù)據(jù)清洗技術(shù)也面臨新的挑戰(zhàn),尤其是數(shù)據(jù)量的指數(shù)級增加對數(shù)據(jù)清洗效率提出了更高要求,傳統(tǒng)的數(shù)據(jù)清洗算法無法勝任大數(shù)據(jù)時代的挑戰(zhàn),尋找高效、精準(zhǔn)的數(shù)據(jù)清洗算法一直是困擾行業(yè)多年的難題。
人工智能技術(shù)的發(fā)展為數(shù)據(jù)清洗算法的研究提供了新思路。利用機(jī)器學(xué)習(xí)中的非監(jiān)督學(xué)習(xí)算法來發(fā)現(xiàn)數(shù)據(jù)清洗決策的隱含規(guī)律,可以極大降低人工標(biāo)注數(shù)據(jù)的工作量。同時,數(shù)據(jù)中臺的發(fā)展為數(shù)據(jù)的采集、清洗、運(yùn)用提供了平臺基礎(chǔ)?;跀?shù)據(jù)中臺的建筑業(yè)數(shù)據(jù)清洗算法研究被提出,將平臺、數(shù)據(jù)、算法、行業(yè)有機(jī)聚合在一起,為建筑業(yè)數(shù)據(jù)質(zhì)量的提升和運(yùn)用提供新路徑。
三、數(shù)據(jù)中臺治理現(xiàn)狀
數(shù)據(jù)中臺是集數(shù)據(jù)采集、清洗、共享、數(shù)據(jù)建模、數(shù)據(jù)管理和數(shù)據(jù)服務(wù)應(yīng)用于一體的應(yīng)用平臺。當(dāng)數(shù)據(jù)中臺中的多個數(shù)據(jù)庫匯聚的時候,表示相同實(shí)體的記錄具有不同的表示格式有可能會產(chǎn)生重復(fù)或沖突,進(jìn)而產(chǎn)生重復(fù)元組檢測和清除問題。數(shù)據(jù)清洗是識別并解決元組重復(fù)和沖突問題的方法。數(shù)據(jù)挖掘前需要實(shí)現(xiàn)數(shù)據(jù)的檢查、缺失值和異常數(shù)據(jù)檢測和校正,因此,數(shù)據(jù)清洗也是進(jìn)一步進(jìn)行數(shù)據(jù)分析或數(shù)據(jù)挖掘的基礎(chǔ)。數(shù)據(jù)中臺面向不同服務(wù)均有數(shù)據(jù)清洗的需求,但是,目前在中臺的數(shù)據(jù)清洗算法沒有進(jìn)行有效分離和整合,也沒有建立數(shù)據(jù)清洗算法庫。
四、異常數(shù)據(jù)來源分析
建筑領(lǐng)域數(shù)據(jù)質(zhì)量問題產(chǎn)生的原因可能在數(shù)據(jù)生成、傳輸、存儲的任何一個環(huán)節(jié)。錯誤值包括輸入錯誤和錯誤數(shù)據(jù)。輸入錯誤是由原始數(shù)據(jù)錄入人員疏忽而造成的。錯誤數(shù)據(jù)大多是由一些客觀原因引起的,例如,建筑工地人員的變動等[4]。異常數(shù)據(jù)是指所有記錄中一個或幾個字段間絕大部分遵循某種模式,其他不遵循該模式的記錄,例如,建筑工地噪音監(jiān)測數(shù)據(jù)超過歷史最高紀(jì)錄等。此外,由于建筑行業(yè)的特點(diǎn),項(xiàng)目人員的流動性、設(shè)計變更、返工、設(shè)備故障造成數(shù)據(jù)的不一致情況,以及計量單位的不一致、建筑地址更新等其他情況也會導(dǎo)致數(shù)據(jù)質(zhì)量問題。
五、基于數(shù)據(jù)中臺的數(shù)據(jù)清洗架構(gòu)
(一)總體架構(gòu)
基于數(shù)據(jù)中臺的數(shù)據(jù)清洗架構(gòu)由四部分組成,包括數(shù)據(jù)采集、數(shù)據(jù)存儲、數(shù)據(jù)清洗、數(shù)據(jù)服務(wù),其總體架構(gòu)如圖1所示。
(二)數(shù)據(jù)ETL
在數(shù)據(jù)中臺中,數(shù)據(jù)ETL是對包裝器和監(jiān)視器提取的數(shù)據(jù)進(jìn)行匯聚、轉(zhuǎn)換,然后形成聚合數(shù)據(jù),供后續(xù)的數(shù)據(jù)清洗使用。數(shù)據(jù)源的數(shù)據(jù)通過包裝器和監(jiān)視器抽取到數(shù)據(jù)倉庫中進(jìn)行預(yù)處理,其過程如圖2所示。監(jiān)視器監(jiān)控數(shù)據(jù)源的變化,包裝器進(jìn)行數(shù)據(jù)源數(shù)據(jù)的抽取。
(三)數(shù)據(jù)清洗
數(shù)據(jù)中臺中的數(shù)據(jù)清洗過程如圖3所示。清洗過程包括四大步驟,數(shù)據(jù)交互、異常數(shù)據(jù)檢測、異常數(shù)據(jù)修復(fù)和數(shù)據(jù)可視化。交互模塊實(shí)現(xiàn)與數(shù)據(jù)湖的數(shù)據(jù)獲取以及清洗規(guī)則的載入。異常數(shù)據(jù)檢測模塊實(shí)現(xiàn)基于檢測算法的噪聲數(shù)據(jù)檢測。異常數(shù)據(jù)修復(fù)模塊實(shí)現(xiàn)基于數(shù)據(jù)修復(fù)算法的數(shù)據(jù)修復(fù)。可視化模塊實(shí)現(xiàn)數(shù)據(jù)清洗結(jié)構(gòu)的可視化展示、與數(shù)據(jù)倉庫的交互,并最終通過數(shù)據(jù)中臺提供數(shù)據(jù)服務(wù)。
六、數(shù)據(jù)清洗算法
(一)異常值檢測與修復(fù)
1.異常值檢測
在建筑領(lǐng)域,異常值檢測是數(shù)據(jù)預(yù)處理的一個重要步驟,異常值檢測的方法包括統(tǒng)計方法Z-Score、IQR,以及機(jī)器學(xué)習(xí)方法DBSCAN和Isolation Forest共四種。
Z-Score方法基于統(tǒng)計學(xué)原理通過計算數(shù)據(jù)點(diǎn)與平均值的差除以標(biāo)準(zhǔn)差來判斷數(shù)據(jù)點(diǎn)是否為異常值。Z-Score適用于符合或近似正態(tài)分布的數(shù)據(jù)集,對于非正態(tài)分布的數(shù)據(jù),效果會下降。
IQR方法通過計算數(shù)據(jù)的第一、四分位數(shù)(Q1)和第三、四分位數(shù)(Q3)之間的距離來識別異常值。在智慧城市的交通流量監(jiān)測中,IQR可以用來識別異常的交通流量數(shù)據(jù)。例如,由于事故或特殊事件導(dǎo)致的流量突增或突減,從而幫助城市管理者優(yōu)化交通流和減少擁堵。
DBSCAN是一種基于密度的聚類算法,能夠識別出高密度區(qū)域中的核心樣本、邊界樣本和噪聲點(diǎn)(異常值)。DBSCAN特別適合處理具有復(fù)雜形狀和大小的數(shù)據(jù)集。
Isolation Forest是一種基于樹的異常值檢測算法,適用于高維數(shù)據(jù)的異常值檢測。該方法通過隨機(jī)選擇特征和隨機(jī)選擇切分值來孤立觀察值,異常值的孤立程度通常比正常點(diǎn)要高。在安全監(jiān)控和環(huán)境監(jiān)測項(xiàng)目中,Isolation Forest可以有效識別異常的監(jiān)控圖像或環(huán)境指標(biāo)讀數(shù)。例如,不尋常的溫度變化或空氣質(zhì)量突變,可能預(yù)示著火災(zāi)、污染事件或設(shè)備故障。
2.異常值修復(fù)
異常值的修復(fù)算法可根據(jù)數(shù)據(jù)的應(yīng)用場景靈活選擇,以下是常用的異常值修復(fù)算法,適用于建筑領(lǐng)域不同的應(yīng)用場景。
(1)中位數(shù)填充
使用中位數(shù)進(jìn)行填充是將一組數(shù)據(jù)從小到大進(jìn)行排列,取其中間位置的數(shù)進(jìn)行填充。若數(shù)據(jù)量為偶數(shù)個,則取中間位置的2個數(shù)的算術(shù)平均值。
在建筑成本估算或城市規(guī)劃項(xiàng)目中,中位數(shù)填充適用于處理由于缺乏完整記錄或數(shù)據(jù)收集不一致而產(chǎn)生的缺失數(shù)據(jù)。例如,若某個區(qū)域的建筑材料價格存在缺失值,鑒于價格數(shù)據(jù)可能因?yàn)闃O端市場波動而出現(xiàn)波動,使用中位數(shù)填充可以避免極端值導(dǎo)致的偏差,從而提供一個穩(wěn)定的價格估算基礎(chǔ)。
(2)眾數(shù)填充
用一組數(shù)據(jù)中出現(xiàn)次數(shù)最多的數(shù)值進(jìn)行填充。眾數(shù)填充特別適合于處理建筑和智慧城市項(xiàng)目中的分類數(shù)據(jù)(如建筑類型、設(shè)施用途等)缺失。在城市交通流量研究中,如果部分交通節(jié)點(diǎn)的類型數(shù)據(jù)(如車站、十字路口等)缺失,使用眾數(shù)填充可以確保數(shù)據(jù)的完整性,同時保持對城市交通模式分析的準(zhǔn)確性。
(3)最近鄰插值填充
最近鄰插值(K-最近鄰,KNN)填充是一種基于相似度的數(shù)據(jù)填充方法,其基本思想是找到缺失值點(diǎn)最近的K個“鄰居”,然后用這些“鄰居”的數(shù)據(jù)通過某種方式(如算術(shù)平均、加權(quán)平均等)來填充異常值。
最近鄰插值可以應(yīng)用于城市規(guī)劃和建筑設(shè)計中的空間數(shù)據(jù)處理。例如,在處理城市熱島效應(yīng)研究中的溫度數(shù)據(jù)缺失時,可以利用地理上相近區(qū)域的溫度數(shù)據(jù)進(jìn)行插值。
(4)前向/后向填充
使用缺失數(shù)據(jù)的上一條數(shù)據(jù)或下一條數(shù)據(jù)進(jìn)行處理。前向填充和后向填充適合處理建筑工程項(xiàng)目中的時間序列數(shù)據(jù),如施工進(jìn)度報告、材料供應(yīng)記錄等。在處理這類數(shù)據(jù)時,如果某一天的記錄缺失,可以假設(shè)短期內(nèi)施工進(jìn)度或材料需求變化不大,因此使用前一天或后一天的數(shù)據(jù)進(jìn)行填充是一種實(shí)用的方法。
(5)回歸法填充
根據(jù)已有數(shù)據(jù)和與其有關(guān)的其他變量的數(shù)據(jù)建立擬合模型來預(yù)測異常的數(shù)值,根據(jù)數(shù)據(jù)建立一個回歸模型,然后使用這個模型來預(yù)測缺失數(shù)據(jù)的值。這種方法特別適合于數(shù)據(jù)之間存在明顯線性或非線性關(guān)系的情況。
回歸法填充適用于數(shù)據(jù)分析類情況,特別是當(dāng)數(shù)據(jù)之間存在明顯的相關(guān)性時。例如,在分析城市能耗模式時,如果某些建筑的能耗數(shù)據(jù)缺失,可以基于建筑面積、使用人數(shù)、建筑類型等其他變量建立回歸模型來預(yù)測缺失的能耗數(shù)據(jù)。這種方法可以幫助城市規(guī)劃者和建筑設(shè)計師更準(zhǔn)確地理解能耗分布,進(jìn)而制定更有效的能源管理策略。
(6)幾何平均值填充
幾何平均值是所有數(shù)值乘積的n次方根,用于不同數(shù)量級的數(shù)值的平均,如增長率。幾何平均值填充適用于處理成倍增長或減少的數(shù)值數(shù)據(jù),特別是當(dāng)數(shù)據(jù)分布偏斜或需要計算平均增長率時。例如,在分析一系列建筑材料成本的年增長率時,如果部分年份的數(shù)據(jù)缺失,使用幾何平均值填充可以更準(zhǔn)確地估計長期趨勢,因?yàn)樗軌虺浞挚紤]到數(shù)據(jù)的乘性增長特性。
(7)調(diào)和平均值填充
調(diào)和平均值是一組數(shù)值倒數(shù)的算術(shù)平均值的倒數(shù),適用于計算平均速率。調(diào)和平均值填充適合于處理速率或比例相關(guān)的數(shù)據(jù)缺失,特別是當(dāng)數(shù)值不能簡單通過算術(shù)平均來代表整體時。在交通流量分析中,如果某個時間段內(nèi)的車輛平均速度數(shù)據(jù)缺失,使用調(diào)和平均值填充可以更準(zhǔn)確地反映車流的平均速度,尤其是在交通狀況復(fù)雜、速度變化大的情況下。
(8)加權(quán)平均值填充
加權(quán)平均值是每個數(shù)值乘以一個權(quán)重,然后加總的結(jié)果除以權(quán)重的總和,適用于不同數(shù)值有不同重要性的場合。加權(quán)平均值填充考慮了不同數(shù)據(jù)點(diǎn)的重要性或可靠性差異,適用于數(shù)據(jù)點(diǎn)具有不同權(quán)重的場景。在建筑能耗分析中,如果缺失某些時段的能耗數(shù)據(jù),可以根據(jù)不同時段(如白天和夜間)的能耗特性和重要性,使用加權(quán)平均值進(jìn)行填充。這種方法特別適合于需要區(qū)分?jǐn)?shù)據(jù)貢獻(xiàn)度或重要性的復(fù)雜分析場景。
(二)缺失值檢測與修復(fù)
缺失值檢測的目標(biāo)是識別數(shù)據(jù)集中的缺失值,可以使用python中的isnull()和notnull()函數(shù),或者Java中自定義if (value == null)代碼實(shí)現(xiàn)缺失值的檢測。缺失值的修復(fù)算法與異常值的修復(fù)算法相同。
(三)重復(fù)數(shù)據(jù)檢測與修復(fù)
重復(fù)數(shù)據(jù)可能由于數(shù)據(jù)錄入錯誤、數(shù)據(jù)集成過程中的重疊產(chǎn)生。重復(fù)數(shù)據(jù)處理方法包括基于規(guī)則的重復(fù)檢測和基于相似度的方法。
1.基于規(guī)則的重復(fù)檢測
基于規(guī)則的方法通過定義一組規(guī)則來識別重復(fù)記錄。這些規(guī)則通?;陉P(guān)鍵字段的匹配。例如,姓名、地址或其他唯一標(biāo)識符。此方法的關(guān)鍵在于精確地定義哪些字段組合能夠唯一標(biāo)識一個記錄,并據(jù)此檢查數(shù)據(jù)集中的重復(fù)項(xiàng)。
基于規(guī)則的重復(fù)檢測應(yīng)用場景,比如供應(yīng)鏈管理,建筑項(xiàng)目通常涉及大量的材料供應(yīng)商和子承包商。通過定義明確的規(guī)則(如供應(yīng)商名稱、合同編號)來識別和合并供應(yīng)鏈數(shù)據(jù)庫中的重復(fù)記錄,可以確保材料采購和供應(yīng)鏈管理的準(zhǔn)確性,避免重復(fù)下單或支付。
2.基于相似度的方法
基于相似度的方法更加靈活,能夠識別在表面上不完全相同但本質(zhì)上重復(fù)的記錄。該方法通常使用文本相似度算法來計算記錄間的相似度得分,并根據(jù)這個得分來判定記錄是否重復(fù),包括Jaccard相似度、余弦相似度、Levenshtein距離。
七、結(jié)語
數(shù)據(jù)中臺的建設(shè)為數(shù)據(jù)的獲取、數(shù)據(jù)匯聚、數(shù)據(jù)服務(wù)打通了數(shù)據(jù)鏈路,數(shù)據(jù)清洗算法為數(shù)據(jù)質(zhì)量提升、數(shù)據(jù)挖掘、數(shù)據(jù)應(yīng)用提供了根本保障,基于數(shù)據(jù)中臺的數(shù)據(jù)清洗算法研究成果為建筑業(yè)數(shù)字化轉(zhuǎn)型提供了重要參考和理論技術(shù)支撐。鑒于數(shù)據(jù)總量的持續(xù)增長,以及數(shù)據(jù)質(zhì)量問題的多元化,未來的研究將不斷探索更高效的數(shù)據(jù)清洗算法,以應(yīng)對日益復(fù)雜的數(shù)據(jù)質(zhì)量問題,數(shù)據(jù)清洗算法的研究將會是持續(xù)發(fā)展和深化的過程。
參考文獻(xiàn)
[1] BARACHO R M A, PEREIRA M L, ALMEIDA M B. Ontology, internet of things, and building information modeling (BIM): an exploratory study and the interrelations between technologies [C]//Proceedings of the IX Seminar on Ontology Research in Brazil and I Doctoral and Masters Consortium on Ontologies. Brazil: Universidade Federal do Rio Grande do Sul, 2017: 141-146.
[2] DING L, XU X. Application of cloud storage on BIM life-cycle management [J]. International Journal of Advanced Robotic Systems, 2014, 11(1): 1-10 .
[3] BILAL M, OYEDELE L O, QADIR J, et al. Big data in the construction industry: a review of present status, opportunities, and future trends [J]. Advanced Engineering Informatics, 2016, 30(3): 500-521.
[4]張承雄.一種基于層次分析法的建筑領(lǐng)域大數(shù)據(jù)質(zhì)量評價指標(biāo)體系及評價模型研究[J].建筑科技,2023,7(02):73-78.
基金項(xiàng)目:上海市社會發(fā)展科技攻關(guān)項(xiàng)目“面向新城建設(shè)運(yùn)營的數(shù)字協(xié)同與綜合決策關(guān)鍵技術(shù)及示范”(項(xiàng)目編號:22dz1201500)
作者單位:曾莎潔、張承雄,上海市建筑科學(xué)研究院有限公司、上海市工程結(jié)構(gòu)安全重點(diǎn)實(shí)驗(yàn)室;陶興,中國建筑土木建設(shè)有限公司
責(zé)任編輯:張津平、尚丹