当前位置: 首页 > news >正文

机器学习-回归分析之如何建立回归模型

📘机器学习-回归分析之如何建立回归模型


✅ 一、回归建模的总体流程

回归建模不是直接上来就算公式,而是按步骤来

课程里给出的流程:

1️⃣ 需求分析 & 明确变量
2️⃣ 数据加工处理
3️⃣ 确定回归模型形式
4️⃣ 模型参数估计
5️⃣ 模型检验优化
6️⃣ 模型部署应用


✅ 二、第一步:需求分析 & 明确变量

核心思想:

明确研究目标 → 明确因变量(Y) → 选择解释变量(X)

示例:房价预测
因变量:房价(要预测的指标)
解释变量:影响房价的因素,如:

✔ 面积
✔ 位置
✔ 房龄
✔ 户型
✔ 周围环境
✔ 交通便利度
✔ 学区
✔ ……

📌 解释变量选择要基于“业务知识 + 数据可获取性”


✅ 三、第二步:数据加工处理(Data Preprocessing)

包括:

操作目的
缺失值处理避免模型因数据不完整失效
异常值处理去除极端错误数据
标准化/归一化避免不同量纲影响训练结果
特征类型转换数值化分类变量(如One-hot编码)
数据清洗与筛选提高数据质量

📌 数据质量直接决定模型上限
一句话总结:Garbage in, Garbage out


✅ 四、第三步:确定回归模型形式

按照关系类型判断:

  • 若为线性关系 → 线性回归
  • 若为非线性关系 → 可变换、可使用非线性回归或扩展特征

开始阶段通常从最简单的线性模型试起

[y=a+b1​x1​+…+bp​xp​+ε]


✅ 五、第四步:模型参数估计的目标

找到最优参数,使模型预测值与真实值之间误差最小

回归模型一般形式:

[y=y^​=f(x)=β0​+β1​x1​+…+βp​xp]

要估计的参数:

✅ 截距:(β0)
✅ 斜率/权重:(β1​,β2​,…)


1、最常用的方法:最小二乘法(OLS)

核心思想非常通俗👇

让所有样本的预测误差平方和最小
→ 画一条误差最小的“最佳拟合直线”

数学形式:
mini=1∑n​(yi​−yi​^​)2

📌 为什么平方?

  • 避免正负误差抵消
  • 强调大误差,使模型更准确

2、最小二乘法关注误差“残差”

[εi​=yi​−yi​^​]

残差越小 → 模型拟合越好
后续模型检验基本都围绕 残差规律性 展开


3、当基本假设不满足时怎么办?

屏幕中提到:

在不满足基本假设的情况下
还会采用岭回归、主成分回归、偏最小二乘等

这些属于 改进回归方法
为了解决:

问题替代方法
多重共线性严重岭回归、Lasso、主成分回归
自变量太多且冗余特征选择、偏最小二乘
噪声大且特征间相关性高PLS(偏最小二乘)

✅ 六、第五步:模型参数估计

1、为什么要做模型检验?

虽然最小二乘法能找到“最佳拟合线”,但:

  • 拟合好 ≠ 模型一定科学
  • 自变量是否显著?是否有多重共线性?
  • 残差是否符合基本假设?

📌 检验就是为了确认模型能否“可靠解释”因果关系!


2、回归模型基本假设(OLS成立条件)

分类假设内容含义通俗解释
线性关系假设(y = X\beta + \epsilon)自变量与因变量是直线趋势
残差独立性残差之间不相关误差不能互相串通
残差方差齐性方差恒定(不随x变化)噪声稳定,不随位置放大
残差正态性残差服从正态分布误差分布是正常的,不是偏斜怪样
无多重共线性自变量不高度相关特征不能重复表达同一信息

📌 有一个不满足,就要进行模型优化或替代方法


3、模型显著性检验(T检验 & F检验)

检验检验对象意义
F检验整体回归方程自变量整体是否有效
T检验单个自变量参数变量是否显著影响因变量

👇结果解释(假设显著性水平α=0.05)

统计值p < 0.05 表示p ≥ 0.05 表示
F检验模型整体有效模型无效
T检验该变量有效变量无用可剔除

⚠️常作为特征选择依据


4、残差分析(模型诊断最重要手段)

分析内容怎么看?如果不满足怎么办?
残差 vs 预测值图应随机分布变换、加特征、加多项式
残差正态性Q-Q图、Shapiro检验对数变换、Box-Cox变换
方差齐性BP检验、残差趋势加权回归、变量变换
异常点 & 高杠杆值Cook距离剔除/特殊处理

5、模型优化(当假设不满足时)

