如何在Python中执行Grubbs检验
简介
格拉布斯检验是一种统计假设检验方法,用于检测数据集中的异常值。异常值是分配数据分布的观察结果,也称为异常。具有异常值的数据集往往比具有正态/高斯分布的数据更容易过度拟合。因此,在机器学习建模之前有必要解决异常值。在处理之前,我们必须检测并定位数据集中的异常值。最流行的异常值检测技术是 QQPlot、四分位距和 Grubbs 统计检验。然而,本文将仅讨论用于检测异常值的格鲁布斯检验。您将学习:什么是 Grubbs 测试以及如何在 Python 中实现它。
什么是异常值?
异常值是与其他数据值在数值上相距较远的数据观测值。这些值超出了正态分布数据的范围。数据集必须包含第一个标准差下的 67% 的记录、第二个标准差下的 95% 的数据以及第三个标准差下的 99.7% 的点,才能实现正态分布。换句话说,数据点应位于第一和第三四分位数范围之间。我们将第一四分位数以下和第三四分位数以上的记录视为异常值或异常值。
格拉布斯统计假设检验
与任何其他统计假设检验一样,格拉布斯检验也可以批准或拒绝原假设 (H0) 或替代假设 (H1)。 Grubbs 测试是检测数据集中异常值的测试。
我们可以通过两种方式执行格拉布斯检验:单面检验和双面检验,用于单变量数据集或几乎正态样本至少有七个变量的分布。该检验也称为极端学生化偏差检验或最大归一化残差检验。
格拉布斯检验使用以下假设 -
Null (H0):数据集没有异常值。
替代 (H1):数据集只有一个异常值。
Python 中的格拉布斯测试
Python 凭借其庞大的库集合可以应对任何编程挑战。这些库提供了内置方法,可直接用于执行任何操作、统计测试等。同样,Python 有一个库,其中包含执行 Grubbs 测试以检测异常值的方法。不过,我们将探索在 Python 中实现 Grubbs 测试的两种方法:库中的内置函数和从头开始实现公式。
异常值库和 Smirnov_grubbs
让我们首先使用以下命令安装 outlier_utils 库。
!pip install outlier_utils 登录后复制