回归分析系列22— 稳健回归

23章 稳健回归

23.1 简介

稳健回归是一种在数据中存在异常值或噪声时,依然能够提供合理估计的回归方法。传统的线性回归对异常值非常敏感,因为它最小化的是平方误差。这意味着大的离群点会对回归系数产生很大影响。

23.2 常见的稳健回归方法

稳健回归方法通过对异常值降低权重,或者对损失函数进行修正,以减少这些点对模型的影响。常见的稳健回归方法包括:

  1. M估计:通过改变损失函数,使得它对异常值不敏感。
  2. RANSAC:随机抽样一致性方法,通过随机选择样本,迭代寻找最佳模型。
  3. LAD回归:最小绝对偏差回归,最小化绝对误差,而不是平方误差。

在Python中,我们可以使用scikit-learn中的RANSACRegressorHuberRegressor来实现稳健回归。

python 复制代码
from sklearn.linear_model import HuberRegressor
from sklearn.metrics import mean_absolute_error
import numpy as np

# 生成模拟数据,添加异常值
np.random.seed(42)
X = np.random.randn(100, 1)
y = 2 * X.flatten() + 1 + np.random.randn(100)
y[::10] += 10  # 添加异常值

# 使用Huber回归
huber = HuberRegressor()
huber.fit(X, y)
y_pred_huber = huber.predict(X)

# 计算误差
mae_huber = mean_absolute_error(y, y_pred_huber)
print(f'Huber Regressor MAE: {mae_huber:.3f}')

23.3 应用实例:稳健回归在经济数据中的应用

经济数据往往包含异常值,例如由于数据录入错误或极端经济事件。传统回归模型在处理这些异常值时,往往会产生偏差。通过稳健回归方法,我们可以有效减小这些异常值的影响,从而获得更准确的模型。

python 复制代码
from sklearn.linear_model import RANSACRegressor
from sklearn.linear_model import LinearRegression

# 使用RANSAC回归
ransac = RANSACRegressor(base_estimator=LinearRegression(), min_samples=50, residual_threshold=5.0)
ransac.fit(X, y)
y_pred_ransac = ransac.predict(X)

# 计算误差
mae_ransac = mean_absolute_error(y, y_pred_ransac)
print(f'RANSAC Regressor MAE: {mae_ransac:.3f}')

在这段代码中,RANSACRegressor通过迭代选择部分数据进行模型拟合,并排除异常值的影响,最终获得稳健的回归系数。

23.4 稳健回归的局限性

虽然稳健回归在处理异常值时具有优势,但它也有一定的局限性。例如,稳健回归方法往往需要更多的计算资源,尤其是在数据量大且异常值多的情况下。此外,在异常值较少时,稳健回归的表现可能不如传统回归模型。

相关推荐
fytianlan1 天前
机器学习 day6 -线性回归练习
人工智能·机器学习·线性回归
郜太素3 天前
PyTorch 线性回归模型构建与神经网络基础要点解析
pytorch·神经网络·线性回归·激活函数
Allen Bright6 天前
【机器学习-线性回归-6】机器学习中的维度:从特征工程到降维艺术
人工智能·机器学习·线性回归
kngines8 天前
【PostgreSQL数据分析实战:从数据清洗到可视化全流程】6.2 预测分析基础(线性回归/逻辑回归实现)
postgresql·数据分析·逻辑回归·线性回归·roc曲线·z-score
云天徽上9 天前
【机器学习案列-22】基于线性回归(LR)的手机发布价格预测
人工智能·算法·机器学习·智能手机·数据挖掘·数据分析·线性回归
正在读博的学术灰姑娘12 天前
4.8/Q1,中山大学用NHANES:膳食烟酸摄入量与非酒精性脂肪肝之间的关联
数据挖掘·线性回归·健康医疗·数据库开发·时序数据库
缘友一世16 天前
从线性回归到逻辑回归
算法·逻辑回归·线性回归
蹦蹦跳跳真可爱58917 天前
Python----深度学习(基于DNN的PM2.5预测)
人工智能·pytorch·python·深度学习·线性回归·dnn
cndrip17 天前
【量化交易笔记】17.多因子的线性回归模型策略
笔记·线性回归
小L爱科研17 天前
5.3/Q1,GBD数据库最新文章解读
数据库·数据分析·逻辑回归·线性回归·健康医疗