合作机构:阿里云 / 腾讯云 / 亚马逊云 / DreamHost / NameSilo / INWX / GODADDY / 百度统计
在数据科学和机器学习领域,许多模型都假设数据呈现正态分布,或者假设数据在正态分布下表现更好。例如,线性回归假设残差呈正态分布,线性判别分析(LDA)基于正态分布等假设进行推导。 因此,了解如何测试数据正态性的方法对于数据科学家和机器学习从业者至关重要。
本文将介绍测试数据正态性的11种基本方法,帮助读者更好地理解数据分布的特征和如何应用合适的方法进行分析,以便在机器学习和数据建模过程中更好地处理数据分布对模型性能的影响。
QQ图(Quantile-Quantile Plot)是一种用于检验数据分布是否符合正态分布的常用方法。在QQ图中,将数据的分位数与标准正态分布的分位数进行比较,如果数据分布接近正态分布,QQ图上的点将大致落在一条直线上。
如下示例代码生成了一组服从正态分布的随机数据来演示QQ Plot,运行代码后,既可看到QQ Plot以及与之对应的正态分布曲线,通过观察图上的点的分布情况来初步判断数据是否接近正态分布。
import numpy as np
import scipy.stats as stats
import matplotlib.pyplot as plt
# 生成一组随机数据,假设它们服从正态分布
data = np.random.normal(0, 1, 1000)
# 绘制QQ图
stats.probplot(data, dist="norm", plot=plt)
plt.title('Q-Q Plot')
plt.show()
TOP