大數據筆記之數據清洗

大數據筆記之數據清洗

4 人贊了文章

大數據之數據清洗

主要探討路大數據中數據清洗時該從哪些維度發現需要進行清洗的數據,歡迎指正。

假設案例:交通擁堵狀況分析

原始樣本的關鍵屬性:

參與對象:機動車(包括私家車、大巴、公交、小貨車、大型貨車等)

地理位置:經緯度或POI或自有編碼/命名

時間:數據發生的實際時間及採樣間隔周期

速度:時間周期內的速度

大數據主要步驟:

1. 獲取:主要來源包括——自有(關係資料庫同步)、自采(探針/爬蟲等手段)、外購(合法的白色數據、非法的灰色數據、違法的黑色數據);涉及的關鍵點:數據的維度定義;探針節點的選擇及採集方式(依據具體業務而定,一般無非是部署在數據產生者隨路式或者數據產生者必經路徑上蹲點式兩種,各有優劣);外購數據源的選擇及價值識別(可信度等)。數據來源兩種,移動式(某德地圖、某度地圖這一類)和定點式(測速攝像頭、監控攝像頭),假定都是未分析的原始數據。

2. 清洗入庫:對數據源進行清洗及其他所需的預處理入庫。本文的重點,見正文。

3. 分析、給數據打標籤以用於後續的挖掘:基於業務需求選擇所需的欄位並分析,比如哪些路段擁堵、擁堵程度如何。

4. 挖掘:這就看開腦洞的程度了,比如紅綠燈時長優化預測、車輛流向優化(禁左、禁右、單行等)效果預測這種相對簡單的的以及未來突發交通熱點預測等等各種複雜的。

大數據清洗入庫:

1. 主要工具是ETL環境,包括Informatica、datastage等等等等,具體選型不在本文範圍之內。

2. 大數據清洗的主要維度:

1)不同數據源的規整:如果需要將不同數據源的同緯度數據合併用於後續分析步驟,則毫無疑問需要進行規整處理:包括如用戶的歸一化(是否為同一個用戶,這個有難度,一般需要深層次分析才能大致確定,預計比例不高的情況下可以容忍),採樣周期的歸一化(比如1個5S粒度,1個10S粒度),速度數據的歸一化(比如一個是40公里/小時,一個是40碼/小時),如地理位置的歸一化(如果是自有編碼,需要映射到歸一化的編碼上;比如G15,瀋海高速等類似的同義詞/近義詞歸一化,對於同一個對象的描述採用不同的編碼方式是很常見的,如何歸一化是一個挑戰,基於自然語言的自動化分析是大殺器,容我研究先...);對於不同採樣方式的數據源,歸一化方式更是高難度定製化的了。(容具體問題具體分析)

2)數據源內單欄位的清洗:一般主要是超過數值區間,比如300碼的時速這種很好識別。但是150公里的速度呢?這種多以容忍為主,通過大多數正常的樣本抹平。

3)數據源同一,但欄位改名等:如嶗山西路從某年某月某日起改名叫南泉北路,前後處理要歸一;一般至少需要具備自檢測(數據源已體現改名,基礎地圖數據未體現等等情況)能力,最好有自修正能力(更高階了,比如通過關鍵網頁搜索、官方機構查詢等);

4)數據源同一記錄多欄位的關聯清洗:一般是基於高可信度的欄位檢測可信度相對較低的欄位。比如路段信息是限制貨車通車,卻有標記為貨車的信息,要麼實際是小汽車、要麼是違規了、要麼是臨時通行。或者識別為異常或者待進一步分析修正。

5)數據源同一對象連續時間段的關聯清洗:比如地理位置與之前之後的位置都不連續,或者在隧道獲取的位置可信度存疑;該種數據或者拋棄不參與處理或者進行修正。

6)數據源同一時間不同對象的關聯清洗:一般主要是看分布是否符合預期,主要的分布比如相對均勻分布、柏松分布等多種。比如同一個限速60的快速路輔路,在若干50/60的樣本裡面,出現了若干100的樣本,那這種樣本的使用就要注意,很可能是快速路的樣本誤歸納到輔路上。

7)數據源連續時間多對象的關聯清洗:比如持續穩定低速的,可能是拿著手機徒步冒充賓士的;也可能是在不能停車只好慢行等人的~~這種需要考慮拋棄。

實際上,以上的清洗一般來說對於基礎性的分析一般影響不大,在樣本很多的情況下可以認為沒有影響,但如果想進入到挖掘階段,更精確的識別是非常必要的,否則少量的非預期樣本可能就會導致打標籤等動作在事實上無法操作。


推薦閱讀:

博客推薦 | 玩轉交通大數據
圖資料庫實戰入門 —— 一個簡單的電影推薦系統實現
數據標準在數據資產管理中的意義

TAG:大數據 | 數據清洗 | 數據挖掘 |