偏最小二乘法PLS和PLS回归的介绍及其实现方法

2023-05-16

1、偏最小二乘法(PLS)介绍

偏最小二乘法是一种新型的多元统计数据分析方法,于1983年由S.Wold和C.Albano等人首次提出。偏最小二乘法实现了,在一个算法下,可以同时实现回归建模(多元线性回归)、数据结构简化(主成分分析)以及两组变量之间的相关性分析(典型相关分析)。
PCA方法虽解决了自变量共线性的问题,但是并没有考虑自变量主元对于因变量变化的解释作用。所以删除的次要主元有可能包含对回归有益的信息,而保留的主元有可能会夹杂一些对回归模型输出无益的噪声。
PLS方法,通过将自变量和因变量的高维数据空间投影到相应的低维空间,分别得到自变量和因变量的相互正交的特征向量,再建立自变量和因变量的特征向量间的一元线性回归关系。不仅可以克服共线性问题,它在选取特征向量时强调自变量对因变量的解释和预测作用,去除了对回归无益噪声的影响,使模型包含最少的变量数。

2、基于目标优化的PLS模型的计算

2.1 PLS的准则函数

准则函数通俗的讲就是提取主元时所按照的准则,与PCA不同,PLS在提取主元时考虑的不仅是能最大程度概括自变量空间的数据信息,还应该考虑自变量主元对于因变量变化的解释作用。因此J.Hinkle提出的新的残差平方和指标:
公式1
下面就是对这个式子的各种变换,具体推导过程比较复杂,但最终这个式子就等价于,
确定权值向量wi和ci使满足:
公式2

2.2 偏最小二乘基本算法

2.2.1 基于拉格朗日算法的极大值求解

令E0=X, F0=Y,那么上式即在 的约束条件
在这里插入图片描述
下求
在这里插入图片描述
的极大值,建立上式的拉格朗日函数:
在这里插入图片描述
最后解得:
在这里插入图片描述
可见w1和c1分别为
在这里插入图片描述
最大特征值λ_1所对应的特征向量。

2.2.2 计算成分

在这里插入图片描述
分别对应自变量和因变量的成分。

2.2.3 回归系数向量的计算

在这里插入图片描述

2.2.4 数据残差矩阵的计算

求得第一个主成分后,按照上式对数据矩阵进行缩减,得到缩减后的残差矩阵:
在这里插入图片描述

2.2.5 重构X,Y

在这里插入图片描述

3、PLS回归模型

在这里插入图片描述
最终可以建立PLS模型:
Y=TβQ^T+F=TB+F
T为X的得分矩阵,U为Y的得分矩阵,Q为Y对应于u的负荷矩阵,β为回归系数矩阵,F为残差矩阵。

3.1 基于得分矩阵的模型输出

  1. 将数据矩阵E0=X,F0=Y的每一列进行中心化和方差归一化处理

  2. 计算互协方差矩阵
    在这里插入图片描述

  3. 计算归一化的权值向量wi

  4. 计算得分向量
    在这里插入图片描述

  5. 计算Ei-1,Fi-1相应于ti的负荷向量pi,bi

  6. 令i=i+1返回2继续计算

  7. 计算PLS模型对得分矩阵T的输出:Y=TB

4、PLS回归的计算工具

4.1 MATLAB函数包

MATLAB当中有偏最小二乘的函数plsregress函数,介绍如下:
在这里插入图片描述
在这里插入图片描述
参数解释:
Ncomp是因子或潜在变量的个数,计算Y在X上的回归,返回预测和响应载荷。
X是np预测变量,行对应观测项,列对应变量。
Y是n
m响应矩阵。
Xloadings是pncomp因子载荷,简单来说就是因子对应原变量的线性组合系数。
Xscores返回预测变量得分,简单来说就是PLS因子,是X中变量的线性组合。Xscores是一个n
ncomp正交矩阵,行对应观察值,列对应因子。因子载荷矩阵是各个原始变量的因子表达式的系数,表达提取的公因子对原始变量的影响程度。因子得分矩阵表示各项指标变量与提取的公因子之间的关系,在某一公因子上得分高,表明该指标与该公因子之间关系越密切。简单说,通过因子载荷矩阵可以得到原始指标变量的线性组合。如,通过因子得分矩阵可以得到公因子的线性组合,如F1=a11X1+a21X2+a31X3,其中X1,X2,X3为原变量,a11、a12、a13分别为与变量X1在同一行的因子载荷,F1、F2、F3分别为提取的公因子。
beta为回归模型的系数
PCTVAR是一个两行的矩阵,第一行为自变量提取成分的贡献率,第二行为因变量提取成分的贡献率
MSE是一个两行的矩阵,第一行的第j个元素表示自变量与它的前j-1个提出成份之间回归方程的剩余标准差;第二行的第j个元素对应着因变量与它的前j-1个提出成份之间回归方程的剩余标准差;
stats返回4个值stats.W是一个PLS权重的ρ
ncomp的矩阵,使XS=X0W,每一列对应特征向量ρi
stats.T2是XS每一点的T^2统计值
stats.Xresiduals为预测值残差,X0-XS
XL’
stats.Yresiduals为响应残差,Y0-XS*YL’

