探索性數據分析


       探索性數據分析(Exploratory Data Analysis,EDA)是指對已有數據在盡量少的先驗假設下通過作圖、制表、方程擬合、計算特征量等手段探索數據的結構和規律的一種數據分析方法,該方法在上世紀70年代由美國統計學家J.K.Tukey提出。傳統的統計分析方法常常先假設數據符合一種統計模型,然后依據數據樣本來估計模型的一些參數及統計量,以此了解數據的特征,但實際中往往有很多數據並不符合假設的統計模型分布,這導致數據分析結果不理想。EDA則是一種更加貼合實際情況的分析方法,它強調讓數據自身“說話”,通過EDA我們可以最真實、直接的觀察到數據的結構及特征。

      EDA出現之后,數據分析的過程就分為兩步了,探索階段和驗證階段。探索階段側重於發現數據中包含的模式或模型,驗證階段側重於評估所發現的模式或模型,很多機器學習算法(分為訓練和測試兩步)都是遵循這種思想。當我們拿到一份數據時,如果做數據分析的目的不是非常明確、有針對性時,可能會感到有些茫然(我在哪兒,我要干什么。。。我最初就是這樣的),那此刻就更加有必要進行EDA了,它能幫助我們先初步的了解數據的結構及特征,甚至發現一些模式或模型,再結合行業背景知識,也許就能直接得到一些有用的結論。

       EDA的技術手段主要包括:匯總統計、可視化,下面分別做介紹。

1.匯總統計

       匯總統計是量化的(如均值和方差等),用單個數和數的小集合來捕獲數據集的特征,從統計學的觀點看,這里所提的匯總統計過程就是對統計量的估計過程。

      1.1 單個屬性情況

  • 頻率和眾數

        頻率可以簡單定義為屬於一個類別對象的樣本數占總樣本的比例,這里類別對象可以是分類模型的中不同的類,也可以是一個區間或一個集合。眾數指具有最高頻率的類別對象。

        頻率可以幫助查看數據在不同類別對象上的分布情況,眾數可以讓我們獲知數據主要集中在那個類別對象上,不過要注意是可能有多個類別對象上的頻率與眾數對象上的頻率相差不大,此時就要權衡眾數的重要性是否有那么大。

  • 百分位數

       在有序數據上,百分位數是一個重要的統計量。給定一組數據,p百分位數x_{p}是這樣的數:這組數據中有p%的數據小於x_{p}。百分位數能讓我們了解數據大小分布情況。

  • 位置度量:均值和中位數

       對於連續數據,均值和中位數是比較常用的統計量,其中中位數即1/2分位數。均值對數據中的離群點比較敏感,一些離群點的存在能顯著的影響均值的大小,而中位數能較好的處理離群點的影響,二者視具體情況使用。

       為了克服離群點對均值的影響,有時使用截斷均值。截斷均值有一個參數p,計算p截斷均值時去除高端(p/2)%和低端(p/2)%的數據,剩下數據的均值即為p截斷均值。

       均值、中位數和百分位數一樣,都是用來觀察數據值大小分布情況的。

  • 散步分量:極差和方差

       極差和方差是常用的統計量,用來觀察數據分布的寬度和分散情況。極差是最大值與最小值的差值,它標識着數據的最大散步,但若大部分數值集中在較窄的范圍內,極差反而會引起誤解,此時需要結合方差來認識數據。

       極差和方差對離群點非常敏感,因此有時也使用這三種統計量:絕對平均偏差(absolute average deviation,AAD)、中位數絕對偏差(median absolute deviation,MAD)、四分位數極差(interquartile range,IQR),三者定義分別為:

                                                               AAD(x)=\frac{1}{m}\sum_{i=1}^{m}\left | x_{i}-\bar{x} \right |

                                                              MAD(x)=median( \left|{ x_{1}- \bar{x}\right|,..., \left| x_{m}- \bar{x}\right|})

                                                                     IQR=x_{3/4}-x_{1/4}

      1.2 多個屬性情況

       多個屬性數據間常用的統計量有協方差、相關系數。設屬性i、屬性j均有m個數據,x_{ki}x_{kj}分別屬性i、屬性j的第k個數值,\bar{x_{i}}\bar{x_{j}}分別為屬性i、屬性j的均值,則屬性i和屬性j的協方差定義為

                                                             cov(i,j)=\frac{1}{m-1}\sum_{k=1}^{m}(x_{ki}-\bar{x_{i}})(x_{kj}-\bar{x_{j}})

        協方差越接近於0越表明兩個屬性值間不具有(線性)關系,但協方差越大並不表明越相關,因為協方差的定義中沒有考慮屬性值本身大小的影響。

        相關系數考慮了屬性值本身大小的影響,因此是一個更合適的統計量。s_{i}s_{j}是屬性i、屬性j的方差,則相關系數定義為:

                                                                           r_{ij}=\frac{cov(i,j)}{s_{i}s_{j}}

        相關系數的取值在[-1,1]上,-1表示負相關,即變換相反,1表示正相關,0則表示不相關。相關系數是序數型的,只能比較相關程度大小(絕對值比較),並不能做四則運算。

        將屬性間的相關系數按矩陣方式排列得到了相關系數矩陣,矩陣中對角線上的為屬性的自相關系數(均為1)。                    

