數(shù)據(jù)分析——建模分析基本流程
編輯導語:在我們的日常工作中,很多時候都會用到數(shù)據(jù)分析的方式,其中建模分析的方法也是數(shù)據(jù)分析的一種類型,對于各種數(shù)值能夠清晰明了的呈現(xiàn);本文作者分享了關(guān)于數(shù)據(jù)分析中的建模分析的基本流程,我們一起來了解一下。
日常的數(shù)據(jù)分析工作中,除了基本的拆解法、對比法做分析外,也經(jīng)常需要用到模型的方法來做預測或者分類,這里會介紹建模分析的基本流程及常見處理方法。
01 描述性分析
在拿到數(shù)據(jù)后,不能著急立刻開始清洗數(shù)據(jù)或者模型訓練,而是先了解數(shù)據(jù)(除建模分析外,其他的數(shù)據(jù)開發(fā)也要做這一步),這樣才能避免后期的踩坑,否則十有八九是要復工的。
那“了解數(shù)據(jù)”這一環(huán)節(jié),具體要了解哪些東西呢?
- 了解各個特征的業(yè)務(wù)含義和計算邏輯
- 各個特征的分布是否符合預期
- 特征之間的相關(guān)性如何,是否符合基本邏輯
- 特征和目標值的相關(guān)性如何,是否符合基本邏輯
在相關(guān)性分析這里,數(shù)值型變量之間可通過計算相關(guān)系數(shù)或者畫圖呈現(xiàn);數(shù)值型變量和分類變量可通過箱線圖呈現(xiàn)關(guān)系。
02 缺失值處理
在初步了解數(shù)據(jù)后,需要做一些數(shù)據(jù)預處理的行為。
第一步就是對缺失值處理,一般根據(jù)樣本量多少以及缺失比例,來判斷是“寧缺毋濫”的刪除,還是缺失值填充。
具體處理的思路可以是這樣的:
- 統(tǒng)計計算樣本量n,各個特征數(shù)據(jù)缺失率y,各樣本數(shù)據(jù)特征缺失率x;
- 特征缺失率x比較高的樣本一般都建議刪除;因為多個特征都缺失,填補也比較困難,即使填補信息偏差也會比較大。
- 如果某特征缺失率y比較大,則刪除此特征;如果特征缺失率低且樣本量比較大的話,可刪除特征缺失的樣本;如果樣本量少不可刪除,則對缺失值做填充。
缺失值填充的方法有:
- 根據(jù)特征的眾數(shù)、中位數(shù)或者平均值來填充;也可以對樣本做分類,根據(jù)所在類的平均值眾數(shù)等填充;
- 通過回歸法來做樣本填充,缺失值作為因變量,其他特征做自變量去預測;
- 還可通過比較復雜的方法,如多重插補法。
03 異常數(shù)據(jù)處理
處理完缺失值后,需要做異常數(shù)據(jù)處理。
之前介紹過一篇異常數(shù)據(jù)處理的方法,數(shù)據(jù)分析-異常數(shù)據(jù)識別;這篇介紹了多種適應(yīng)不同場景下的異常數(shù)據(jù)識別方法。
04 數(shù)據(jù)標準化處理
對于很多模型,如線性回歸、邏輯回歸、Kmeans聚類等,需要計算不同特征的系數(shù),或者計算樣本距離。
這種情況下,如果不同特征的數(shù)值量級差的特別大,會嚴重影響系數(shù)和距離的計算,甚至這種計算都會失去意義;所以在建模前必須要做的就是要去量綱,做標準化處理。
當然有些模型是不需要做數(shù)據(jù)標準化處理的,如決策樹、隨機森林、樸素貝葉斯等。
當前最常用的數(shù)據(jù)標準化處理方法有:
1)最小—最大規(guī)范化
(x-min)/(max-min),將其規(guī)范到[0,1]之間
2)z值規(guī)范化
(x-均值)/標準差,將其規(guī)范為均值為0,標準差為1;
如果這種情況,受離群點影響比較大的話,可以用中位數(shù)代替均值,用絕對標準差代替標準差。
還需要注意的是,如果樣本分布非常有偏的話,可以先做box-cox變換,將其往正態(tài)分布變換后再標準化。
05 特征選擇
在做完基本的數(shù)據(jù)清洗以及特征變換后,需要做的是特征選擇,一般做特征選擇的原因是:
- 某些特征存在多重共線性,這種情況對線性回歸和邏輯回歸影響比較大;
- 特征太多,有些特征增加了模型復雜性卻與模型無關(guān),不能全部入模,需要篩選出價值更高的特征。
1. 多重共線性
是什么:模型的解釋變量之間由于存在精確相關(guān)關(guān)系或高度相關(guān)關(guān)系而使模型估計失真或難以估計準確。
影響:
1)影響模型的穩(wěn)定性,而且影響模型的解釋。
舉個例子,假設(shè)消費支出=0.3*收入,這樣可能的模型輸出的是:
消費支出+收入1.3*收入1.6*收入-消費支出
同樣的數(shù)值輸出,不同的公式計算,會非常模型解釋和穩(wěn)定性的。
2)線性回歸模型,會導致最小二乘估計無法計算系數(shù),即使可計算系數(shù)方差也很大,即1)中提到的不穩(wěn)定。
怎么識別:
- 計算特征之間的相關(guān)系數(shù),對于相關(guān)性特別高的特征,根據(jù)業(yè)務(wù)需要保留有代表性的特征;
- 方差膨脹因子(VIF)。
計算每個特征被其他特征擬合的情況,如特征j,被其他特征線性擬合的決定系數(shù)為R2;通常擬合越好,決定系數(shù)就越大且最大可達到1。
所以,當方差膨脹因子過大,說明此特征存在多重共線性。一般大于10會認為有比較強的多重共線性問題。
怎么解決:
- 刪除共線性強的特征;
- 線性回歸模型的話,可采用嶺回歸的估算方式解決。
2. 特征太多
不同的模型和應(yīng)用場景下特征篩選方式不同:
- 對于二分類問題來說,篩選邏輯是:篩選出對二分類結(jié)果區(qū)分度比較高的特征;可以通過計算IV(information value)值的大小來篩選,一般IV值越大,此特征對二分類結(jié)果更有區(qū)分度。
- 對于回歸預測問題,主要針對多元線性回歸。篩選特征的方法有:特征子集選擇法、正則化法以及降維法。
1)特征子集選擇法
特征子集選擇法有向前逐步選擇法和向后逐步選擇法:
a)向前逐步選擇
具體方法就是從0個特征開始,一個一個逐步從剩余特征中添加使得模型擬合誤差最小的特征,在添加過程中得到模型擬合最優(yōu)的特征組合。
b)向后逐步選擇
和向前逐步選擇類似,只是反過來了,讓所有特征入模,再一步一步剔除效果不好的特征,從而達到最優(yōu)。
2)正則化壓縮無意義特征的系數(shù)
比較好用的方法是lasso。
一般的線形回歸我們只會希望它的誤差平方和最小,但是lasso的目標函數(shù)在原有目標函數(shù)后面加了一項系數(shù)懲罰項。這樣讓目標函數(shù)最小,可以實現(xiàn)無意義特征的系數(shù)為0,從而實現(xiàn)特征選擇。
3)PCA降維
這個是將原有有一定線性關(guān)系的特征線形組合成新的相互獨立的特征,所以不適合原有特征已經(jīng)相互獨立的情況。
以上就是數(shù)據(jù)建模的前期準備流程,做完這些內(nèi)容就可以開始模型訓練,對模型結(jié)果進行預測分析啦,而這部分則是不同模型會有不同的具體處理方法。
總之,模型訓練前的數(shù)據(jù)分析、數(shù)據(jù)清洗以及特征選擇非常重要,甚至他們是決定建模是否成功的關(guān)鍵因素,所以這部分工作一定要做細做準確。
感謝閱讀,以上就是我要分享的內(nèi)容~
本文由 @LLL 原創(chuàng)發(fā)布于人人都是產(chǎn)品經(jīng)理。未經(jīng)許可,禁止轉(zhuǎn)載
題圖來自Unsplash,基于CC0協(xié)議
啥玩意,這種照本宣科的教條主義的東西也許前幾年在我傻了吧唧的時候能唬住林北,現(xiàn)在看來,這些東西都是一個尚未入世者自我陶醉的所謂技能而已,真正到了入世去創(chuàng)業(yè)的時候卵用沒有
請問下,特征選擇的特征指的是什么,是一個數(shù)據(jù)還是數(shù)據(jù)標準
小程序
確實有些專業(yè),可以根據(jù)案例(場景)+公式來講解,更容易理解些。
太專業(yè)了,門外漢看不懂,??
這個數(shù)據(jù)分析流程是基于現(xiàn)有數(shù)據(jù),對數(shù)據(jù)清洗、處理、加工、計算、再轉(zhuǎn)換,個人覺得開頭還少一步,基于業(yè)務(wù)愿意對數(shù)據(jù)字段的挖掘。第5步感覺比較學術(shù)化,我這個非數(shù)據(jù)專業(yè)的童鞋甚至看不下去
看的一臉懵逼
沒看懂,唉
哪里沒看懂?我可以給你詳細解答。