4.2 Unscrambler分析软件

4.2.1 软件介绍

Unscrambler is built to solve complex problems using powerful multivariate analysis, with unique capabilities for spectroscopy and chemometrics. Choose from more than 20 different methods to analyse data, including Design of Experiments (DoE), exploratory data analysis, Partial Least Squares regression (PLS), Principal Component Analysis (PCA) and Soft Independent Modelling of Class Analogies (SIMCA). Easily explore and validate models through interactive graphics and visualisations to optimise product development, improve product quality and process efficiency.

4.2.2 Unscrambler中PLS回归模型建立流程

在这里插入图片描述

5、参考资料

[1] 王桂增《主元分析与偏最小二乘法》清华大学出版社
[2] 偏最小二乘(pls)回归分析 matlab 博客链接
[3] 百度文库 偏最小二乘法(PLS)简介 百度文库链接
[4] 道客巴巴 Unscrambler X教程 教程链接

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

偏最小二乘法PLS和PLS回归的介绍及其实现方法 的相关文章

  • STM32 Systick定时器在实现1us延时时的问题与解决

    问题 xff1a 使用systick config 函数来实现计数 xff0c 这个函数在下面代码中的 SysTick CTRL TICKINT Msk 开启了中断 不论系统时钟为72Mhz或36Mhz若设置STM32每10us进入一次中断
  • VINS-MONO运行(运行VINS-Mono没有轨迹的原因)

    VINS MONO下载及编译 与github中 https github com HKUST Aerial Robotics VINS Mono的一致 下载VINS MONO文件 cd catkin ws src git clone htt
  • gitkraken汉化

    想要汉化gitkraken xff0c 上链接 xff0c 下载解压 链接 xff1a https pan baidu com s 136cQzS7 SsIazhyF1IojsQ 提取码 xff1a 0lzb 01 双击运行install
  • 使用Ubuntu系统运行C或C++程序

    查找Ubuntu系统是否有gcc软件 xff0c 输入指令which gcc 查看gcc的版本 xff0c 输入gcc version 然后就可以确定系统自带gcc编译器了 gcc用来编译C xff0c g 43 43 用来编译C 43 4
  • Ubuntu删除文件和文件夹命令

    r表示向下递归删除 f表示直接强制删除 xff0c 没有任何提示 对于文件夹的删除一般用rm rf xff08 文件夹删除必须有r xff0c 递归删除 xff09 对于文件的删除一般用rm f xff08 其实rm本身就可以完成文件删除
  • slam十四讲中Sophus库安装以及遇到so3.h找不到文件的解决

    首先安装Sophus库 xff0c 首先说明一下 xff0c 我安装的是非模板类 xff0c 非模板类相对模板类更好上手 xff0c 且我下载的slam作者提供的sophus库压缩包也是非模板类 一 下载 git clone https g
  • 解决resource not found问题

    在运行ros中的xacro文件时出现的如下问题 resource not found mbot description ROS path 0 61 opt ros melodic share ros ROS path 1 61 opt ro
  • CV::mat 学习

    原文 xff1a http blog sina com cn s blog ac1864bd010188cm html opencv从c到c 43 43 Opencv2 0版本发布后 xff0c 其新的C 43 43 接口 xff0c cv
  • pcl::pointcloud和pcl::pointcloud::Ptr区别

    后者是指针类型的点云类 定义点云的格式 xff1a pcl PointCloudpcl PointXYZ Ptr cloud Ptr new pcl PointCloudpcl PointXYZ pcl PointCloudpcl Poin
  • ROS安装 rosdep update报错解决

    https blog csdn net leida wt article details 115120940 跟这个做 xff0c 注意正文中对第五个地址的补充gbpdistro url 61 https ghproxy com 43 gb
  • Jetson Xavier 通过jetson-io配置设备树 (9)

    1 在终端输入扩展40Pin配置脚本 sudo opt nvidia jetson io jetson io py 2 选择进入Configure 40 pin expansion header 3 空格选中spi1 或者其他需要的扩展功能
  • UCOSIII系统学习笔记

    说明 xff1a 本文主要讲针对STM32的UCOSIII3 03版本的文件与内核分析 此文只是对UCOSIII粗略的讲解 xff0c 希望读者在读完后能对UCOSIII系统整体多些认识 xff0c 细节方面还请读者参考相关书籍 xff0c
  • 汽车CAN总线详解

    概述 CAN xff08 Controller Area Network xff09 总线协议是由 BOSCH 发明的一种基于消息广播模式的串行通信总线 xff0c 它起初用于实现汽车内ECU之间可靠的通信 xff0c 后因其简单实用可靠等
  • microchip pm42100-kit调试记录

    1 先给板子上电 xff0c 2 安装chiplink 新安装的是连接不上串口的 通过Help gt 帮助目录 xff0c 安装 nbm文件 加载 nbm文件 Tools gt Plugins gt Downloaded gt Add Pl
  • nvidia orin简介

    NVIDIA发布的Xavier已经在市场上打拼了好几年了 xff0c 同行竞争者一直在追赶 力图超越 xff0c Xavier也在应用中出现了一些问题 xff0c NVIDIA也该把Orin这个新武器揭开面纱了 虽然去年的GTC上有一些信息
  • PCI-E 1x, 4x, 8x, 16x 接口定义

    1 PCI E插槽及金手指实物图 xff08 1 xff09 PCI E插槽 从上至下依次为PCI E 4X PCI E 16X PCI E 1X xff08 2 xff09 PCI E金手指 PCI E 1X金手指 PCI E 4X金手指
  • Jetson Xavier RC EP 的PCIe互通测试(12)

    一 硬件连接 xff1a 交叉线 X16引脚定义 xff1a 从此面看 xff1a 从上到下 xff0c 依次为A1 A2 A3 从背面看 xff1a 从上到下 xff0c 依次为B1 B2 B3 注意断开 xff1a A2 A3 B1 B
  • 将自己的ubuntu20.04做成镜像

    系统 xff1a Ubuntu20 04 软件 xff1a systemback 硬件 xff1a 128GU盘一个 1 安装systemback sudo sh c 39 echo 34 deb arch 61 amd64 http mi
  • Orin + SC16IS752+SP3072 SPI转串口485

    文章目录 1 前言 2 修改过程 2 1 sc16is752 芯片 2 1 1引脚说明 2 1 2 设备树配置 2 2 1 源码分析 3 调试 1 前言 Orin 有四路串口 对于多数设备来说已经够用 通过SPI 转串口再转RS485在Or
  • MIPI CSI介绍

    文章目录 1 概述2 MIPI接口的演变2 1 CSI 12 2 CSI 22 3 CSI 32 4 更多关于CSI 3 其他3 1 为什么用MIPI CSI 2代替USB 3 2 MIPI CSI 2的性能亮点3 3 MIPI相机 它是如

