統計學包括描述性統計和推論統計。
描述性統計的含義——"A descriptive statistic is a summary statistic that quantitatively describes or summarizes features of a collection of information."
中文翻譯:描述性統計是一種匯總統計,用于定量描述或總結信息集合的特征。
推論統計:根據數據的形態建立出一個用以解釋其隨機性和不確定性的數學模型,以之來推論研究中的步驟及母體。
本文主要介紹描述性統計,描述性統計又分為集中趨勢和離散趨勢。
一、集中趨勢(Measures of central tendency)
能夠對總體的某一特征具有代表性,表明所研究的對象在一定時間、空間條件下的共同性質和一般水平。
1. 眾數(Mode)
用于定性的數據,表示一組數據中出現頻次最高的數。
優點:不受極端值影響;當數據具有明顯的集中趨勢時,代表性好;
缺點:缺乏唯一性。
2. 分位數(Quantile)
亦稱分位點,是指將一個隨機變量的概率分布范圍分為幾個等份的數值點,常用的有中位數(即二分位數)、四分位數、百分位數等。
2.1 中位數(Median)
用于定量的數據,表示數值大小位于中間(奇偶總量處理不同)的值。
優點:不受極端值影響;缺點:缺乏敏感性。
2.2 四分位數
第一四分位數 (Q1),又稱“較小四分位數”,等于該樣本中所有數值由小到大排列后第25%的數字。
第二四分位數 (Q2),又稱中位數,等于該樣本中所有數值由小到大排列后第50%的數字。
第三四分位數 (Q3),又稱“較大四分位數”,等于該樣本中所有數值由小到大排列后第75%的數字。
第三四分位數與第一四分位數的差距又稱四分位距。
3. 平均數(Mean)
3.1 算術平均數:
優點:充分利用所有數據,適用性強;缺點:易受極值影響。
3.2 加權平均數:根據權重比例來求平均值
3.3 幾何平均數
python實現:
import numpy as np
import pandas as pd
from scipy.stats import mode
data=[1,2,2,3,2,4]
a=np.mean(data)
b=np.median(data)
print('均值:%s' %a)
print('中位數:%s' %b)
#眾數 法一
c=mode(data)
print('眾數為{},出現了{}次'.format(c[0][0],c[1][0]))
#眾數 法二 (只適用于非負數據集)
counts = np.bincount(data) #返回一個長度為data最大值+1的數組,統計data升序排列后對應索引的頻數
np.argmax(counts) #返回眾數
#分位數 法一 (np.percentile)
q1=np.percentile(data,25) #四分位
q2=np.percentile(data,95) #95%位數
#分位數 法二 (df.quantile)
df=pd.Series(data)
df.quantile(.25)
二、離散趨勢(Measures of Dispersion)
1. 極差
一組數值型數據中最大值和最小值之差,max(x)-min(x),反映了數值樣本的數據范圍。
2. 方差和標準差
方差用于衡量數據的分散程度,常見的有總體方差和樣本方差,計算方法類似。標準差為方差的平方根。
3. 平均差
是數據組中各數據值與其算術平均數離差絕對值的算術平均數。
4. 分位差
其數值越小表明數據越集中,數值越大表明數據越離散。常用的四分位差為:四分位差=(第三個四分位數-第一個四分位數)/2
5. 異眾比率
異眾比率越大,說明非眾數組的頻數占總頻數的比重越大,眾數的代表性就越差;異眾比率越小,說明非眾數組的頻數占總頻數的比重越小,眾數的代表性越好。
6. 離散系數
離散系數又稱變異系數,CV(Coefficient of Variance)表示。CV(Coefficient of Variance):標準差與均值的比值。離散系數越小,數據的離散程度就越小。
python實現:
import numpy as np
data=[1,2,2,3,2,4]
print('極差:{}'.format(np.ptp(data)))
print('方差:%s' % np.var(data) )
print('標準差:%s'% np.std(data) )
#平均差
a=np.mean(data)
print(np.sum(abs(data-a))/len(data))
#四分位差
print('四分位差',np.percentile(data,75)-np.percentile(data,25)) #0.75
#離散系數
print(np.std(data)/a)
三、分布形態
1. 偏態系數(Skewness)
偏態系數又稱偏差系數(deviation coefficient),偏態系數以平均值與中位數之差對標準差之比率來衡量偏斜的程度,用SK表示偏斜系數:偏態系數小于0,因為平均數在眾數之左,是一種左偏的分布,又稱為負偏。偏態系數大于0,因為均值在眾數之右,是一種右偏的分布,又稱為正偏。
偏態系數是根據眾數、中位數與均值各自的性質,通過比較眾數或中位數與均值來衡量偏斜度的。
數據狀態 | 描述 | 圖示 |
---|---|---|
mean>median>mode | 正偏態、右偏態 | |
mean<median<mode | 負偏態、左偏態 | |
mode=median=mean | 對稱分布 |
2. 峰態系數(Kurtosis)
峰度系數是用來反映頻數分布曲線頂端尖峭或扁平程度的指標,用于衡量離群數據離群度,峰度系數越大,說明該數據集中的極端值越多。在正態分布情況下,峰度系數值是3。>3的峰度系數說明觀察量更集中,有比正態分布更短的尾部;<3的峰度系數說明觀測量不那么集中,有比正態分布更長的尾部,類似于矩形的均勻分布。峰度系數的標準誤用來判斷分布的正態性。峰度系數與其標準誤的比值用來檢驗正態性。如果該比值絕對值大于2,將拒絕正態性。
from scipy import stats
print('偏度:',stats.skew(data))
print('峰度:',stats.kurtosis(data))