机器学习中Skewness和Kurtosis怎么计算和理解?

文章导读
Previous Quiz Next 在机器学习中,偏度(Skewness)和峰度(kurtosis)是衡量概率分布形状的两个重要指标。
📋 目录
  1. A 示例
A A

机器学习 - 偏度与峰度



Previous
Quiz
Next

在机器学习中,偏度(Skewness)和峰度(kurtosis)是衡量概率分布形状的两个重要指标。

偏度指的是分布不对称的程度。如果分布关于其均值不对称,则称为偏态分布。偏度可以是正值,表示分布的右尾较长;也可以是负值,表示分布的左尾较长。偏度为零表示分布完全对称。

峰度指的是分布的尖峰程度的度量。具有高峰度的分布比正态分布具有更尖锐的峰和更重的尾部,而低峰度的分布则具有更平坦的峰和更轻的尾部。峰度可以是正值,表示峰高于正态分布;也可以是负值,表示峰低于正态分布。峰度为零表示正态分布。

偏度和峰度对机器学习算法都有重要影响,因为它们会影响模型的假设和预测的准确性。例如,高偏度分布可能需要数据变换或使用非参数方法,而高峰度分布可能需要不同的统计模型或更稳健的估计方法。

示例

在 Python 中,SciPy 库提供了计算数据集偏度和峰度的函数。例如,以下代码使用 skew()kurtosis() 函数计算数据集的偏度和峰度 −

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

# 生成一个随机数据集
data = np.random.normal(0, 1, 1000)

# 计算数据集的偏度和峰度
skewness = skew(data)
kurtosis = kurtosis(data)

# 打印结果
print('Skewness:', skewness)
print('Kurtosis:', kurtosis)

这段代码从均值为 0、标准差为 1 的正态分布中生成 1000 个样本的随机数据集。然后使用 SciPy 库中的 skew()kurtosis() 函数计算数据集的偏度和峰度。最后,将结果打印到控制台。

输出

执行此代码后,您将得到以下输出 −

Skewness: -0.04119418903611285
Kurtosis: -0.1152250196054534

对于正态分布,结果的偏度和峰度值应该接近于零。