跳到主要内容
极客日志极客日志面向AI+效率的开发者社区
首页博客我的书AI学习GitHub 精选镜像AI工具UI配色美学关于
搜索内容 / 工具 / 仓库 / 镜像...⌘K搜索
注册
博客列表
编程语言AI算法

偏最小二乘回归分析:原理、算法与实现

详细解析偏最小二乘回归(PLS)的核心原理与建模方法,对比其与主成分回归(PCR)、多元线性回归(MLR)的优势。从成分提取、协方差最大化、残差迭代到交叉有效性检验,逐步推导 PLS 算法流程。结合矩阵运算公式阐明如何解决多重共线性和小样本问题,为高维数据分析提供实用指导。

LinuxPan发布于 2026/3/24更新于 2026/10/22113 浏览
偏最小二乘回归分析:原理、算法与实现

1. PLS 回归概述与应用场景

偏最小二乘回归(Partial Least Squares Regression, PLS)是一种多变量统计分析方法,适用于两组变量间依赖关系建模的场景。当自变量与因变量均存在多重相关性,且样本量较少时,PLS 能有效克服传统回归方法的局限性,广泛应用于化学、经济学、生物信息学等领域。

PLS vs. PCR vs. MLR
  • 多元线性回归(MLR):直接建立因变量与自变量的线性关系,但要求自变量独立且样本量充足,否则易过拟合。
  • 主成分回归(PCR):通过提取自变量主成分降维,但未考虑因变量信息,可能导致信息损失。
  • 偏最小二乘回归(PLS):同时提取自变量和因变量的成分,并最大化其协方差,兼顾降维与相关性,适合高维小样本数据。

2. PLS 建模步骤详解

2.1 问题定义与数据标准化

设有 $p$ 个因变量 $y_1, y_2, \dots, y_p$ 和 $m$ 个自变量 $x_1, x_2, \dots, x_m$,观测数据已标准化。标准化后的自变量矩阵 $E_0$ 和因变量矩阵 $F_0$ 分别为:

$$ E_0 = \begin{bmatrix} x_{11} & \cdots & x_{1m} \ \vdots & \ddots & \vdots \ x_{n1} & \cdots & x_{nm} \end{bmatrix}, \quad F_0 = \begin{bmatrix} y_{11} & \cdots & y_{1p} \ \vdots & \ddots & \vdots \ y_{n1} & \cdots & y_{np} \end{bmatrix} $$

2.2 成分提取与协方差最大化

第一步:提取第一对成分

  • 自变量成分 $t_1$:$t_1 = w_{11}x_1 + w_{12}x_2 + \cdots + w_{1m}x_m = \mathbf{w}_1^T X$
  • 因变量成分 $u_1$:$u_1 = v_{11}y_1 + v_{12}y_2 + \cdots + v_{1p}y_p = \mathbf{v}_1^T Y$

目标为最大化 $t_1$ 与 $u_1$ 的协方差,并保证成分携带原变量组的最大变异信息。数学上转化为优化问题:

$$ \begin{cases} \max \mathbf{w}_1^T E_0^T F_0 \mathbf{v}_1 \ \text{s.t. } |\mathbf{w}_1| = 1, |\mathbf{v}_1| = 1 \end{cases} $$

通过求解矩阵 $M = E_0^T F_0 F_0^T E_0$ 的最大特征值对应的特征向量 $\mathbf{w}_1$,并计算 $\mathbf{v}_1 = \frac{1}{\theta_1} F_0^T E_0 \mathbf{w}_1$,得到第一对成分。

第二步:建立回归模型

利用成分 $t_1$,分别对自变量和因变量建立回归模型:

$$ \begin{cases} E_0 = \hat{t}_1 \boldsymbol{\alpha}_1^T + E_1 \ F_0 = \hat{t}_1 \boldsymbol{\beta}_1^T + F_1 \end{cases} $$

其中,回归系数 $\boldsymbol{\alpha}_1$ 和 $\boldsymbol{\beta}_1$ 通过最小二乘估计:

$$ \boldsymbol{\alpha}_1 = \frac{E_0^T \hat{t}_1}{|\hat{t}_1|^2}, \quad \boldsymbol{\beta}_1 = \frac{F_0^T \hat{t}_1}{|\hat{t}_1|^2} $$

第三步:残差迭代

用残差矩阵 $E_1$ 和 $F_1$ 代替原矩阵,重复上述步骤提取后续成分 $t_2, t_3, \dots, t_r$,直到满足精度要求。

3. 交叉有效性检验

PLS 需确定提取的成分个数 $l$,以避免过拟合。通过交叉验证计算预测误差平方和(PRESS)与误差平方和(SS):

  • PRESS:剔除第 $i$ 个样本后建模的预测误差平方和。
  • SS:全样本建模的误差平方和。

定义交叉有效性指标 $Q_h^2 = 1 - \frac{\text{PRESS}(h)}{\text{SS}(h-1)}$,若 $Q_h^2 < 0.0975$,则停止提取成分。

