如何计算歪斜和峰度

如何计算歪斜和峰度,第1张

如何计算歪斜和峰度

参考文献

  • 偏斜度
  • 色度
计算中
coskew

我对偏斜的解释是一个序列与另一个序列的方差之间的“相关性”。这样,根据我们要计算其方差的序列,实际上可以有两种类型的偏斜。维基百科显示了这两个公式

'left'


'right'




幸运的是,当我们计算倾斜矩阵时,一个是另一个的转置。

def coskew(df, bias=False):    v = df.values    s1 = sigma = v.std(0, keepdims=True)    means = v.mean(0, keepdims=True)    # means is 1 x n (n is number of columns    # this difference broacasts appropriately    v1 = v - means    s2 = sigma ** 2    v2 = v1 ** 2    m = v.shape[0]    skew = pd.Dataframe(v2.T.dot(v1) / s2.T.dot(s1) / m, df.columns, df.columns)    if not bias:        skew *= ((m - 1) * m) ** .5 / (m - 2)    return skew
示范
coskew(df)          a         ba -0.369380  0.096974b  0.325311  0.067020

我们可以对此进行比较

df.skew()
并检查对角线是否相同

df.skew()a   -0.36938b    0.06702dtype: float64
计算中
cokurtosis

我对色度的解释是以下两种之一

  1. 一个系列与另一个系列的偏斜之间的“相关性”
  2. 两个系列的方差之间的“相关性”

对于选项1,我们再次具有左右变体,它们在矩阵形式中是彼此的转置。因此,我们仅关注左侧变体。剩下的就是计算总共两个变体。

'left'
'middle'

def cokurt(df, bias=False, fisher=True, variant='middle'):    v = df.values    s1 = sigma = v.std(0, keepdims=True)    means = v.mean(0, keepdims=True)    # means is 1 x n (n is number of columns    # this difference broacasts appropriately    v1 = v - means    s2 = sigma ** 2    s3 = sigma ** 3    v2 = v1 ** 2    v3 = v1 ** 3    m = v.shape[0]    if variant in ['left', 'right']:        kurt = pd.Dataframe(v3.T.dot(v1) / s3.T.dot(s1) / m, df.columns, df.columns)        if variant == 'right': kurt = kurt.T    elif variant == 'middle':        kurt = pd.Dataframe(v2.T.dot(v2) / s2.T.dot(s2) / m, df.columns, df.columns)    if not bias:        kurt = kurt * (m ** 2 - 1) / (m - 2) / (m - 3) - 3 * (m - 1) ** 2 / (m - 2) / (m - 3)    if not fisher:        kurt += 3    return kurt
示范
cokurt(df, variant='middle', bias=False, fisher=False)          a        ba  1.882817  0.86649b  0.866490  1.63200cokurt(df, variant='left', bias=False, fisher=False)          a        ba  1.882817  0.19175b -0.020567  1.63200

对角线应等于

kurtosis

df.kurtosis() + 3a    1.882817b    1.632000dtype: float64


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zaji/5662201.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-16
下一篇 2022-12-16

发表评论

登录后才能评论

评论列表(0条)

保存