【模型开发】EDA探索性分析
1.定義
??探索性數據分析(Exploratory Data Analysis,簡稱EDA),是指對已有的數據(特別是調查或觀察得來的原始數據)在盡量少的先驗假定下進行探索,通過作圖、制表、方程擬合、計算特征量等手段探索數據結構和規律并且分析數據以概括其主要特征的一種數據分析方法。
??探索性數據分析在上世紀六十年代由John Tukey提出,它鼓勵統計學家研究數據,并盡可能提出假設,盡可能生成新的數據收集和實驗。與傳統統計分析方法的區別在于:傳統的統計分析方法以概率論為基礎,先假定數據服從某種分布,然后依據數據樣本來估計模型的一些參數及統計量,以此了解數據的特征。但實際中往往有很多數據并不符合假設的統計模型分布,這導致數據分析結果不理想。EDA則是一種更加貼合實際情況的分析方法,它“拋開”概率理論,從數據出發,強調數據可視,讓數據自身“說話”,有助于我們了解數據在形式化建模或假設測試任務之外的其他價值。
??大數據時代,EDA可以很好地應用于處理各種雜亂的“臟數據”。通過EDA我們可以最真實、直接的觀察到數據的結構及特征。EDA出現之后,數據分析的過程就分為兩步了,探索階段和驗證階段。探索階段側重于發現數據中包含的模式或模型,驗證階段側重于評估所發現的模式或模型,很多機器學習算法(分為訓練和測試兩步)都是遵循這種思想。當我們拿到一份數據時,如果做數據分析的目的不是非常明確、有針對性時,可能會感到有些茫然,那此刻就更加有必要進行EDA了,它能幫助我們先初步了解數據的結構及特征,甚至發現一些模式或模型,再結合行業背景知識,也許就能直接得到一些有用的結論。
2.步驟
??通過以上EDA的定義,我們可以大致整理一下思路:
??1、拿到數據后,先寫出一系列自己做的假設,然后接著做更深入的數據分析。
??2、結合可視化,記錄下探索過程。
??3、把中間結果給同行看看,獲取一些更有拓展性的反饋或者意見。不要獨自一個人做,國外的思維就是知道了什么就喜歡open to everybody。走出去,多多交流,open to the world。
??4、將可視化與結果結合一起。探索性數據分析,逐漸培養自己的數據意識和模型意識。一旦結果違背最初的假設,就要立即回去進行詳細的思考。所以我們在數據探索的盡可能把自己的可視化圖和結果放一起,這樣便于進一步分析。
3.過程
3.1單變量分析
基本統計量(中位數、四分位數、偏度、峰度等等)
-
頻率和眾數
-
百分位數
-
位置度量:均值和中位數
-
散步分量:極差和方差
-
偏度、峰度:數據的大致分布情況,功能上與直方圖類似,其雖然可量化,但不如直方圖直觀
-
直方圖
- 對稱
- 分散
- 異常值
- 有間隙
-
箱線圖
- 異常值
- 對稱
- 比較幾批數據的形狀
-
正態性檢驗
- 圖示法:
- 直方圖鐘型
- 箱線圖
- QQ圖
- 非參數檢驗方法
3.2多變量分析
- 線性相關? 秩相關? 關聯性如何?
- 注意:先繪制散點圖,要求兩變量來自正態總體,出現異常值慎用
3.3可視化
在進行了單變量與多變量的分析之后,應該得到一個展示成果性的報表。制作報表時應該思考以下的信息:
-
數據缺失?
-
有異常值?
-
特征有冗余?
-
分布情況?
-
樣本是否重復?
-
樣本是否平衡? 尤其是在進行機器學習訓練分類器的時候,不同類別的樣本數量應該大致相同,如果不相同,可采用上采樣或者下采樣的方法(后文會講到)
-
是否需要抽樣?
-
是否需要降維?
-
能否構造更有價值的特征?
-
連續特征是否需要離散化?
-
是否需要對變量進行重新計算?
-
可視化技術
- 將數據映射到圖形元素
- 組織數據進行映射
- 解決數據維度問題
4.案例
具體案例可參考 Blink 的文章,https://www.jianshu.com/p/9325c9f88ee6,
- 水的供應和用水是否與人均國內生產總值有關?
【參考】
- 一文帶你探索性數據分析(EDA) 正在充電Loading https://www.jianshu.com/p/9325c9f88ee6
- 數據分析與機器學習入門 JasonBianzx https://blog.csdn.net/JasonBianZhang/article/details/78471846
- 探索性數據分析 hgz_dm https://blog.csdn.net/huguozhiengr/article/details/85321521
??對數據分析、機器學習、數據科學、金融風控等感興趣的小伙伴,需要數據集、代碼、行業報告等各類學習資料,可添加微信:wu805686220(記得要備注喔!),也可關注微信公眾號:風控圏子(別打錯字,是圏子,不是圈子,算了直接復制吧!)
關注公眾號后,可聯系圈子助手加入如下社群:
- 機器學習風控討論群(微信群)
- 反欺詐討論群(微信群)
- python學習交流群(微信群)
- 研習社資料(qq群:102755159)(干貨、資料、項目、代碼、報告、課件)
相互學習,共同成長。
《新程序員》:云原生和全面數字化實踐50位技術專家共同創作,文字、視頻、音頻交互閱讀總結
以上是生活随笔為你收集整理的【模型开发】EDA探索性分析的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【模型监控】(未完成)模型监控
- 下一篇: 【特征工程】(未完成)特征选择