正在做一个把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.kurtosisscipy.stats.skew

          注意求峰度的时候指定 fisher=False ,否则会出现这篇文章的问题 python求解峰度kurtosis 和matlab求得的值差很远 解决办法

Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