峰度(Kurtosis)与偏态(Skewness)是衡量数据分布是否具有正态性的指标。
1、峰度(Kurtosis)
峰度:是对随机变量概率分布 “尾部” 的度量, 也就是分布曲线两侧的锥形末端。它们表示与平均值相比极高或极低的值的出现概率,所以尾部的大小通常也代表数据集包含异常值的概率。
- 峰度 ≈ 0 表示该总体数据分布与正态分布的陡缓程度相同(mesokurtic);
- 峰度 >0 表示该总体数据分布与正态分布相比较为陡峭,为尖顶峰(leptokurtic);
- 峰度 <0 表示该总体数据分布与正态分布相比较为平坦,为平顶峰(platykurtic)
**R语言计算峰度 ** e1071::kurtosis(var)
2、偏度(Skewness)
偏度也是数据分布形态的不对称性度量。最简单的衡量方法是 Pearson 的中位数偏度(Pearson’s median skewness)。
- 数据分布与正态分布的偏斜程度相同;
- 数据分布形态相比正态分布中等偏斜;
- 数据分布形态相比正态分布高度偏斜;
**R语言计算偏度 **e1071::skewbess(var)
3、 scipy 计算数据的偏度和峰度
import scipy.stats as st
st.skew(data) # 计算偏度
st.kurtosis(data) # 计算峰度
R语言的正态性检验 shapiro.test(X)
4、检查正态性的意义
许多 统计检验 和 ML算法 都基于变量或残差服从正态分布的前提假设提出。但在现实中基本无法找到完全符合正态分布的数据,更多的是可以近似成正态的微偏态分布情况。所以检验数据集的正态性主要是为了验证的数据是否适用于特定的统计方法,严重偏斜的数可能严重影响统计检验以及回归结果。
4.2 偏态数据的一般处理方案
-
对于无偏(微偏)的数据,许多统计检验,包括 t_test、ANOVA 和 Linear_Regression 等,对偏斜数据并不很敏感,所以对于是轻度或中度偏斜的数据可以 不做任何处理 。
-
尝试选择不假设正态分布的模型,如非参数检验或广义线性模型来分析偏斜数据
-
另一种选择是转换偏斜变量以减少偏斜程度。 “转换”是指对一个变量的所有观察值应用相同的函数。
常用转换方法为 -
Log transformation (中等偏高的偏斜)
-
Square root transformation (中度偏斜)
网友评论