Datawhale_温习概率统计(2)——偏态、峰值

文章目录

  • 一、偏度与峰度概念
    • 1.1 偏度
    • 1.2 峰度
  • 二、python实现

一、偏度与峰度概念

1.1 偏度

偏度(skewness):也称为偏态,是统计数据分布偏斜方向和程度的度量,是统计数据分布非对称程度的数字特征。直观看来就是密度函数曲线尾部的相对长度。偏度刻画的是分布函数(数据)的对称性,关于均值对称的数据其偏度系数为0,右侧更分散的数据偏度系数为正,左侧更分散的数据偏度系数为负。

  1. 正态分布的偏度为0,两侧尾部长度对称。
  2. 左偏:
  • 若以bs表示偏度。bs<0称分布具有负偏离,也称左偏态;
  • 此时数据位于均值左边的比位于右边的少,直观表现为左边的尾部相对于与右边的尾部要长;
  • 因为有少数变量值很小,使曲线左侧尾部拖得很长;

3.右偏:

  • bs>0称分布具有正偏离,也称右偏态;
  • 此时数据位于均值右边的比位于左边的少,直观表现为右边的尾部相对于与左边的尾部要长;
  • 因为有少数变量值很大,使曲线右侧尾部拖得很长;

1.2 峰度

峰度(peakedness;kurtosis):说明的是分布曲线在平均值处峰值高低的特征数。直观看来,峰度反映了峰部的尖度。样本的峰度是和正态分布相比较而言统计量,如果峰度大于三,峰的形状比较尖,比正态分布峰要陡峭。反之亦然。峰度刻画的是分布函数的集中和分散程度。

二、python实现


import numpy as np 
from scipy.stats import skew, kurtosis


def meanK(x, k=1):
    """
    param x: np.array
    """
    return sum((x - x.mean()) ** k)/x.shape[0]

def skew_(x):
    """
    param x: np.array
    """
    return meanK(x, 3) / x.std()**3


def kurt_(x):
    return meanK(x, 4) / x.std()**4 - 3



a = np.array([1,2,3,19,123,9, 8])

def test():
    print('scipy.skew:', skew(a))
    print('skew_:', skew_(a))

    print('scipy.kurtosis:', kurtosis(a))
    print('kurt_:', kurt_(a))
    
test()

"""
>>> test()
scipy.skew: 1.9621351656810035
skew_: 1.962135165681003
scipy.kurtosis: 1.9855276164857738
kurt_: 1.9855276164857738
>>>
"""

你可能感兴趣的:(基础,统计学)