描述性統計


1 描述性統計是什么?

  描述性統計是借助圖表或者總結性的數值來描述數據的統計手段。數據挖掘工作的數據分析階段,我們可借助描述性統計來描繪或總結數據的基本情況,一來可以梳理自己的思維,二來可以更好地向他人展示數據分析結果。數值分析的過程中,我們往往要計算出數據的統計特征,用來做科學計算的NumPy和SciPy工具可以滿足我們的需求。Matpotlob工具可用來繪制圖,滿足圖分析的需求。


2 使用NumPy和SciPy進行數值分析

2.1 基本概念

  與Python中原生的List類型不同,Numpy中用ndarray類型來描述一組數據

from numpy import array
from numpy.random import normal, randint
#使用List來創造一組數據
data = [1, 2, 3]
#使用ndarray來創造一組數據
data = array([1, 2, 3])
#創造一組服從正態分布的定量數據
data = normal(0, 10, size=10)
#創造一組服從均勻分布的定性數據
data = randint(0, 10, size=10)

2.2 中心位置(均值、中位數、眾數)

數據的中心位置是我們最容易想到的數據特征。借由中心位置,我們可以知道數據的一個平均情況,如果要對新數據進行預測,那么平均情況是非常直觀地選擇。數據的中心位置可分為均值(Mean),中位數(Median),眾數(Mode)。其中均值和中位數用於定量的數據,眾數用於定性的數據。

對於定量數據(Data)來說,均值是總和除以總量(N),中位數是數值大小位於中間(奇偶總量處理不同)的值:

均值相對中位數來說,包含的信息量更大,但是容易受異常的影響。使用NumPy計算均值與中位數:

from numpy import mean, median

#計算均值
mean(data)
#計算中位數
median(data)

 

對於定性數據來說,眾數是出現次數最多的值,使用SciPy計算眾數:

from scipy.stats import mode #計算眾數 mode(data)

2.3 發散程度(極差、方差、標准差、變異系數)

對數據的中心位置有所了解以后,一般我們會想要知道數據以中心位置為標准有多發散。如果以中心位置來預測新數據,
那么發散程度決定了預測的准確性。數據的發散程度可用極差(PTP)、方差(Variance)、標准差(STD)、變異系數(CV)來衡量,它們的計算方法如下:
 1 from numpy import mean, ptp, var, std  2  3 #極差  4 ptp(data)  5 #方差  6 var(data)  7 #標准差  8 std(data)  9 #變異系數 10 mean(data) / std(data)

2.4 偏差程度(z-分數)

之前提到均值容易受異常值影響,那么如何衡量偏差,偏差到多少算異常是兩個必須要解決的問題。定義z-分數(Z-Score)為測量值距均值相差的標准差數目:

  當標准差不為0且不為較接近於0的數時,z-分數是有意義的,使用NumPy計算z-分數:

 
1 from numpy import mean, std 2 3 #計算第一個值的z-分數 4 (data[0]-mean(data)) / std(data)

通常來說,z-分數的絕對值大於3將視為異常。
 
        

2.5 相關程度

有兩組數據時,我們關心這兩組數據是否相關,相關程度有多少。用協方差(COV)和相關系數(CORRCOEF)來衡量相關程度:

  協方差的絕對值越大表示相關程度越大,協方差為正值表示正相關,負值為負相關,0為不相關。相關系數是基於協方差但進行了無量綱處理。使用NumPy計算協方差和相關系數:

from numpy import array, cov, corrcoef

data = array([data1, data2])

#計算兩組數的協方差
#參數bias=1表示結果需要除以N,否則只計算了分子部分
#返回結果為矩陣,第i行第j列的數據表示第i組數與第j組數的協方差。對角線為方差
cov(data, bias=1)

#計算兩組數的相關系數
#返回結果為矩陣,第i行第j列的數據表示第i組數與第j組數的相關系數。對角線為1
corrcoef(data)

 

2.6 回顧

方法 說明
numpy array 創造一組數
numpy.random normal 創造一組服從正態分布的定量數
numpy.random randint 創造一組服從均勻分布的定性數
numpy mean 計算均值
numpy median 計算中位數
scipy.stats mode 計算眾數
numpy ptp 計算極差
numpy var 計算方差
numpy std 計算標准差
numpy cov 計算協方差
numpy corrcoef 計算相關系數



免責聲明!

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



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