1. 程式人生 > 其它 >資料的偏度skew和峰度kurtosis

資料的偏度skew和峰度kurtosis

偏度和峰度是資料處理中常用的用來分析資料分佈程度的指標,Pandas中提供了這兩個函式。

skew 偏度

偏度(skew),是統計資料分佈偏斜方向和程度的度量,是統計資料分佈非對稱程度的數字特徵。偏度(Skewness)亦稱偏態、偏態係數。表徵概率分佈密度曲線相對於平均值不對稱程度的特徵數。直觀看來就是密度函式曲線尾部的相對長度。公式如下:

上式中:
μ為均值,σ為標準差,E為期望運算元,μ3為第三中心矩,κt為t階累積量。
下圖體現了相對於正態分佈的偏度正負值:

Pandas使用示例:

# importing pandas as pd
import pandas as pd
  
# Creating the dataframe 
df = pd.read_csv("nba.csv")
  
# skewness along the index axis
df.skew(axis = 0, skipna = True)

# use on df.groupby
df.groupby(['group'])["feature"].skew()

kurtosis 峰度

峰度(peakedness;kurtosis)又稱峰態係數。表徵概率密度分佈曲線在平均值處峰值高低的特徵數。直觀看來,峰度反映了峰部的尖度。樣本的峰度是和正態分佈相比較而言統計量,如果峰度大於三,峰的形狀比較尖,比正態分佈峰要陡峭。反之亦然。

其中μ4為第四中心矩,σ為標準差。文獻中用了幾個字母來表示峰度。最常見的選擇是κ,只要明確表示它不指向累積量就可以。其他選擇包括γ2,類似於偏斜度的符號,儘管有時這被保留為多餘的峰度。

Pandas使用示例:

# importing pandas as pd
import pandas as pd
  
# Creating the dataframe 
df = pd.read_csv("nba.csv")
  
# skewness along the index axis
df.kurtosis(axis = 0, skipna = True)

# use on df.groupby
df.groupby(['group'])["feature"].apply(pd.DataFrame.kurt)