4. 简洁算法:无需因变量成分提取

传统 PLS 需同时提取自变量和因变量成分,而简洁算法仅需在自变量残差矩阵中迭代提取成分,简化计算:

  1. 计算 $E_0^T F_0 F_0^T E_0$ 的最大特征向量 $\mathbf{w}_1$,得到 $t_1 = E_0 \mathbf{w}_1$。
  2. 更新残差矩阵 $E_1 = E_0 - t_1 \boldsymbol{\alpha}_1^T$。
  3. 重复步骤,提取后续成分 $t_2, \dots, t_r$。

最终回归方程为:

$$ Y = t_1 \boldsymbol{\beta}_1 + t_2 \boldsymbol{\beta}_2 + \cdots + t_r \boldsymbol{\beta}_r $$

将成分 $t_i$ 还原为原始自变量,即得 PLS 回归方程。

5. 关键公式总结

  1. 成分得分向量: $$ \hat{t}h = E{h-1} \mathbf{w}h, \quad \mathbf{w}h = \arg \max \mathbf{w}^T E{h-1}^T F_0 F_0^T E{h-1} \mathbf{w} $$
  2. 回归系数: $$ \boldsymbol{\beta}_h = \frac{F_0^T \hat{t}_h}{|\hat{t}_h|^2} $$
  3. 交叉有效性条件: $$ Q_h^2 \ge 0.0975 \Rightarrow \text{继续提取成分;否则终止。} $$

6. 结语

PLS 通过成分提取与协方差最大化,巧妙解决了高维数据中的多重共线性和小样本问题。结合交叉验证,可灵活控制模型复杂度,是数据分析中的强有力工具。实际应用中需注意数据标准化、成分数选择及结果的可解释性优化。

目录

  1. 1. PLS 回归概述与应用场景
  2. PLS vs. PCR vs. MLR
  3. 2. PLS 建模步骤详解
  4. 2.1 问题定义与数据标准化
  5. 2.2 成分提取与协方差最大化
  6. 3. 交叉有效性检验
  7. 4. 简洁算法:无需因变量成分提取
  8. 5. 关键公式总结
  9. 6. 结语

更多推荐文章

查看全部
  • 立创 EDA 6 层高速 PCB 设计实战:逻辑派 FPGA-G1 开发板布局布线详解
  • Ling Studio 实测:Ring-2.5-1T 如何优化 AI 开发工作流
  • GLM-4.6V-Flash-WEB 应用于 AIGC 内容生成质量控制
  • 与 AI 模型对话:理解原理并避免常见误解
  • ClawdBot 效果展示:Whisper tiny 本地转写与 LibreTranslate 双引擎容灾
  • 2026 年高校论文 AI 率新规解读:多校明确 AIGC 检测要求
  • 全栈分页方案:MyBatisPlus 与 Thymeleaf 整合实现
  • Linux/Mac/WSL 配置 Claude Code 对接硅基流动 API 指南
  • Kettle 实现数据增量同步方案
  • Java 高并发编程:深入解析 ReentrantReadWriteLock 锁实现
  • Transformers 库模型推理与微调实战教程
  • C++ 二叉搜索树:从原理到增删查实现
  • 构建与 GitHub 深度集成的自动化工作流指南
  • FPGA 工程最常见的 10 个玄学 BUG 与排查思路
  • Go Web 开发核心理论知识
  • 被工具定义的编程时代:VS Code、Copilot 与 JetBrains 效率实践
  • C++ 内存管理:malloc 底层原理与实现
  • AI 时代的“黑箱问题”:理解与信任的边界
  • Zotero 论文阅读颜色标记体系与工作流
  • 基于 Spring Boot 的药品进销存信息管理系统

相关免费在线工具

  • 加密/解密文本

    使用加密算法(如AES、TripleDES、Rabbit或RC4)加密和解密文本明文。 在线工具,加密/解密文本在线工具,online

  • RSA密钥对生成器

    生成新的随机RSA私钥和公钥pem证书。 在线工具,RSA密钥对生成器在线工具,online

  • Mermaid 预览与可视化编辑

    基于 Mermaid.js 实时预览流程图、时序图等图表,支持源码编辑与即时渲染。 在线工具,Mermaid 预览与可视化编辑在线工具,online

  • 随机西班牙地址生成器

    随机生成西班牙地址(支持马德里、加泰罗尼亚、安达卢西亚、瓦伦西亚筛选),支持数量快捷选择、显示全部与下载。 在线工具,随机西班牙地址生成器在线工具,online

  • Gemini 图片去水印

    基于开源反向 Alpha 混合算法去除 Gemini/Nano Banana 图片水印,支持批量处理与下载。 在线工具,Gemini 图片去水印在线工具,online

  • Base64 字符串编码/解码

    将字符串编码和解码为其 Base64 格式表示形式即可。 在线工具,Base64 字符串编码/解码在线工具,online