前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >MATLAB偏最小二乘回归(PLSR)和主成分回归(PCR)分析光谱数据|附代码数据

MATLAB偏最小二乘回归(PLSR)和主成分回归(PCR)分析光谱数据|附代码数据

原创
作者头像
拓端
发布于 2023-06-02 15:27:10
发布于 2023-06-02 15:27:10
45800
代码可运行
举报
文章被收录于专栏:拓端tecdat拓端tecdat
运行总次数:0
代码可运行

全文链接:http://tecdat.cn/?p=2655

最近我们被客户要求撰写关于偏最小二乘回归的研究报告,包括一些图形和统计输出。

此示例显示如何在matlab中应用偏最小二乘回归(PLSR)和主成分回归(PCR),并讨论这两种方法的有效性 点击文末“阅读原文”获取完整代码数据********

当存在大量预测变量时,PLSR和PCR都是对因变量建模的方法,并且这些预测变量高度相关或甚至共线性。两种方法都将新的预测变量(称为成分)构建为原始预测变量的线性组合,但它们以不同的方式构造这些成分。PCR创建成分来解释预测变量中观察到的变异性,而根本不考虑因变量。另一方面,PLSR确实将因变量考虑在内,因此通常会导致模型能够使用更少的成分来适应因变量。

加载数据

加载包括401个波长的60个汽油样品的光谱强度及其辛烷值的数据集。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
set(gcf,'DefaultAxesColorOrder',jet(60));xlabel('Wavelt Inde'); ylabel('Oct'); axis('tiht');grid on

点击标题查阅往期内容

Matlab中的偏最小二乘法(PLS)回归模型,离群点检测和变量选择

01

02

03

04

使用两个拟合数据

使PLSR模型拟合10个PLS成分和一个因变量。

为了充分拟合数据,可能需要十个成分,但可以使用此拟合的诊断来选择具有更少成分的更简单模型。例如,选择成分数量的一种快速方法是将因变量中解释的方差百分比绘制为成分数量的函数。

在实践中,在选择成分数量时可能需要更加谨慎。例如,交叉验证是一种广泛使用的方法,稍后将在本示例中进行说明。目前,上图显示具有两个成分的PLSR解释了观察到的大部分方差y。计算双组分模型的拟合因变量。

接下来,拟合具有两个主要成分的PCR模型。第一步是X使用该pca函数执行主成分分析,并保留两个主成分。然后,PCR只是这两个成分的因变量的线性回归。当变量具有非常不同的可变性时,通常首先通过其标准偏差来规范每个变量。

从某种意义上说,上图中的比较并不合理 - 通过观察双组分PLSR模型预测因变量的程度来选择成分数(两个),并且没有说明为什么PCR模型应该限制相同数量的成分。然而,使用相同数量的成分,PLSR做得更好。实际上,观察上图中拟合值的水平分布,使用两个分量的PCR几乎不比使用常数模型好。回归的r方值证实了这一点。

比较两种模型的预测能力的另一种方法是在两种情况下将因变量绘制成两个预测变量。

如果不能以交互方式旋转图形,有点难以看到,但上面的PLSR图显示了紧密分散在平面上的点。另一方面,下面的PCR图显示点几乎没有线性关系。

请注意,尽管两个PLS成分是观察到的更好的预测因子,但下图显示它们解释的方差比例比PCR中使用的前两个主成分少。

PCR曲线一致性较高的事实表明,为什么使用两种成分的PCR相对于PLSR在拟合时表现很差。PCR构建成分以便最好地解释X,因此,前两个成分忽略了数据拟合中观察到的重要信息y。

拟合更多成分

随着在PCR中添加更多成分,它必然会更好地拟合原始数据y,这仅仅是因为在某些时候,大多数重要的预测信息X将存在于主要成分中。例如,使用10个成分时,两种方法的残差远小于两个成分的残差。

交叉验证

在预测未来变量的观察结果时,选择成分数量以减少预期误差通常很有用。简单地使用大量成分将很好地拟合当前观察到的数据,但这是一种导致过度拟合的策略。过于拟合当前数据会导致模型不能很好地推广到其他数据,并对预期误差给出过度乐观的估计。

交叉验证是一种更加统计上合理的方法,用于选择PLSR或PCR中的成分数量。它通过不重复使用相同的数据来拟合模型和估计预测误差来避免过度拟合数据。因此,预测误差的估计不会乐观地向下偏差。

