正态分布的应用——基于峰度系数解释离群效应

Python012

正态分布的应用——基于峰度系数解释离群效应,第1张

内容导入 :

大家好这里是每天分析一点点。本期介绍的是数据分析基础系列,主要给大家介绍描述性统计分析原理,包括中位数、众数、平均数、方差、标准差、离散系数、峰度峰度、离群值等的原理、概念以及应用。再结合区域工资水平,探讨峰度在离群效应分析中的应用。文章内容适合数据分析小白,内容深入浅出,案例贴合实际。欢迎大家关注。

概念介绍:

峰度的概念:

峰度又称峰态系数。表征概率密度分布曲线在平均值处峰值高低的特征数。直观看来,峰度反映了峰部的尖度。样本的峰度是和正态分布相比较而言统计量,如果峰度大于0,峰的形状比较尖,比正态分布峰要陡峭。峰度高就意味着方差增大是由低频度的大于或小于平均值的极端差值引起的。

峰度一般可表现为三种形态:尖顶峰度、平顶峰度和标准峰度。当变量值的次数在众数周围分布比较集中,使次数分布曲线比正态分布曲线顶峰更为隆起尖峭,称为尖顶峰度;当变量值的次数在众数周围分布较为分散,使次数分布曲线较正态分布曲线更为平缓,称为平顶峰度。

峰度的计算公式:

峰度计算为四阶中心距除以四阶标准差,所谓中心距,就是距离数据中心的距离,数据中心一般是值数据的平均值,因此中心距就是每个数减去平均数的和,然后求平均,四阶就是在这个基础上求四次方。四阶标准差就是标准差的四次方。

峰度的相关原理: 

根据均值不等式,可以确定出峰度系数的取值范围:它的下限不会低于-2,上限不会高于数据的个数。有一些典型分布的峰度系数值得特别关注。例如,正态分布的峰度为常数0,均匀分布的峰度为常数-1.2。

峰度以K表示,以一般而言,正态分布为参照,峰度可以描述分布形态的陡缓程度,若K<0,则称分布具有不足的峰度,若K>0,则称分布具有过度的峰度。若知道分布有可能在峰度上偏离正态分布时,可用峰度来检验分布的正态性。

峰度的特点:     

峰度的特点:     

正态分布的峰度为0。     

以一般而言,正态分布为参照,峰度可以描述分布形态的陡缓程度;     

若k<0,则称分布具有不足的峰度;     

若k>0,则称分布具有过度的峰度。     

峰度的应用:

1.  K>0,数据尖峰,数据集中在一个区域内,两侧存在离群值     

2.  K<0,数据平峰,数据相对不集中,数据无离群值。     

综合应用场景:

 接下来我们#数据峰度:

某地区随机50人的平均工资为来看个实际的案例吧。

2589,2163,2126,3500,2268,1871,2050,1856,2572,1000,3932,2105,1652,2559,2741,1766,2705,2067,3800,2749,2020,6918,1350,1168,1245,1966,1080,915,1563,2307,2861,600,711,696,2261,3260,2219,2415,2877,2143,2564172,951,1683,888,2880,4000,3500,1000,1250。请分析该地区的收入是否存在离群值。

 我们可以使用峰度来解释离群的效应,用python的计算过程如下。

#求平均数 income_mean=np.mean(income)

#求中心距 center_dis=income-income_mean

#求标准差 sigma=np.std(income)

#求平均4阶中心距 center_dis4=sum(np.power(center_dis,4))/len(income)

#求标准差的4次方 sigma4=np.power(sigma,4)

#求数据峰度 kurtosis=center_dis4/sigma4-3

print(kurtosis)#数据峰度为:4.408 大于0,数据为尖峰。

 根据峰度的原理,如果峰度大于0,峰的形状比较尖,比正态分布峰要陡峭。峰度高就意味着方差增大是由低频度的大于或小于平均值的极端差值引起的。因此,我们可以得出结论,该地区收入是存在离群值。但是,离群值是极大值还是极小值呢?我们有如何进行确定。这就要结合偏度系数进行判断。还记得吗?上期我们的偏度系数测量为1.424,右偏。因此,该收入数据存在离群值,并且是极大的离群值,会使平均数大于中位数大于众数。大部分人的收入在平均值以下,贫富差距巨大。

