正在做一個把matlab程序轉python的工作,記錄下遇到的問題與解決方案
定義
- 峰度kurtosis:用於度量x偏離某分布的程度。
- 正太分布的峰度是3;
- 當時間序列的曲線峰值比正太分布的高時,峰度大於3;
- 當比正太分布的低時,峰度小於3。
- 偏度skewness:用於衡量x的對稱性。
- 對於正太分布,偏度為0;
- 若偏度為正,則x均值左側的離散度比右側弱;
- 若偏度為負,則x均值左側的離散度比右側強。
matlab
radius = [1,2,3,4,5];
bubble_kurtois = kurtosis(radius); %12 陡峭度
bubble_sknew = skewness(radius); %13 偏斜度
python
from scipy import stats
radius = [1,2,3,4,5]
bubble_kurtois = stats.kurtosis(radius, fisher=False) #12 陡峭度
bubble_sknew = stats.skew(radius) #13 偏斜度
兩個函數的詳細參數見 scipy.stats.kurtosis , scipy.stats.skew
注意求峰度的時候指定 fisher=False
,否則會出現這篇文章的問題 python求解峰度kurtosis 和matlab求得的值差很遠 解決辦法