pls可以选择通过交叉验证来估计均方预测误差(MSEP),在这种情况下使用10倍CV。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
plsreg(X,y,10'CV'10;

对于PCR,crossval结合用于计算PCR的平方误差之和,可以再次使用10倍交叉验证来估计MSEP。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
 sum(crossval(@ pcrsse,X,y,'KFold'10),1/ n;

PLSR的MSEP曲线表明两个或三个成分好。另一方面,PCR需要四个成分才能获得相同的预测精度。

事实上,PCR中的第二个成分会增加模型的预测误差,这表明该成分中包含的预测变量的组合与其没有很强的相关性y。再次,这是因为PCR构建成分来解释X,而不是y。

模型简约

因此,如果PCR需要四个成分来获得与具有三个成分的PLSR相同的预测精度,那么PLSR模型是否更加简约?这取决于您考虑的模型的哪个方面。

PLS权重是定义PLS分量的原始变量的线性组合,即,它们描述了PLSR中的每个分量依赖于原始变量的权重。

类似地,PCA载荷描述了PCR中每个成分依赖于原始变量的强度。

对于PLSR或PCR,可以通过检查每个成分最重要的变量来为每个成分提供有意义的解释。例如,利用这些光谱数据,可以根据汽油中存在的化合物解释强度峰值,然后观察特定成分的权重挑选出少量这些化合物。从这个角度来看,更少的成分更易于解释,并且由于PLSR通常需要更少的成分来充分预测因变量,因此会导致更简约的模型。

另一方面,PLSR和PCR都导致每个原始预测变量的一个回归系数加上截距。从这个意义上讲,两者都不是更简约,因为无论使用多少成分,两种模型都依赖于所有预测变量。更具体地,对于这些数据,两个模型都需要401个光谱强度值以进行预测。

然而,最终目标可能是将原始变量集减少到仍然能够准确预测因变量的较小子集。例如,可以使用PLS权重或PCA载荷来仅选择对每个成分贡献最大的那些变量。如前所示,来自PCR模型拟合的一些成分可主要用于描述预测变量的变化,并且可包括与因变量不强相关的变量的权重。因此,PCR会导致保留预测不必要的变量。

对于本例中使用的数据,PLSR和PCR所需的成分数量之间的差异不是很大,PLS权重和PCA载荷选择了相同的变量。其他数据可能并非如此。

有问题欢迎下方留

本文选自《偏最小二乘回归(PLSR)和主成分回归(PCR)分析光谱数据》。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
偏最小二乘回归(PLSR)和主成分回归(PCR)分析光谱数据|附代码数据
此示例显示如何在matlab中应用偏最小二乘回归(PLSR)和主成分回归(PCR),并讨论这两种方法的有效性(点击文末“阅读原文”获取完整代码数据)。
拓端
2022/11/02
1.4K0
偏最小二乘回归(PLSR)和主成分回归(PCR)
此示例显示如何在matlab中应用偏最小二乘回归(PLSR)和主成分回归(PCR),并讨论这两种方法的有效性。当存在大量预测变量时,PLSR和PCR都是对响应变量建模的方法,并且这些预测变量高度相关或甚至共线。两种方法都将新的预测变量(称为组件)构建为原始预测变量的线性组合,但它们以不同的方式构造这些组件。PCR创建组件来解释预测变量中观察到的变异性,而根本不考虑响应变量。另一方面,PLSR确实将响应变量考虑在内,因此通常会导致模型能够使用更少的组件来适应响应变量。
拓端
2020/08/04
2.3K0
偏最小二乘回归(PLSR)和主成分回归(PCR)
Python用偏最小二乘回归Partial Least Squares,PLS分析桃子近红外光谱数据可视化
PLS,即偏最小二乘(Partial Least Squares),是一种广泛使用的回归技术,用于帮助客户分析近红外光谱数据。如果您对近红外光谱学有所了解,您肯定知道近红外光谱是一种次级方法,需要将近红外数据校准到所要测量的参数的主要参考数据上。这个校准只需在第一次进行。一旦校准完成且稳健,就可以继续使用近红外数据预测感兴趣参数的值。
拓端
2023/11/27
8730
【视频讲解】偏最小二乘结构方程模型PLS-SEM分析白茶产业数字化对共同富裕的影响|附代码数据
本文将通过视频讲解,展示如何用偏最小二乘结构方程模型PLS-SEM分析白茶产业数字化对共同富裕的影响,并结合Python用偏最小二乘回归Partial Least Squares,PLS分析桃子近红外光谱数据可视化实例和R语言结构方程模型SEM、路径分析房价和犯罪率数据、预测智力影响的代码数据,为读者提供一套完整的实践数据分析流程(点击文末“阅读原文”获取完整代码数据)。
拓端
2025/01/15
3320
【视频讲解】偏最小二乘结构方程模型PLS-SEM分析白茶产业数字化对共同富裕的影响|附代码数据
Matlab中的偏最小二乘法(PLS)回归模型,离群点检测和变量选择|附代码数据
本文建立偏最小二乘法(PLS)回归(PLSR)模型,以及预测性能评估。为了建立一个可靠的模型,我们还实现了一些常用的离群点检测和变量选择方法,可以去除潜在的离群点和只使用所选变量的子集来 "清洗 "你的数据。
拓端
2023/01/10
1.2K0
Matlab中的偏最小二乘法(PLS)回归模型,离群点检测和变量选择|附代码数据
本文建立偏最小二乘法(PLS)回归(PLSR)模型,以及预测性能评估。为了建立一个可靠的模型,我们还实现了一些常用的离群点检测和变量选择方法,可以去除潜在的离群点和只使用所选变量的子集来 "清洗 "你的数据 。
拓端
2022/11/21
8440
高维数据惩罚回归方法:主成分回归PCR、岭回归、lasso、弹性网络elastic net分析基因数据|附代码数据
最近我们被客户要求撰写关于高维数据惩罚回归方法的研究报告,包括一些图形和统计输出。
拓端
2023/04/12
8580
偏最小二乘法(PLS)
PLS是交叉分解的第二个重要算法族,在python等语言中也有相应的包实现。一般如果需要在研究多个自变量与因变量的关系话题中,绕不过去的就是多元回归,包括以线性关系为主的多元线性回归和高次多项式为主的响应面分析,众所周知,在多元线性回归中一般可以用最小二乘法计算每个自变量的系数,这一理论比较成熟,其系数矩阵
用户7506105
2021/08/06
2.7K0
R语言中的偏最小二乘回归PLS-DA
今天,我们将 在Arcene数据集上执行PLS-DA, 其中包含100个观察值和10,000个解释变量。
拓端
2023/12/02
3860
R语言中的偏最小二乘回归PLS-DA
R语言中的岭回归、套索回归、主成分回归:线性模型选择和正则化
在本课程中,我们将考虑一些线性模型的替代拟合方法,除了通常的  普通最小二乘法。这些替代方法有时可以提供更好的预测准确性和模型可解释性。
拓端
2020/08/21
3.3K0
R语言中的偏最小二乘回归PLS-DA
主成分回归(PCR)的方法 本质上是使用第一个方法的普通最小二乘(OLS)拟合来自预测变量的主成分(PC)(点击文末“阅读原文”获取完整代码数据)。
拓端
2025/01/01
1510
R语言中的偏最小二乘回归PLS-DA
R语言中的偏最小二乘回归PLS-DA
今天,我们将 在Arcene数据集上执行PLS-DA,  其中包含100个观察值和10,000个解释变量。
拓端
2020/09/25
1.9K0
R语言实现偏最小二乘回归法 partial least squares (PLS)回归
偏最小二乘回归是一种回归形式 。  当使用pls时,新 的线性组合有助于解释模型中的自变量和因变量。
拓端
2020/09/25
3.9K0
拓端tecdat|R语言 PCA(主成分分析),CA(对应分析)夫妻职业差异和马赛克图可视化
主成分分析法是数据挖掘中常用的一种降维算法,是Pearson在1901年提出的,再后来由hotelling在1933年加以发展提出的一种多变量的统计方法,其最主要的用途在于“降维”,通过析取主成分显出的最大的个别差异,也可以用来削减回归分析和聚类分析中变量的数目,与因子分析类似。
拓端
2021/06/29
8530
R语言中的偏最小二乘PLS回归算法
我将围绕结构方程建模(SEM)技术进行一些咨询,以解决独特的业务问题。我们试图识别客户对各种产品的偏好,传统的回归是不够的,因为数据集的高度分量以及变量的多重共线性。PLS是处理这些有问题的数据集的强大而有效的方法。
拓端
2020/08/28
1.6K0
R语言PCA主成分、lasso、岭回归降维分析全球气候变化对各国土地面积影响
机器学习在环境监测领域的应用,着眼于探索全球范围内的环境演化规律,人类与自然生态之间的关系以及环境变化对人类生存的影响。
拓端
2023/01/31
4150
高维变量选择专题|R、Python用HOLP、Lasso、SCAD、PCR、ElasticNet实例合集分析企业财务、糖尿病
本专题合集聚焦高维数据场景下的稀疏建模与变量选择,通过 R 语言与 Python 双平台技术栈,系统解析企业财务分析与基因数据挖掘两大领域的核心方法论。合集深度整合 HOLP-Adaptive Lasso 二阶段模型、SCAD 平滑剪切绝对偏差惩罚、主成分回归(PCR)、弹性网络(Elastic Net)等前沿算法,结合国泰安 2021 年信息技术企业财务数据集与哺乳动物基因表达数据集,构建完整的高维数据分析闭环(点击文末“阅读原文”获取完整代码、数据、文档)。
拓端
2025/03/20
1720
高维变量选择专题|R、Python用HOLP、Lasso、SCAD、PCR、ElasticNet实例合集分析企业财务、糖尿病
数据分析师需要掌握的10个统计学知识
Glassdoor利用庞大的就业数据和员工反馈信息,统计了美国25个最佳职位排行榜,其中,数据科学家排名第一。这个工作的重要性可见一斑。毫无疑问,数据科学家所做的事情是不断变化和发展的。随着机器学习的普遍应用,数据科学家们将继续在创新和技术进步浪潮中独领风骚。
1480
2019/05/22
1.4K0
当今最火10大统计算法,你用过几个?
为什么学习统计学习?理解不同技术背后的理念非常重要,它可以帮助你了解如何使用以及什么时候使用。同时,准确评估一种方法的性能也非常重要,因为它能告诉我们某种方法在特定问题上的表现。此外,统计学习也是一个很有意思的研究领域,在科学、工业和金融领域都有重要的应用。最后,统计学习是训练现代数据科学家的基础组成部分。 统计学习方法的经典研究主题包括: 线性回归模型 感知机 k 近邻法 朴素贝叶斯法 决策树 Logistic 回归与最大熵模型 支持向量机 提升方法 EM 算法 隐马尔可夫模型 条件随机场 之后我将介绍
BestSDK
2018/03/02
1.2K0
当今最火10大统计算法,你用过几个?
RDA-PLS:多数据集关联分析
在现代微生物组学分析中,高通量的测试方法使得研究者可以一次性获取大量的数据信息,这时候所获得的数据里可能存在大量“冗余”;此外,在实际操作中,研究人员为避免遗漏重要的系统特征,往往倾向于较周到的选取测试指标,这些变量之间也很可能存在多重共线性。因此,在大数据量的多个数据集之间进行分析时,常常难以有效的进行数据挖掘。
SYSU星空
2022/05/05
9871
RDA-PLS:多数据集关联分析
推荐阅读
偏最小二乘回归(PLSR)和主成分回归(PCR)分析光谱数据|附代码数据
1.4K0
偏最小二乘回归(PLSR)和主成分回归(PCR)
2.3K0
Python用偏最小二乘回归Partial Least Squares,PLS分析桃子近红外光谱数据可视化
8730
【视频讲解】偏最小二乘结构方程模型PLS-SEM分析白茶产业数字化对共同富裕的影响|附代码数据
3320
Matlab中的偏最小二乘法(PLS)回归模型,离群点检测和变量选择|附代码数据
1.2K0
Matlab中的偏最小二乘法(PLS)回归模型,离群点检测和变量选择|附代码数据
8440
高维数据惩罚回归方法:主成分回归PCR、岭回归、lasso、弹性网络elastic net分析基因数据|附代码数据
8580
偏最小二乘法(PLS)
2.7K0
R语言中的偏最小二乘回归PLS-DA
3860
R语言中的岭回归、套索回归、主成分回归:线性模型选择和正则化
3.3K0
R语言中的偏最小二乘回归PLS-DA
1510
R语言中的偏最小二乘回归PLS-DA
1.9K0
R语言实现偏最小二乘回归法 partial least squares (PLS)回归
3.9K0
拓端tecdat|R语言 PCA(主成分分析),CA(对应分析)夫妻职业差异和马赛克图可视化
8530
R语言中的偏最小二乘PLS回归算法
1.6K0
R语言PCA主成分、lasso、岭回归降维分析全球气候变化对各国土地面积影响
4150
高维变量选择专题|R、Python用HOLP、Lasso、SCAD、PCR、ElasticNet实例合集分析企业财务、糖尿病
1720
数据分析师需要掌握的10个统计学知识
1.4K0
当今最火10大统计算法,你用过几个?
1.2K0
RDA-PLS:多数据集关联分析
9871
相关推荐
偏最小二乘回归(PLSR)和主成分回归(PCR)分析光谱数据|附代码数据
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验