今天我们来聊聊统计学中的偏态分布,聊偏态分布以前我们先看看正态分布,下面这张图在公众号文章中多次出现,就是传说中的正态分布。
这张图中的横轴是随机变量 x 的具体值,正态分布的中心点是随机变量 x 的均值 μ,以均值为中心,然后向两边扩散,既然是均值,那肯定就有比均值大的值,也有比均值小的点,我们用标准差 σ 表示数据集的离散程度,也就是距离均值 μ 的远近。
纵轴是 x 对应的概率密度。我们应该都知道概率,是用来表示一个值或一种情况出现的可能性大小。而概率密度等于一段区间(随机变量 x 的取值范围)的概率除以该段区间的长度。
横轴与纵轴围成的面积表示横轴 x 对应的这个区间出现的概率。
x 轴标记出了 7 个点,分别为:μ、u+σ、u-σ、u+2σ、u-2σ、u+3σ、u-3σ,即距离均值1倍、2倍、3倍、3倍以上标准差的距离。
可以看到有64.2%(34.1+34.1)的数据集中在(u-σ,u+σ)之间,有27.2%的数据位于(u±σ,u±2σ)之间,有4.2%的数据位于(u±2σ,u±3σ),剩下的就是(u±3σ,∞)。说明大部分数据还是集中在平均值附近的,而我们生活中的很多事情都是符合正态分布的,这也就是为什么可以用平均值来代替整体水平的一个原因,比如平均身高、平均工资等等。
虽然大多数情况下数据是正态分布的,但是也有不是正态分布的情况,这个时候就是偏态分布了,偏态分布有两种,左偏和右偏。长尾在哪边就是哪篇,下面第一张图的长尾在左边就是左偏,最后一张图的长尾在右边就是右偏。
如果是左偏,说明大多数是集中在右边的,即众数 > 中位数 > 均值;如果是右偏,说明大多数是集中在左边的,即众数 < 中位数 < 均值。
我们可以用偏态系数来衡量具体的偏离程度,偏态系数大于0则右偏,小于0则左偏,值越大越偏。
在 Python 中要计算某一列的偏态系数可以使用如下代码:
#计算col列的偏态系数
df["col"].skew()
因为现实中很多数据是符合正态分布的,很多模型也都是假设数据是服从正太分布的,比如方差分析中,就是假设数据是服从正态分布的。如果你的数据是偏态分布的时候,这个时候可以对数据进行转换,从偏态数据转换成正态数据,常见的转换就是原始数据取对数。
在 Python 中可以使用下面代码对数据取对数。
#对x取对数
import math
math.log( x )
统计学中为什么要对变量取对数:
https://www.zhihu.com/questio...
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。