?

一種面向傳感云的數據源質量評估框架

2019-05-16 01:39
智能計算機與應用 2019年2期
關鍵詞:數據源化簡度量

王 琳

(哈爾濱工業大學計算機科學與技術學院,哈爾濱150001)

0 引 言

劣質數據會嚴重影響各類數據驅動的服務的質量。近年來,數據質量的研究受到了人們的廣泛關注[1-2]。在一些多數據源的應用中,如無線傳感器網絡和物聯網,每個實體的值通常會在不止一個數據源處得到提供,但來自不同數據源的數據卻存在著偏差。數據質量控制是基于傳感器的系統中需要解決的重要問題之一[3]。當前,隨著傳感云(sensor-cloud)[4]的興起,在很多場景下,人們更傾向于將傳感器的數據傳至云端處理。這樣云端便累積了大量的歷史數據?;谶@些歷史數據,并借助云服務的計算能力,就可以評估數據源的質量,從而,當同一實體的來自不同數據源的數據存在偏差時,可以根據數據源的質量來確定哪些數據可被進一步用于數據分析和回答查詢。

傳感云環境下,數據源的質量評估可以帶來下述2方面的收益。首先,如果能夠預先知道數據源質量,可以在傳感器推送數據至云端、云端將數據存入數據庫時做出質量標記(可以類比為店鋪信用),在之后的應用中,如果需要快速返回一個查詢結果,就可以無需再遍歷所有數據,而直接讀取高質量的數據源的數據來回答查詢。研究可知,遍歷和計算需要花費的時間和消耗的計算資源均要高于直接讀取數據,因此當查詢頻繁到達時,該方式可以節省大量資源。其次,如果應用或查詢需要即時從傳感器中提取數據,那么在獲知數據源質量之后,提取數據時將可直接忽略低質量的數據源,這樣不僅可以避免劣質數據污染查詢結果,而且也可以節省網絡帶寬等資源;甚至,還可以不要求全部傳感器都返回結果,而是直接要求在當前場景下會返回高質量數據的某一個數據源返回數據,此時的其它節點就不用采集和返回數據,如此也可以有效節省能源。

這里,研究還給出了一個傳感器網絡中數據源質量評估的具體示例,詳情如下。

例1圖1所示為不同時刻3個數據源關于3種污染物指數的測量值,其中列名k_pm1、k_pm25、k_pm10表示k號數據源返回的pm1、pm2.5和pm10的測量值,t列表示時刻。假設有多個數據源,為了簡便,選取3種污染物指數,在不同時刻的均值如圖2前三列所示,數據源測得污染物指數與均值的最大絕對偏差值如圖2后三列所示。對圖1中的每個值,研究采用相對偏差作為數據質量的度量。設值v對應的屬性為A,則v的相對偏差=1-abs(vavg_A)/d_A,其中avg_A和d_A分別為屬性A的均值和最大絕對偏差。同時,研究也對圖1中的每個值都計算數據質量,得到的質量評分結果如圖3所示。

圖1 原始數據集Fig.1 The raw data set

圖2 各屬性平均值和最大絕對偏差Fig.2 The average and maximum absolute deviation of every attribute

圖3 質量分值結果Fig.3 The result of quality score

從圖3中可以直觀看出,不同數據源的質量存在著明顯的差異。例如,對1號數據源來說,其數據在0時刻3個屬性的值的質量均較好,在1~3時刻pm1屬性值較好,但pm25和pm10屬性值的質量較為一般,在4時刻3個屬性值的質量均不理想。對2號數據源來說,其0~2時刻有數據,且3個屬性上的值差異不大,在3~4時刻卻存在著數據丟失。3號數據源則只在時刻4提供過一次較好的pm1值,其它時間質量均不理想。由此可見,即使是同一個數據源,其質量也存在著隨時間和屬性波動的情況,因此,用單一的值來描述一個數據源的質量有失偏頗,研究需要尋找更為規范合理的質量描述。

基于歷史數據,為了能夠切實評估數據源質量,本文擬展開多個方面研究。對此可闡釋如下。

首先,定義了數據源質量矩陣,用于描述一個數據源在不同條件下的質量情況。

其次,給出了質量矩陣的計算框架?;谠摽蚣芸梢詫γ總€數據源計算其質量矩陣,且用戶可以調整平衡參數來改變質量矩陣對于數據源質量描述的細致程度。

最后,在真實數據上進行了實驗。實驗結果表明,本文提出的質量矩陣定義及其計算框架能夠有效地評估數據源的質量。

