在机器学习中,回归分析是基于输入变量预测连续数值结果的关键工具。传统的回归技术假设数据服从正态分布且没有离群值。然而,现实世界的数据集往往偏离这些假设,导致预测结果不可靠。为了应对这一挑战,研发了鲁棒回归方法,可以在存在离群值的情况下提供更准确可靠的结果。本文深入探讨了鲁棒回归,并介绍了如何使用Python实现这些技术,Python是机器学习中最流行的编程语言之一。通过了解鲁棒回归及其在Python中的实现,您可以提高机器学习模型的可靠性和性能。
鲁棒回归是传统回归分析的一种变体,对数据中的异常值不太敏感。异常值是与大多数数据点显著偏离的数据点,它们可以对回归模型的性能产生重大影响。传统的回归方法,如普通最小二乘法(OLS),平等对待所有数据点,不论其与中心集群的距离。这使得它们受到异常值的极大影响,导致参数估计偏倚和预测性能差。
另一方面,强健回归技术旨在通过在模型拟合过程中给这些数据点分配较低的权重来减小异常值的影响。通过给予异常值较低的权重,强健回归模型可以提供更准确的参数估计和更好的预测。
鲁棒回归方法为传统回归分析中的异常值问题提供了解决方案。这些方法通过调整模型拟合过程来减小异常值的影响,从而降低其对估计的回归系数的影响。通过给予异常值较小的权重,鲁棒回归模型可以提供更可靠的参数估计并改善整体的预测性能。
稳健回归方法通过采用不同的加权方案或使用稳健估计技术来实现稳健性。稳健回归不是最小化残差平方和,而是专注于最小化其他对异常值不太敏感的目标函数。通过这样做,这些方法提供了更准确的预测变量和目标变量之间潜在关系的估计。
多年来,已经开发了几种强大的回归方法。让我们讨论一下几种常用的方法:
Huber回归
Huber回归是一种鲁棒回归方法,结合了最小二乘回归和绝对偏差回归的优点。它在最小化接近回归线的数据点的平方残差的同时,最小化偏离线的数据点的绝对残差。这样,它在两者之间取得平衡,并提供了鲁棒的参数估计。
Theil−Sen回归
Theil−Sen回归是一种非参数的鲁棒回归方法,通过考虑所有可能的点对来估计回归线的斜率。它计算连接每对点的线的斜率的中位数,并提供整体斜率的鲁棒估计。Theil−Sen方法在计算效率上高效,并且在数据点中有高达29%的异常值时仍能提供鲁棒的估计。
RANSAC(随机抽样一致性)
RANSAC是一种迭代的鲁棒回归方法,它随机选择数据点的子集,对这些点拟合回归模型,然后计算内点(与模型一致的数据点)和外点(偏离模型的数据点)的数量。它重复这个过程一定次数的迭代,选择具有最多内点的模型作为最终的鲁棒回归模型。
Python提供了许多可靠的回归方法的库。一个为此目的而知名的库是statsmodels,以其广泛的统计建模能力而闻名,包括鲁棒回归的实现。为了展示鲁棒回归的应用,让我们探索一个利用波士顿房屋数据集的示例。
我们必须首先导入所需的库。
import pandas as pd import numpy as np import statsmodels.api as sm
接下来,我们加载波士顿房价数据集:
from sklearn.datasets import load_boston boston = load_boston() df = pd.DataFrame(data=boston.data, columns=boston.feature_names) df['MEDV'] = boston.target
现在,我们可以使用statsmodels中的RLM(Robust Linear Model)类来拟合一个稳健的回归模型:
X = df.drop('MEDV', axis=1) y = df['MEDV'] # The predictor variables should include a constant term. X = sm.add_constant(X) # Fit the robust regression model robust_model = sm.RLM(y, X, M=sm.robust.norms.HuberT()) robust_results = robust_model.fit()
在提供的代码片段中,一个初始步骤是将预测变量(X)与目标变量(y)分开。为了适应回归方程中的截距项,随后将常数项附加到预测变量上。最后,利用RLM类构建了一个鲁棒回归模型,并采用了HuberT范数作为一种常见的鲁棒估计方法。
一旦模型拟合完成,我们可以获得参数估计值和其他统计信息:
print(robust_results.summary())
summary()函数提供了模型的全面摘要,包括参数估计值、标准误差、t值和p值。它还显示诊断信息,例如模型拟合期间执行的迭代次数和收敛状态。
当处理包含异常值或违反正态性假设的数据时,鲁棒回归技术相比传统回归方法具有许多优势。本文将深入探讨采用鲁棒回归的关键好处,突出其在处理具有挑战性数据场景中的优势。让我们来探索利用鲁棒回归技术的优势:
增加的鲁棒性:鲁棒回归方法旨在处理异常值和有影响力的观测值,提供对模型参数更可靠的估计。这使得模型对极端观测值的敏感性降低,从而提高了整体的预测性能。
更好的模型解释:通过降低异常值的影响,鲁棒回归模型提供更能代表大部分数据的参数估计。这增强了模型的可解释性,因为估计的系数反映了在没有极端观测值的情况下,预测变量与目标变量之间的关系。
多功能性:强大的回归技术可以应用于广泛的回归问题,包括简单线性回归、多元线性回归和非线性回归。这使得它们适用于经济学、金融学、社会科学和工程学等领域的各种应用。
易于实现:鲁棒回归方法可以使用Python等流行编程语言中的现成库进行实现。这简化了将鲁棒回归纳入现有机器学习工作流程的过程。
鲁棒回归是一种有价值的技术,用于在数据包含异常值或违反传统回归方法假设的情况下提高机器学习模型的可靠性和准确性。通过降低极端观测值的影响,鲁棒回归提供更稳健的参数估计和更好的预测性能。Python和类似statsmodels的库提供了方便的工具来实现鲁棒回归模型。通过将鲁棒回归技术纳入到您的机器学习工作流程中,您可以为各种应用构建更可靠和准确的预测模型。