问题解决方法
线性关系不满足加交互项、多项式回归
异方差对数、Box-Cox、加权回归
多重共线性严重岭回归、Lasso、主成分回归
残差偏态数据变换或替换方法
自变量过多、不重要特征选择(逐步回归等)

✅ 七、案例总结口诀

先定Y → 选X → 清洗数据 → 确定模型 → 算参数 → 检验补强 → 投入使用

模型建设不是一次完成,而是一个反复优化的过程。


✅ 八、Galton 身高数据 — 线性回归建模复现

核心目标:使用父母身高预测子代身高
经典示例:展示“回归到均值”效应


1、数据来源说明

Galton 数据是 R 语言 usingR 包中经典数据,Python 中可通过 statsmodels 获取。


2、 可运行完整代码(Python)

# ----------------------------
# 1️⃣ 加载数据
# ----------------------------
import statsmodels.api as sm
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as snsgalton = sm.datasets.get_rdataset("Galton", "HistData").data
df = galton[['child', 'parent']]
df.columns = ['Child', 'Parent']df.head()
# ----------------------------
# 2️⃣ 数据探索
# ----------------------------
plt.figure(figsize=(6,5))
sns.scatterplot(x='Parent', y='Child', data=df)
plt.title("Parent vs Child Height (Galton Data)")
plt.show()
# ----------------------------
# 3️⃣ 建立线性回归模型
# ----------------------------
X = sm.add_constant(df['Parent'])
y = df['Child']model = sm.OLS(y, X).fit()
print(model.summary())

模型输出重点解释

指标含义
coef(系数)父母每高 1 英寸,孩子平均高 x 英寸
拟合程度(解释方差比例)
P-value显著性检验结果
const回归到均值现象(截距 > 0)

# ----------------------------
# 4️⃣ 回归线可视化
# ----------------------------
plt.figure(figsize=(6,5))
sns.regplot(x='Parent', y='Child', data=df)
plt.title("Regression: Parent → Child Height")
plt.show()

# ----------------------------
# 5️⃣ 残差诊断
# ----------------------------
residuals = model.residfig, ax = plt.subplots(1,2, figsize=(12,5))sns.scatterplot(x=model.fittedvalues, y=residuals, ax=ax[0])
ax[0].axhline(0, color='red')
ax[0].set_title("Residual vs Fitted")sm.qqplot(residuals, line='s', ax=ax[1])
ax[1].set_title("Residual Q-Q Plot")plt.show()

3、 结果解释(要点总结)

📌 回归方程示例:
[Child=a+b⋅Parent]

  • b < 1:表示子代不会无限制变高,而是向均值回归
  • 这也解释了“回归”一词的统计起源✅

📌 假设检验:

  • 残差多为随机分布 → 线性假设基本成立
  • Q-Q 图略有偏差 → 存在轻微非正态
  • 同方差性尚可

4、结论一句话

父母更高 → 子女更高,但也会向平均身高回归(回归现象)

http://www.dtcms.com/a/546236.html

相关文章:

  • 做网站用什么编程软件h5制作平台人人秀
  • 重庆建站网络公司黄页荔枝抖音
  • K8s的包管理工具--Helm3函数(2)
  • 做网站骗河西集团网站建设
  • 如何制作网站的横幅seo全网营销
  • 网站主机要多少钱wordpress网站推广主题
  • 在不确定的时代中,唯一确定的是要有“改变的能力”
  • 仓颉的空安全基石:Option类型的设计与实践
  • 用php做的订票网站上海著名企业
  • 2025年搭建属于自己的网站HEXO静态页(四)网站页面美化
  • LangChain4j学习8:RAG (检索增强生成)
  • 【Unity每日一记】Unity物理引擎:刚体与碰撞体详解
  • 目前做哪个网站能致富贸易公司注册需要什么条件
  • Leetcode刷题笔记-最短无序连续子数组
  • 网站后台logo如何注册域名和网站
  • 前端笔试题 | 整理总结 ing | 跨域 + fetch + credentials(携带cookie)
  • 装饰器模式(c++版)
  • 现代感网站湖南网站开发公司电话
  • 手机网站设计机构seo站长工具平台
  • p2p理财网站开发流程wordpress5.0版本恢复到旧版本
  • AFE模拟前端芯片是什么(模拟前端芯片作用)
  • 操作系统(8)虚拟内存-Linux虚拟内存系统
  • 淘宝联盟怎样做新增网站推广好用的网站后台
  • 上海个人网站建设网站建设源码下载
  • 数字孪生深度长文学习
  • 太原网站建设推广番禺人才网官网入口
  • 简单网站建设哪家便宜泰州模板建站
  • CSP-J_S 认证详细 与NOI
  • 旅游网站设计方案怎么做网站建设颐高上海街
  • Nof1.ai 的开源复刻版:让 AI 成为你的量化交易员(附提示词模板)