数学建模常用模型(九) :偏最小二乘回归分析

数学建模常用模型(九) :偏最小二乘回归分析

偏最小二乘回归(Partial Least Squares Regression,PLS Regression)是一种常用的统计建模方法,用于解决多元线性回归中自变量间高度相关的问题。在偏最小二乘回归中,通过将原始自变量转换为一组新的综合变量(称为主成分或潜在变量),然后再使用这些主成分进行回归分析,从而减少自变量之间的共线性,并且提高模型的稳定性和预测能力。
这是我自己总结的一些代码和资料(本文中的代码以及参考书籍等),放在github上供大家参考: https://github.com/HuaandQi/Mathematical-modeling.git

1.补充介绍

偏小二乘回归提供一种多对多线性回归建模的方法,特别当两组变量的个数很多,且都存在多重相关性,而观测数据的数量(样本量)又较少时,用偏小二乘回归建立的模型具有传统的经典回归分析等方法所没有的优点。

偏小二乘回归分析在建模过程中集中了主成分分析,典型相关分析和线性回归分析方法的特点,因此在分析结果中,除了可以提供一个更为合理的回归模型外,还可以同时完成一些类似于主成分分析和典型相关分析的研究内容,提供更丰富、深入的一些信息。

2.程序实例

cpp 复制代码
import numpy as np
from sklearn.cross_decomposition import PLSRegression
from sklearn.preprocessing import StandardScaler
import matplotlib.pyplot as plt

# 原始数据,自变量X和因变量y
X = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9], [10, 11, 12]])
y = np.array([1, 2, 3, 4])

# 对自变量进行标准化处理
scaler = StandardScaler()
X_scaled = scaler.fit_transform(X)

# 创建PLSRegression对象,并指定主成分个数为2
pls = PLSRegression(n_components=2)

# 进行偏最小二乘回归分析
pls.fit(X_scaled, y)

# 获得预测值
y_pred = pls.predict(X_scaled)

# 绘制原始数据和预测值
plt.figure(figsize=(8, 6))
plt.scatter(y, y_pred, c='b', label='Predicted vs. Observed')
plt.plot([min(y), max(y)], [min(y), max(y)], 'k--', lw=2, label='Perfect Fit')
plt.xlabel('Observed')
plt.ylabel('Predicted')
plt.title('PLS Regression')
plt.legend()
plt.grid(True)
plt.show()

在上述代码中,我们首先定义了原始数据矩阵X和因变量向量y,然后创建了一个PLSRegression对象并指定保留的主成分个数为2。接下来,使用fit()方法进行偏最小二乘回归分析,并使用coef_属性获取回归系数。最后,使用predict()方法对原始数据进行预测,并获得预测值y_pred。请根据实际情况调整原始数据和保留的主成分个数,并根据需要对结果进行解释和分析。

运行上述代码,将绘制散点图来展示观察值(原始数据)与预测值之间的关系。如果模型拟合良好,散点图中的点应该基本落在对角线上。如果点主要集中在对角线上方,则预测值高估了观察值;如果点主要集中在对角线下方,则预测值低估了观察值。在理想情况下,所有点都应该在对角线上。

3.运行结果

相关推荐
m0_587383001 小时前
西安同城拼车软件开发实战指南:从零搭建高效系统
人工智能·小程序·数据挖掘·系统架构·需求分析
一只专注api接口开发的技术猿2 小时前
告别手工复制粘贴:搭建电商商品自动化监控与数据分析实践
大数据·运维·数据挖掘·数据分析·自动化
szarron2 小时前
VNA6 便携式矢量网络分析仪|1MHz‑6.3GHz 手持 VNA 真实应用场景全解析
前端·嵌入式硬件·信息可视化·数据挖掘·数据分析
梦帮科技3 小时前
万亿 Token 工业级语料洗炼:MinHash LSH 兆级去重、语义纯化与元提示词泄漏绝对阻断
人工智能·深度学习·神经网络·生成对抗网络·自然语言处理·数据挖掘
瑞兴生物RXBio5 小时前
转录组数据分析踩坑:RNA 结果与预期不符、RNA 和蛋白表达不一致,6 大方向排查方案
数据挖掘·数据分析·生信分析·转录组
IT毕设梦工厂9 小时前
计算机毕业设计选题推荐:基于大数据的二手车数据可视化分析|毕业设计选题|计算机毕设|选题推荐|毕设指导|项目定制|源码|高质量项目
大数据·hadoop·python·数据挖掘·数据分析·课程设计·数据分析数据可视化
计算机源码社12 小时前
【27届大数据毕设】基于机器学习与数据挖掘的电影评分预测与可视化大屏 基于Spark内存计算的电影译名流向与主题词云可视化分析
大数据·hadoop·机器学习·数据挖掘·spark·毕业设计·课程设计
databook17 小时前
检测数据异常值的五种统计技术
python·数据挖掘·数据分析
2603_965148116 天前
AI+API选品:下一代智能商务助手雏形已现
java·大数据·数据库·人工智能·数据挖掘
成为深度学习高手6 天前
CrossLinear:即插即用的跨相关嵌入,让线性模型也能用好外生变量
人工智能·python·深度学习·数据挖掘