一、概念
高度偏斜的特征 : 数据分布不均匀、不对称的特征
处理之后:使其分布更接近正态分布或至少减少偏斜程度
二、处理方法
1、对数变换:log(x)
- 适用于右偏数据
- 压缩大值,拉伸小值
2、平方根变换:sqrt(x)
- 对右偏数据的效果比对数变换温和
3、Box-Cox变换
- 一种更通用的幂变换方法
- 可以处理各种程度的偏斜
4、Yeo-Johnson变换
- Box-Cox的扩展,可以处理负值和零
三、代码
import numpy as np
import matplotlib.pyplot as plt
from scipy import stats
from sklearn.preprocessing import PowerTransformer
# 设置随机种子以确保结果可重现
np.random.seed(42)
# 生成一个右偏(正偏)的数据集
data = np.random.lognormal(mean=0, sigma=1, size=10000)
# 计算关键统计量
min_val = np.min(data)
q1 = np.percentile(data, 25)
median = np.median(data)
q3 = np.percentile(data, 75)
max_val = np.max(data)
print(f"原始数据:")
print(f"最小值: {min_val:.2f}")
print(f"25%分位点: {q1:.2f}")
print(f