各位还没有看懂的朋友关注一下我们的微信公众号,那里的视频解释更加精彩。

 本期分享到这里,我们会在每周持续更新,咱们下期再见,期待您的光临。

 有什么建议,比如想了解的知识、内容中的问题、想要的资料、下次分享的内容、学习遇到的问题等,请在下方留言。如果喜欢请关注。

首先导入一些必要的数据处理包和可视化的包,读文档数据并通过前几行查看数据字段。

对于我的数据来说,由于数据量比较大,因此对于缺失值可以直接做删除处理。

得到最终的数据,并提取需要的列作为特征。

对类别数据进行统计:

类别型字段包括location、cpc_class、pa_country、pa_state、pa_city、assignee六个字段,其中:

单变量统计描述是数据分析中最简单的形式,其中被分析的数据只包含一个变量,不处理原因或关系。单变量分析的主要目的是通过对数据的统计描述了解当前数据的基本情况,并找出数据的分布模型。

单变量数据统计描述从集中趋势上看,指标有:均值,中位数,分位数,众数;从离散程度上看,指标有:极差、四分位数、方差、标准差、协方差、变异系数,从分布上看,有偏度,峰度等。需要考虑的还有极大值,极小值(数值型变量)和频数,构成比(分类或等级变量)。

对于数值型数据,首先希望了解一下数据取值范围的分布,因此可以用统计图直观展示数据分布特征,如:柱状图、正方图、箱式图、频率多边形和饼状图。

按照发布的时间先后作为横坐标,数值范围的分布情况如图所示.

还可以根据最终分类的结果查看这些数值数据在不同类别上的分布统计。

箱线图可以更直观的查看异常值的分布情况。

异常值指数据中的离群点,此处定义超出上下四分位数差值的1.5倍的范围为异常值,查看异常值的位置。

参考:

python数据分析之数据分布 - yancheng111 - 博客园

python数据统计分析 -

科尔莫戈罗夫检验(Kolmogorov-Smirnov test),检验样本数据是否服从某一分布,仅适用于连续分布的检验。下例中用它检验正态分布。

在使用k-s检验该数据是否服从正态分布,提出假设:x从正态分布。最终返回的结果,p-value=0.9260909172362317,比指定的显著水平(一般为5%)大,则我们不能拒绝假设:x服从正态分布。这并不是说x服从正态分布一定是正确的,而是说没有充分的证据证明x不服从正态分布。因此我们的假设被接受,认为x服从正态分布。如果p-value小于我们指定的显著性水平,则我们可以肯定的拒绝提出的假设,认为x肯定不服从正态分布,这个拒绝是绝对正确的。

衡量两个变量的相关性至少有以下三个方法:

皮尔森相关系数(Pearson correlation coefficient) 是反应俩变量之间线性相关程度的统计量,用它来分析正态分布的两个连续型变量之间的相关性。常用于分析自变量之间,以及自变量和因变量之间的相关性。

返回结果的第一个值为相关系数表示线性相关程度,其取值范围在[-1,1],绝对值越接近1,说明两个变量的相关性越强,绝对值越接近0说明两个变量的相关性越差。当两个变量完全不相关时相关系数为0。第二个值为p-value,统计学上,一般当p-value<0.05时,可以认为两变量存在相关性。

斯皮尔曼等级相关系数(Spearman’s correlation coefficient for ranked data ) ,它主要用于评价顺序变量间的线性相关关系,在计算过程中,只考虑变量值的顺序(rank, 秩或称等级),而不考虑变量值的大小。常用于计算类型变量的相关性。

返回结果的第一个值为相关系数表示线性相关程度,本例中correlation趋近于1表示正相关。第二个值为p-value,p-value越小,表示相关程度越显著。

kendall :

也可以直接对整体数据进行相关性分析,一般来说,相关系数取值和相关强度的关系是:0.8-1.0 极强 0.6-0.8 强 0.4-0.6 中等 0.2-0.4 弱 0.0-0.2 极弱。