綜上所述,本文的研究內容可安排組織如下:首先介紹相關工作;然后論述了問題定義;再次則提出質量矩陣的計算方法;接下來給出了實驗結果;最后就是本文研究結論。下面,針對各部分研究將展開分述如下。

1 相關工作

當前,很多研究都在探討基于約束的數據質量判定[1-2,5-6]。也就是說,這些工作均圍繞著當給定一個數據集合時,應如何判定其中每個值的數據質量。而與本文研究的不同之處就在于,這些研究僅是關注單個值的數據質量,卻沒有指出應如何基于每個值的數據質量來綜合度量整個數據源在不同條件下的質量。因此,這些工作也只可作為本文研究的支撐。

另一方面,數據融合和真值發現則研究如何從多源中找到高質量的數據[7-9]。在設計時考慮了如何根據來自不同數據源的各類錯誤來發現各個數據源之間的依賴,而且可憑借數據源間的依賴關系尋找被查詢屬性的最新值。這些工作雖然可以用來評估數據源質量,但其更多地僅是著眼于當數據源之間存在拷貝依賴關系時,該如何找到數據的最新值。而在傳感云環境下,不同傳感器采集數據可以被認為是獨立的,不同數據源也不存在拷貝依賴,其值之間的相似性不會來自于互相拷貝,因此,需要研發專門的方法來評估這種場景下的數據源質量。

2 問題定義

設S={s1,…,sn}是數據源的集合,T={t0,…,tm}是時刻的集合,dk是數據源sk提供的各時刻采集的數據集合。Q是一個質量度量函數,Q(v)是值v根據度量函數Q計算得到的質量分值。

根據Q,針對數據源sk可計算得到Dk中每一個值的質量分值。舉例來說,對例1中的1號數據源,研究可以基于相對偏差這一質量度量,得到如圖3中1_pm1、1_pm25、1_pm10這3列所示的質量度量結果。

過程中,將這樣的質量評分結果稱為原始質量矩陣。令QM(dk)表示由Dk計算得到的質量矩陣,則QM(dk)和dk具有相同的行數和列數。而如例1中所言,不同的數據源在各時刻、各屬性上表現出質量差異的同時,也在一些時刻或屬性上表現出一定的質量上的共性。例如例1中的數據源在時刻1~3提供的數據就表現出質量上的共性。因此,為了清楚地描述數據源在不同場景下數據質量的差異和共性,研究還需要對原始質量矩陣做一些調整,即合并具有共性的行、同時區分具有差異的行。由此,本文要研究的問題的形式化定義表述見如下:

輸入:數據源集合S={s1,…,sn},時刻集合T={t0,…,tm},數據集集合D={d1,…,dn},質量度量函數Q

輸出:abbr(QM(d1)), … ,abbr(QM(dm))

其中,abbr(QM(dk))是QM(dk)化簡后的結果。

化簡質量矩陣有2個好處。首先,化簡后的矩陣較原始矩陣來說,更能夠突出數據源在不同場景下數據質量的差異和共性。其次,當數據量很大時,存儲原始數據已經消耗了大量資源,再消耗同樣多的資源來存儲質量矩陣顯得并不現實,而只要化簡得足夠充分,那么化簡后的質量矩陣可以大幅節省存儲資源,同時,對化簡后的質量矩陣進行訪問的時間開銷也遠低于訪問原始質量矩陣。在下一節中,將詳盡探究質量矩陣化簡方法的研發與設計。

3 質量矩陣化簡方法

給定質量矩陣QM(dk),研究對其進行化簡的設計思想如下:對原始質量矩陣QM(dk)和數據源sk,分別計算QM(dk)的相鄰兩行數據質量分數向量的相似度,同時,根據用戶給定的閾值θ,如果距離不超過θ,則合并兩行為一行,并用兩行的均值填充該行。流程步驟見如下。

Step 1自上向下掃描QM(dk),設當前掃描到第r行,計算r行和r+1行的相似度Simr,r+1。

Step 2判斷Simr,r+1是否小于θ,如果是則進入Step 3,否則進入Step 4。

Step 3合并r和r+1行得到新的r行,計算新的r行和r+1行的相似度Simr,r+1,跳轉Step 2。

Step 4掃描繼續,跳回Step 1。

在此基礎上,將使用例2來說明例1中的原始質量矩陣的化簡過程,其主旨要點可概述如下。

