淺談數(shù)據(jù)分析中的數(shù)據(jù)預(yù)處理
作者:鄧天佐
對于接觸過數(shù)據(jù)分析或者從事大數(shù)據(jù)技術(shù)開發(fā)的人員,無論你是一名業(yè)務(wù)還是技術(shù)人員,想必你都清楚數(shù)據(jù)分析過程中最花時間的并不是“分析”階段,而是數(shù)據(jù)預(yù)處理。 從眾多的調(diào)查和專家言論中,數(shù)據(jù)預(yù)處理在數(shù)據(jù)分析中所占據(jù)的時間在60%-80%之間。但畢竟“Garbage in, Garbage out.”數(shù)據(jù)質(zhì)量的高低,直接決定與分析軟件的契合度與后續(xù)分析的正確性,這一繁瑣的過程也就成了數(shù)據(jù)分析人員極力想要提升效率的環(huán)節(jié)。本篇文章就來簡單地介紹一下,數(shù)據(jù)預(yù)處理,究竟是怎么一回事,并且從實施角度提出一些建議。
數(shù)據(jù)預(yù)處理主要有四種:數(shù)據(jù)清洗、數(shù)據(jù)集成、數(shù)據(jù)變換、數(shù)據(jù)規(guī)約。這四步并非每一步都有執(zhí)行的必要,且在順序上沒有嚴(yán)格要求,但務(wù)必需要逐一檢查,以減小誤差
數(shù)據(jù)清洗
在數(shù)聚股份看來,將臟數(shù)據(jù)洗白,就是常說的數(shù)據(jù)清洗,這往往是整個數(shù)據(jù)預(yù)處理最耗費時間的繁瑣環(huán)境 缺失值和異常值是數(shù)據(jù)清洗的對象,步驟很簡單,識別并處理,處理常用的方法有刪除、替換和插補。
這些方法的具體操作會隨著工具的不同有所區(qū)別,但基本的邏輯是相通的。具體操作說明此處不做詳解。實現(xiàn)處理的自動化是效率提升的關(guān)鍵,業(yè)務(wù)人員一定要懂得尋求幫助并且相信自動化的可能,如果是IT人員,在常用語言編程處理的基礎(chǔ)上,一定不要忽視Excel VBA的威力(Excel仍能解決80%以上的預(yù)處理問題),其自動化處理的能力可能遠(yuǎn)超你的想象。
在實際應(yīng)用中,真正的難點和痛點其實并不在與技術(shù),而在于技術(shù)人員本身對于業(yè)務(wù)的不了解,這其中耗費的隱性成本才是繁瑣的根本,所以拿到數(shù)據(jù)并不要急于地鉆進數(shù)據(jù)中去查看,而是積極地對業(yè)務(wù)本身的邏輯進行理解,擁有清晰的業(yè)務(wù)思路,輔以恰當(dāng)?shù)募夹g(shù)手段,能讓數(shù)據(jù)清洗實現(xiàn)數(shù)倍效率的提升。如果是業(yè)務(wù)人員,從數(shù)據(jù)錄入本身的規(guī)范性和技術(shù)限制入手,往往能從源頭上減少數(shù)據(jù)清洗的工作強度。
數(shù)據(jù)集成
數(shù)據(jù)集成是將多個數(shù)據(jù)源合并成一個數(shù)據(jù)存儲。 數(shù)據(jù)集成時需要數(shù)據(jù)分析人員著重注意如下問題:
1 同名異義和異名同義。前者不能作為關(guān)鍵字(主鍵),后者可作為關(guān)鍵字(主鍵)。
2 數(shù)據(jù)集成容易產(chǎn)生數(shù)據(jù)冗余,可能是同一屬性多次出現(xiàn),或是屬性名字不一致導(dǎo)致的重復(fù)。應(yīng)先相關(guān)分析檢測重復(fù)屬性,如果再次出現(xiàn)則再次將其刪除。
數(shù)據(jù)變換
數(shù)據(jù)變換就是轉(zhuǎn)化成適當(dāng)?shù)男问剑瑏頋M足軟件或分析理論的需要。數(shù)據(jù)變換分為簡單函數(shù)和規(guī)范化兩種方式。簡單函數(shù)即常用的有平方、開方、取對數(shù)、差分等;如在時間序列里常對數(shù)據(jù)對數(shù)或差分運算將非平穩(wěn)序列轉(zhuǎn)化成平穩(wěn)序列。
規(guī)范化即排除掉部分變量單位的影響,比如直接比較身高和體重的差異,單位的不同和取值范圍的不同使得其不能進行直接比較。主要的規(guī)范化形式有三種:
1 最小-最大規(guī)范化:也叫離差標(biāo)準(zhǔn)化,對數(shù)據(jù)進行線性變換,將其范圍變成[0,1]
2 零-均值規(guī)范化:也叫標(biāo)準(zhǔn)差標(biāo)準(zhǔn)化,處理后的數(shù)據(jù)均值等于0,標(biāo)準(zhǔn)差為1
3 小數(shù)定標(biāo)規(guī)范化:移動屬性值的小數(shù)位數(shù),將屬性值映射到[-1,1]
數(shù)據(jù)規(guī)約
數(shù)據(jù)規(guī)約即對數(shù)據(jù)集合進行條件限定和約束,能減小無效錯誤的數(shù)據(jù)對建模的影響,縮減數(shù)據(jù)處理時間并降低存儲數(shù)據(jù)的空間。
最常見的規(guī)約手段是屬性規(guī)約:尋找最小的屬性子集并確定子集概率分布接近原來數(shù)據(jù)的概率分布。
1合并屬性:將舊屬性合并成一個新屬性
2逐步向前選擇,從一個空屬性集開始,每次在原來屬性集合選一個當(dāng)前最優(yōu)屬性添加到當(dāng)前子集中,一直到無法選擇最優(yōu)屬性或滿足一個約束值為止
3逐步先后選擇,從一個空屬性集開始,每次在原來屬性集合選一個當(dāng)前最差屬性并剔除當(dāng)前子集中,一直到無法選擇最差屬性或滿足一個約束值為止
4決策樹歸納:沒有出現(xiàn)在這個決策樹上的屬性從初始集合中刪除,獲得一個較優(yōu)的屬性子集
5主成份分析:用較少的變量去解釋原始數(shù)據(jù)中大部分變量(用相關(guān)性高的變量轉(zhuǎn)化成彼此相互獨立或不相關(guān)的變量)