2.可視化

       可視化技術能夠讓人快速吸收大量可視化信息並發現其中的模式,是十分直接且有效的數據探索性分析方法,但可視化技術具有專門性和特殊性,采用怎樣的圖表來描述數據及其包含的信息與具體的業務緊密相關。

       運用可視化技術時,需要考慮三個問題:(1)如何將數據映射到圖形元素 (2)如何組織數據進行映射 (3)如何解決數據維度問題

       (1)如何將數據映射到圖形元素

       一般的可視化中,需要映射的是數據對象、數據對象的屬性、數據對象間的聯系這幾種信息。

       數據對象通常用幾何圖形表示,如圓圈、星號、叉號等。

       屬性的表示方法取決於屬性的類型。對於取值連續的屬性,可以用位置、亮度、顏色、尺寸等可以連續變化的圖形元素表示;對於序數型屬性,也可以用位置、亮度、顏色、尺寸等表示,不過變化不再是連續的,因此為了對不同屬性取值加以區分,可以將圖形元素間的區別放大一些;對於標稱型屬性,要注意避免表示出“序”的信息,此時可以將屬性的每個取值用不同類型的圖形元素表示,

       數據對象間的關系有顯式、隱式兩種。顯式的關系是已知、不需要去發掘的,我們只需要在圖形中表示出來,常用的顯式關系表示方法是用線條連接數據對象,或者將具有聯系的數據對象賦予某一相同的圖形特征;隱式的關系則需要我們采用合理的圖表、合理的數據組織形式進行映射來幫助發現數據對象間的關系,例如在分類中將相同類型的數據對象放在一起顯示就容易幫助發現數據對象間的聯系,他們具有相似的屬性取值。

  (2)如何組織數據進行映射

       在一些需要映射數據對象的可視化技術中,以特定的形式組織數據更能幫助發現數據對象間的聯系。數據組織形式可簡單理解為在圖表的每個維度(即每個屬性)上,坐標值(屬性值)分布的形式。一般情況下,對於連續型、序數型屬性,通常按屬性取值大小排列組織數據顯示,這使得圖表呈現的信息易於理解;對於標稱型屬性,數據的組織形式並沒有約定成俗的方式,此時不同的數據組織形式呈現的信息差異可能就比較明顯了。

  (3)如何解決數據維度問題

      當前只能在三維空間中顯示圖標,再加上顏色、亮度等一個屬性,一個圖表上一般最多能顯示四個屬性信息了,對於多屬性數據來說,如何解決維度問題就是一個值得考慮的問題。

      一種做法是只顯示屬性子集(通常是兩個屬性),當屬性數量不算太多時可以繪制雙屬性的矩陣圖。當屬性數量較多、以致於影響圖形觀察時則需要另想辦法了。

      另外一種做法是采用主成分分析(如PCA)等降維方法了。

      可視化技術發展很快,現今包括動畫、可交互式圖標都是不錯的可視化方法。   

3.小結

        數據探索性分析可能還有一些更基本的作用,例如我們在進行數據預處理前,需要知道哪些地方需要處理,這個過程也是數據探索的一個過程。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM