數據挖掘——數據預處理

數據挖掘 軟件 數學 PM筆記 2019-06-21
數據挖掘——數據預處理

數據的抽取要正確反映業務需求

  • 真正熟悉業務背景。
  • 確保抽取的數據所對應的當時業務背景,與現在的業務需求即將應用的業務背景沒有明顯的重大改變。

數據抽樣

為什麼要抽樣?

  • 如果數據全集的規模太大,針對數據全集進行分析運算不但會消耗更多的運算資源,還會顯著增加運算分析的時間,甚至太大的數據量有時候會導致分析挖掘軟件運行時崩潰。
  • 另外一個常見的需要通過抽樣來解決的場景就是:對稀有事件的分析建模,通常會採取抽樣的措施,即人為增加樣本中的“稀有事件”的濃度和在樣本中的佔比。

抽樣的關鍵點

  • 樣本中輸入變量(或自變量)的值域要與數據全集中輸入變量(或自變量)的值域一致。無論連續型變量還是類別型變量。
  • 樣本中輸入變量(或自變量)的分佈要與數據全集中輸入變量(或自變量)的分佈保持一致,或者說至少要高度相似。無論連續型變量還是類別型變量。
  • 樣本中因變量(或目標變量)的值域或者種類的分佈,也要與數據全集中目標變量值域或者種類的分佈保持一致,或者說要高度相似。
  • 缺失值的分佈。樣本中缺失值的分佈(頻率)要與數據全集中缺失值的分佈(頻率)保持一致,或者說至少要高度相似。
  • 針對稀有事件建模時要採用抽樣措施。由於抽樣所造成的目標事件在樣本中的濃度被人為放大了,樣本中的事件與非事件的比例與數據全集中兩者的比例將不一致,所以在建模過程中,數據分析師要記得使用加權的方法恢復新樣本對全體數據集的代表性。

分析數據的規模要求

訓練集:樣本總數據量的40%~70%(目標事件數量最好保持在1000個以上)。訓練集樣本的規模一般應該在自變量數量的10倍以上,並且被預測的目標事件至少是自變量數目的6~8倍。

驗證集:--

測試集:根據數據量判斷需不需要。

自變量:8~20個之間。

缺失值的處理方法

基於數據缺失的原因進行正確查找後,對於數據的缺失進行判斷。

直接刪除帶有缺失值的數據元組(或觀察對象)。適用於建模樣本里缺失值比例很少,並且後期打分應用中的數據的缺失值比例也很少的情況。

直接刪除有大量缺失值的變量。要先考慮缺失是否有另外的商業背景和含義。

對缺失值進行替換。類別型變量(眾數或新的類別屬性);次序性變量和區間性變量(中間值、眾數、最大值、最小值、用戶定義的任意其他值、平均值或僅針對區間型變量來代替缺失值)。

對缺失值進行賦值。通過諸如迴歸模型、決策樹模型、貝葉斯定理等去預測缺失值的最近替代值,也就是把缺失數據所對應的變量當做目標變量,把其他的輸入變量作為自變量,為每個需要進行缺失值賦值的字段分別建立預測模型。成本較高。

異常值的判斷和處理

數據樣本中的異常值通常是指一個類別型變量裡某個類別值出現的次數太少、太稀有,或者指一個區間型變量裡某些取值太大。

類別型變量異常值判斷

如果某個類別值出現的頻率太小,太稀有,就可能是異常值。具體拿經驗值來參考,一般某個類別值的分佈佔比不到1%或者更少就很可能是異常值了。有些情況下,縱然某個類別值的佔比很少,但是如果跟目標變量裡的目標事件有顯著的正相關關係,這種稀有類別值的價值就不是簡單的異常值所可以代表的。

區間型變量異常值判斷

最簡單有效的方法就是把所有的觀察對象按照變量的取值按從小到大的順序進行排列,然後從最大的數值開始倒推0.1%甚至更多的觀察值,這些最大的數值就很可能屬於異常值,可再結合業務邏輯加以判斷。

另外一個常用的判斷異常值的方法就是以“標準差”作為衡量的尺度,根據不同的業務背景和變量的業務含義,把超過均值n個標準差以上的取值定義為異常值,這裡n的取值範圍取決於具體的業務場景和不同變量的合理分佈。

異常值的處理

直接刪除。

數據轉換

為什麼要進行數據轉換?

  • 經過適當的數據轉換後,模型的效果常常可以有明顯的提升。
  • 在絕大多數數據挖掘實踐中,由於原始數據,在此主要是指區間型變量的分佈不光滑(或有噪聲)、不對稱分佈。

數據轉換的主要分類

(1)產生衍生變量。

通過對原始數據進行簡單、適當的數學公式推導,產生更加有商業意義的新變量。

(2)改善變量分佈特徵的轉換,這裡主要指對不對稱分佈所進行的轉換。

大多數區間型變量原始分佈狀態偏差都較大。這種大偏度,嚴重不對稱的分佈出現在自變量中常常會干擾模型的擬合,最終會影響模型的效果和效率。可以通過各種數學轉換,使得自變量的分佈呈現(或者近似)正態分佈來解決。

常用的轉換措施:取對數、開平方根、取倒數、開平方、取指數等。

數據挖掘——數據預處理