随机推荐

  • 车载摄像头概述

    1 车载摄像头概述 SerDes环境 上边的摄像头是德国豪车配备的车载摄像头 我们是从国外网站上买的 为了选择车载摄像头 xff0c 你需要获得关于它的各种信息 首先 xff0c 您需要获取连接器和序列化器制造商名称的信息 xff0c 然后
  • ARM7的三级流水线过程

    看到汇编中很多关于程序返回与中断返回时处理地址都很特别 xff0c 仔细想想原来是流水线作用的效果 所以 xff0c 决定总结学习下ARM流水线 ARM7处理器采用3级流水线来增加处理器指令流的速度 xff0c 能提供0 9MIPS MHz
  • nor flash和nand flash的区别

    NOR 和 NAND 是现在市场上两种主要的非易失闪存技术 Intel 于 1988 年首先开发出 NOR flash 技术 xff0c 彻底改变了原先由 EPROM 和 EEPROM 一统天下的局面 紧接着 xff0c 1989 年 xf
  • UART通信协议

    UART 是用于控制计算机与串行设备的芯片 有一点要注意的是 xff0c 它提供了RS 232C 数据终端设备接口 xff0c 这样计算机就可以和调制解调器或其它使用RS 232C接口的串行设备通信了 作为接口的一部分 xff0c UART
  • stm32f103的IAP升级时,部分APP程序功能丢失,串口中断不起作用,怎么办?

    昨天我用stm32f103做IAP升级 xff0c APP程序是一个LED闪烁和一个串口1收发数据 结果IAP升级后 xff0c 发现APP程序只有LED闪烁但是串口1不行甚至引起死机 这种半死不活的现象是最莫名其妙的 xff0c 它一半在
  • 计算机的启动过程(详细)

    零 boot的含义 先问一个问题 xff0c 启动 用英语怎么说 xff1f 回答是boot 可是 xff0c boot原来的意思是靴子 xff0c 启动 与靴子有什么关系呢 xff1f 原来 xff0c 这里的boot是bootstrap
  • 史上最全Linux面试题(2020最新版)

    出处 xff1a https blog csdn net thinkwon article details 104588679 作者 xff1a ThinkWon 导读 xff1a 本文整理了最新的Linux面试题 xff0c 近3万字 x
  • Endnote中文参考文献格式下载地址(官网)

    Endnote中文参考文献格式官网下载地址 1 下载2 安装 1 下载 今天在写中文论文时 xff0c 发现Endnote里没有中文参考文献格式 上网找了一下有些下载尽然还要币 xff0c 最后看到其实官网里就有GBT7114格式 xff1
  • C++中String类对象的初始化和基本用法

    1 初始化的几种方法和错误案例 首先当然是包含头文件了 xff1a span class token macro property span class token directive keyword include span span c
  • C++中multimap和map容器及使用

    map multimap容器里存放的都是pair模板类的对象 xff0c 而且按照first成员从小到大排序 1 pair模板 pair模板类的定义如下 xff0c 其中有两个成员变量 xff1a first和second xff1a 2
  • Word标题前出现黑块解决办法

    最近Word写文章 xff0c 再次遇到了让人头疼的问题 xff0c 就是自己定义的多级列表 xff0c 某一级前面不显示数字而是一个黑块 之前就遇到过这个问题 xff0c 不知怎么就解决了 再次遇到就懵了 尝试了网上的几种方法 xff0c
  • 从印象笔记无法连接到服务器,到win 10 Eage浏览器无法访问

    昨天电脑上的印象笔记突然无法同步 xff0c 同步的图标上显示了红色的感叹号 按照网上很多的解决方法试了之后都无法解决 印象笔记也重新安装了 xff0c 也退出企图重新登录 xff0c 结果登录界面显示无法连接到服务器 按照官网给出的解决方
  • Crazyflie笔记一:概述开发范围、工具、特点介绍

    原文地址 xff1a http blog sina com cn s blog 402c071e0102v6ho html Crazyflie笔记一 xff1a 概述开发范围 工具 特点介绍 2015 01 04 12 48 31 转载 标
  • Ubuntu16.04如何设置自动休眠时间

    可能有的人觉得 xff0c 虚拟机几分钟没动就自己锁住了 xff0c 再次进入又要输密码非常麻烦 xff0c 那如何设置屏幕关闭时间呢 xff1f 下面就说一说 xff1a 1 打开设置选项 xff0c 在电脑的右上方 2 点击system
  • PX4使用I2C方式添加自定义传感器(1)

    PX4使用I2C方式添加自定义传感器 xff08 1 xff09 前言 毕业设计就是要在PX4上添加一个传感器 xff08 角度传感器 xff09 xff0c 由于板子上的接口数量很少 xff0c 很是宝贵 最后只能选择通过I2C通信方式
  • PX4通过I2C方式添加自定义传感器(2)

    PX4 I2C通信方式传感器驱动分析 xff08 以ets airspeed为例 xff09 1 说明 这篇文章我们就来看看I2C传感器的驱动过程 xff0c 当然里面也有很多东西我不是很理解 xff0c 所以仅谈我领悟的一些东西 我就以e
  • PX4通过I2C方式添加自定义传感器(3)

    添加自定义传感器并实现数据的发送和订阅 1 前期准备 1 1 建立文件夹和相关文件配置 我是在src drivers distance sensor文件夹下操作的 xff0c 当然其他文件夹下都类似 首先建立了两个文件夹angle sour
  • Matlab 同一文件夹下图片批量处理的两种简单方法

    Matlab 同一文件夹下图片批量处理的两种简单方法 最近因为实验中有许多图片需要处理 xff0c 本来的做法是一张张读取图片 xff0c 这是相当麻烦的 xff0c 因为每处理一张图片就需要修改相应的图片名 于是就想着要是可以批量处理就好
  • MATLAB实现图像巴特沃斯滤波、高频增强滤波及直方图均衡化

    1 巴特沃斯滤波器 1 1 基本概念 在图像处理中 xff0c 巴特沃斯滤波器传递函数如下 xff1a 巴特沃斯低通滤波器公式 xff1a 巴特沃斯高通滤波器公式 xff1a 在公式中 xff0c D u v 代表频域当中 xff0c 点
  • 偏最小二乘法PLS和PLS回归的介绍及其实现方法

    1 偏最小二乘法 xff08 PLS xff09 介绍 偏最小二乘法是一种新型的多元统计数据分析方法 xff0c 于1983年由S Wold和C Albano等人首次提出 偏最小二乘法实现了 xff0c 在一个算法下 xff0c 可以同时实