例2假定給定閾值為0.1,以圖3的1號數據源為例,研究選用向量的歸一化距離來度量行的相似度,合并策略選取計算均值。在0,1兩時刻的質量評分向量的歸一化距離為0.202 587,不合并。在2,3兩時刻的歸一化距離為0.092 421,可以合并,所以得到2,3時刻的數據合并結果如圖4(a)所示。接著,時刻(2, 3)與1 的歸一化距離為0.088 093,可以合并;時刻(2, 3)與4 的歸一化距離為0.159 589,不合并;最終得到的無法繼續合并的結果即是化簡后的質量矩陣,如圖4(b)所示。該合并結果也與前文在例1中的分析相一致—1,2,3時刻1號數據源的質量情況比較相似,所以被合并在了一起,而0時刻和4時刻的狀態與其它狀態不同,所以被單獨列出了。

圖4 質量矩陣化簡過程Fig.4 The reduction process of quality matrix

研究中需要注意的是,本文給出的質量矩陣及其化簡框架中,質量度量函數Q和相似度度量函數Sim均是可替換的,可以根據應用場景來自由選擇合適的質量度量函數Q和相似度度量函數Sim,在選擇時只需保證2點,具體如下:

(1)質量度量函數Q應能夠將dk中的每一個值映射為一個質量評分。

(2)相似度度量函數Sim應能夠計算向量的相似度。

4 實驗結果

用python對波蘭城市克拉科夫的2017年的空氣質量數據(天氣、壓強、溫度、pm1、pm2.5、pm10)進行實驗。其中,數據源為56個傳感器,均對6個屬性進行觀測。實驗數據包括自2017年1月1日到2017年12月24日的8 953條記錄。

研究測試了所提出框架的效率和有效性。在效率方面,定制設計了2方面的實驗。首先,保持閾值不變,測試隨著時刻數目(原始質量矩陣行數)的增加,合并質量矩陣所需的時間變化,實驗結果如圖5所示。接著,保持時刻數目不變(固定在最大值),觀察隨著閾值的變化,合并所需的時間的變化,實驗結果如圖6所示。在有效性方面,保持時刻數目不變,觀察閾值變化時矩陣大小的變化,實驗結果如圖7所示。

由圖5可知,當固定閾值為0.1,同時不斷增加時刻數目,測量對多個數據源的化簡質量矩陣所需的平均時間變化??梢杂^察得知,該時間呈嚴格線性增加的變化趨勢。

圖5 原始行數對效率的影響Fig.5 The influence of original row numbers on efficiency

由圖6可知,當固定原始數據行數為最大值,閾值從0~1變化時,測試合并時間的變化情況。分析結果可知,當閾值變化時,合并時間隨閾值增大而增加,時間增加幅度卻在遞減。這是因為當閾值增大到一定程度(在本實驗中約為0.4)之后,化簡后的質量矩陣的大小基本不再發生大幅的變化,即每次化簡合并的行數不再發生大的變化,故所需時間的變化也會較小。

圖6 閾值對效率的影響Fig.6 The influence of threshold on efficiency

由圖7可知,當保持時刻數目不變時,測試閾值變化時化簡后矩陣大小的變化。當閾值從0~1逐漸增大時,合并后的矩陣行數不斷減少,減少幅度也隨之逐漸變小。該實驗結果也與圖6中的實驗結果互相印證,即當閾值增大到一定程度后,化簡的結果將不再發生變化。因此在實際使用中,可以通過實驗測定閾值和化簡后矩陣的變化關系,大致給出閾值設定的建議,例如,可建議其將閾值設定在化簡變化較陡的區域,這樣只需要微調就可以看到結果的明顯變化。

圖7 閾值對化簡后矩陣大小的影響Fig.7 The influence of threshold on reducted matrix size

5 結束語

針對目前傳感器系統中的數據質量問題,本文提出了一種面向傳感云的數據源質量評估框架?;谠贫说拇罅繗v史數據,并借助云服務的計算能力,評估數據源的質量。本文定義了數據源質量矩陣,描述一個數據源在不同條件下的質量情況,給出質量矩陣的計算框架,從而快速高效地評估數據源的質量,確定哪些數據可被進一步應用于數據分析與查詢??紤]到傳感器網絡中傳感器數量多、環境復雜多變,可以獲取的信息量巨大,在不同的數據質量狀況下,如何從海量傳感數據中,對數據質量和數據源質量進行不同角度的評估,仍是未來工作的重點。

猜你喜歡
數據源化簡度量
鮑文慧《度量空間之一》
組合數算式的常見化簡求值策略
突出知識本質 關注知識結構提升思維能力
度 量
圖表中的交互 數據鉆取還能這么用
三參數射影平坦芬斯勒度量的構造
基于Excel的照片查詢系統開發與應用
再談利用郵件合并功能批量生成準考證
一類特殊二次根式的化簡
數據有增加 圖表自適應
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合