原始變量分佈圖

數據挖掘——數據預處理

取對數轉換後的正態分佈圖

(3)區間型變量的分箱轉換。

分箱轉換就是把區間型變量轉換成次序型變量(自變量與因變量之間有比較明顯的非線性關係或自變量的偏度很大時使用),其轉換的主要目的如下:

  • 降低變量(主要是指自變量)的複雜性,簡化數據。
  • 提升自變量的預測能力。

(4)針對區間型變量進行的標準化操作。

數據標準化轉換的主要目的是將數據按照比例進行縮放,使之落入一個小的區間範圍之內,使得不同的變量經過標準化處理後可以有平等分析和比較的基礎。

Min-Max標準化,也叫離差標準化,是對原始數據進行線性變換,使得結果在[0,1]區間(max為樣本數據的最大值,min為樣本數據的最小值):

數據挖掘——數據預處理

篩選有效的輸入變量

1.為什麼要篩選有效的輸入變量?

  • 提高模型穩定性
  • 提高模型預測能力
  • 提高運算速度和運算效率

2.直接排除明顯無價值的變量

  • 常數變量或者只有一個值的變量
  • 缺失值比例很高的變量
  • 取值太泛的類別型變量

3.結合業務經驗進行先行篩選

4.用線性相關性指標進行初步篩選

數據挖掘——數據預處理

皮爾遜相關係數

|r|<0.3,表示低度線性相關。
0.3≤|r|<0.5,表示中低度線性相關。
0.5≤|r|<0.8,表示中度線性相關。
0.8≤|r|<1.0,表示高度線性相關。

上述相關係數的計算公式只是從狀態上計算了變量之間的相關關係,但是相關係數是通過樣本數據得到的計算結果,來自樣本的統計結果需要通過顯著性檢驗才能知道其是否適用於針對總體數據的相關性。

5.R平方

R^2表示模型輸入的各自變量在多大程度上可以解釋目標變量的可變性,R^2的取值範圍在[0,1]之間,R^2越大,說明模型的擬合越好。

數據挖掘——數據預處理

y_i表示目標變量的真實值;
f_i表示模型的預測值;
¯y表示目標變量真實值的均值;
SSE稱為殘差平方和,自由度為P,P代表自變量的個數;
SST稱為總平方和,自由度為N-1,N代表樣本數量;
SSR稱為迴歸平方和,自由度為N-P-1。

6.卡方驗證

卡方檢驗在統計學裡屬於非參數檢驗,主要用來度量類別型變量,包括次序型變量等定性變量之間的關聯性以及比較兩個或兩個以上的樣本率。其基本思想就是比較理論頻數和實際頻數的吻合程度或擬合度。

X^2值越大表明觀測值與期望值的差異越大,相對應的P-Value就越小,而P-Value代表的是上述差異發生的偶然性。

如果P-Value值的小於0.01,同時X^2比較大,則說明可以拒絕該自變量與因變量之間相互獨立的原假設,也就是說該類別型自變量與目標變量之間有比較強的關聯性,因此可以認為該自變量可能值得輸入模型。

數據挖掘——數據預處理

(f_ij)^0表示各交叉分類頻數的觀測值;
(f_ij)^e表示各交叉分類頻數的期望值;
各交叉分類頻數觀測值與期望值的偏差為(f_ij)^0-(f_ij)^e。

7.IV和WOE

當目標變量是二元變量,自變量是區間型變量時,可以通過IV和WOE進行自變量的判斷和取捨。在應用IV和WOE的時候,需要把區間型自變量轉換成類別型(次序型)自變量。

數據挖掘——數據預處理

一個變量的總的預測能力是通過IV來表現的,它是該變量的各個屬性的WOE的加權總和,IV代表了該變量區分目標變量中的事件與非事件的能力。

數據挖掘——數據預處理

Gine分數和IV有相似的作用。

數據挖掘——數據預處理

通過WOE的變化來調整出最佳的分箱閥值。

通過IV值或者Gini分數,篩選出有較高預測價值的自變量,投入模型的訓練中。

8.部分建模算法自身的篩選功能

決策樹模型、迴歸(含線性迴歸和邏輯迴歸)模型等。

9.降維的方法

包括主成分分析和變量聚類等。可以有效精簡輸入變量的數目,在一定程度上實現有效篩選模型輸入變量的目標。

共線性問題

共線性,又叫多重共線性,是指自變量之間存在較強的,甚至完全的線性相關關係。當自變量之間高度相關時,模型參數會變得不穩定,模型的預測能力會降低。同時,嚴重的共線性增加了對於模型結果的解釋成本,因為它致使很難確切分辨每個自變量對因變量的影響。

如何發現共線性?

  • 相關係數的方法(皮爾遜係數)
  • 通過模型結論的觀察
  • 主成分分析方法
  • 根據業務經驗判斷的原本應該沒有預測作用的變量突然變得有很強的統計性
  • 對變量進行聚類。通過對區間型變量進行聚類,同一類中的變量之間具有較強的相似性

如何處理共線性?

  • 對相關變量進行取捨
  • 對相關變量組合,生成一個新的綜合性變量。生成衍生變量後及時剔除相關的原始變量
  • 嘗試對相關變量進行一些形式的轉換

相關推薦

推薦中...