线性回归全解析:从基础到实战(Python代码+案例演示)

一、线性回归核心原理

1. 模型定义与公式
线性回归通过建立自变量XX与因变量YY的线性关系进行预测:

  • 一元回归‌:y=β0+β1x+ϵy=β0​+β1​x+ϵ,适用于单变量分析‌。
  • 多元回归‌:y=β0+β1x1+⋯+βnxn+ϵy=β0​+β1​x1​+⋯+βn​xn​+ϵ,解决多因素影响问题‌。

2. 参数估计方法

  • 最小二乘法‌:最小化残差平方和∑(yi−y^i)2∑(yi​−y^​i​)2,通过正规方程β=(XTX)−1XTyβ=(XTX)−1XTy求解参数‌。
  • 梯度下降‌:适用于高维数据,通过迭代优化ββ值‌。

3. 模型假设

  • 线性关系、误差项正态性、同方差性、无多重共线性(需通过VIF值检验)‌。

二、Python代码实现

1. 数据预处理

import pandas as pd  
import numpy as np  
from sklearn.model_selection import train_test_split  

# 读取数据(示例:广告费与销售额)  
data = pd.read_csv("advertising.csv")  
X = data[["TV"]]  # 自变量  
y = data["Sales"]  # 因变量  

# 划分训练集与测试集  
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2)  

2. 模型训练与预测

from sklearn.linear_model import LinearRegression  

# 训练模型  
model = LinearRegression()  
model.fit(X_train, y_train)  

# 预测并评估  
y_pred = model.predict(X_test)  
print(f"斜率:{model.coef_:.2f},截距:{model.intercept_:.2f}")  

三、模型评估与诊断

1. 关键指标

  • R²(决定系数)‌:衡量模型解释变量变异的比例,接近1表示拟合优度高‌。
  • 调整R²‌:修正自变量数量对R²的影响,防止过拟合‌。

2. 统计检验

  • F检验‌:验证模型整体显著性(p值<0.05时有效)‌。
  • 残差分析‌:绘制残差图检查正态性、同方差性。

四、实战案例解析

案例1:员工工资预测

  • 数据背景‌:初始工资、教育程度、工作经验对当前工资的影响‌。
  • 关键步骤‌:
    1. 相关性筛选‌:剔除与工资无关的变量(如工作时间)‌。
    2. 多元回归建模‌:最终模型显示工作经验每增加1年,工资增长约$1200‌。

案例2:共享单车骑行量预测

  • 数据特征‌:季节、天气、节假日对骑行量的影响‌。
  • 模型优化‌:采用岭回归(Ridge)解决多重共线性,R²提升至0.85‌。

五、进阶技巧与避坑指南

1. 正则化方法

  • 岭回归(L2正则化)‌:解决特征共线性问题,限制参数大小‌。
  • Lasso(L1正则化)‌:自动筛选重要特征,适用于高维数据‌。

2. 常见误区

  • 忽略数据清洗‌:异常值需通过标准化或Winsorizing处理‌。
  • 机器学习人工智能‌盲目增加变量‌:无关特征会降低模型泛化能力(参考案例1)‌。

六、学习资源推荐
  • 工具库‌:Scikit-learn(Python)、caret(R)‌。
  • 书籍‌:《统计学习基础》《Python机器学习实战》‌。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值
OSZAR »