文章目录
- 1 背景介绍
- 2 数据介绍
- 3 数据处理流程
- 4 特征提取方式简介
- 5 回归模型简介
- 5.1 多元线性回归(MLR)
- 5.2 主成分回归(PCR)
- 5.3 偏最小二乘回归(PLS)
- 6 结果分析——同算法不同特征提取方法对比
- 6.1 MLR结果统计
- 6.2 结果可视化
- 7 结果分析——同特征提取(全光谱)不同模型对比
- 7.1 全光谱评估结果统计
- 7.2 可视化
- 8 所有结果展示
- 9 结论
1 背景介绍
光谱分析技术因其快速、无损、可在线检测等优势,广泛应用于农业、食品、化工、环境监测等领域。定量分析是光谱应用的核心任务之一,即通过建立光谱信号与目标组分浓度之间的数学模型,实现未知样品浓度的快速预测。常用的线性回归模型包括多元线性回归(MLR)、主成分回归(PCR)以及偏最小二乘回归(PLS)。然而,光谱数据通常具有高维、强共线性和噪声干扰等特点,因此需要在建模前进行有效的预处理和特征提取。本文基于一套近红外光谱数据集,系统比较了五种特征提取方法与三种回归模型在不同组合下的拟合性能,为光谱定量分析的方法选择提供参考。
2 数据介绍
实验数据来源于某单一物质的近红外光谱测量。共配制四个浓度水平:10%、20%、30%、50%(质量分数),每个浓度重复采集15条光谱,总计60条光谱。光谱由近红外光谱仪记录,波长范围为400–1800 nm,每条光谱包含约1400个数据点。数据以文本文件存储,文件名或所在文件夹名称中包含浓度信息和物质标识,便于自动解析。
该数据集的特点是:样本量较小(60条),但波长维度较高(>1000),属于典型的“小样本、高维”问题,适合采用降维或特征选择方法。
3 数据处理流程
整个分析流程如下图所示,分为五个阶段:
- 数据读取:递归扫描指定目录下的所有
.txt文件,从文件路径中解析浓度和物质名称,加载光谱矩阵(波长、强度)。 - 数据预处理:每一条光谱依次经过:
- 波长截取(400–1800 nm)
- Savitzky-Golay 平滑滤波(窗口21,阶数5)
- 极值归一化到 [0,1]
- ModPoly 基线校正(多项式阶数5,最大迭代200次)
- 二次极值归一化
- 对齐至相同长度(取众数长度)
- 特征提取:从预处理后的全光谱中提取五种不同类型的特征向量(详见第4节)。
- 回归建模:分别使用 MLR、PLS、PCR 三种算法建立浓度预测模型。
- 结果评估:在全样本上计算决定系数 (R^2) 和均方根误差 RMSE,并以表格和图形展示对比结果。
4 特征提取方式简介
为降低光谱维度并提取有效信息,本文实现了以下五种特征提取方法:
| 方法 | 描述 | 输出维度 |
|---|---|---|
| 全光谱(Full Spectrum) | 直接使用预处理后的所有波长点 | 原始波长数(~1400) |
| 波长选择(Wavelength Selection) | 选取方差最大的前30个波长点 | 30 |
| 峰值特征(Peak Features) | 将光谱等分为20个波段,取每个波段的均值 | 20 |
| 一阶导数(Derivative) | 计算相邻波长点的差值,突出斜率变化 | 与全光谱相同 |
| 波段比值(Band Ratio) | 选取4组波长对,计算对应强度的比值 | 4 |
这些方法覆盖了“无降维”、“特征选择”、“区间聚合”、“变换增强”、“物理比值”等多种策略,有助于全面评估不同特征表达对回归性能的影响。
5 回归模型简介
5.1 多元线性回归(MLR)
MLR 假设因变量与多个自变量之间存在线性关系,通过最小二乘法求解回归系数。由于光谱维度常远大于样本数,直接使用全光谱会导致过拟合。因此本文采用相关性筛选:计算每个波长与浓度的 Pearson 相关系数绝对值,选取前5个最相关的波长参与建模。MLR 模型简单、可解释性强,但对多重共线性敏感。
5.2 主成分回归(PCR)
PCR 首先对光谱矩阵进行主成分分析(PCA),提取前若干主成分(PC)作为新特征,再对这些主成分进行线性回归。主成分数的选择通过5折交叉验证确定(最大候选10个)。PCR 能有效处理高维共线性问题,但主成分的提取仅基于光谱自身方差,未考虑与浓度的关联。
5.3 偏最小二乘回归(PLS)
PLS 在分解光谱矩阵的同时也考虑浓度矩阵的信息,寻找对协方差贡献最大的潜在变量(LV)。潜变量数同样通过5折交叉验证优化(最大候选15个)。PLS 被认为是光谱定量分析的“黄金标准”,兼顾降维与预测能力。
6 结果分析——同算法不同特征提取方法对比
6.1 MLR结果统计
本节以 MLR 为例,展示不同特征提取方法对其拟合性能的影响。表1列出了 MLR 在各特征下的 (R^2) 和 RMSE。
| 模型 | 排名 | 特征提取方法 | R² | RMSE |
|---|---|---|---|---|
| MLR | Rank 1 | peak_features | 0.8096 | 6.4537 |
| MLR | Rank 2 | full_spectrum | 0.6878 | 8.2645 |
| MLR | Rank 3 | derivative | 0.4908 | 10.5536 |
| MLR | Rank 4 | wavelength_selection | 0.4826 | 10.6391 |
| MLR | Rank 5 | band_ratio | 0.4413 | 11.0550 |
根据表中MLR模型的结果,可以观察到以下规律:
峰值特征(peak_features)表现最优,R²达到0.8096,RMSE为6.4537,远优于其他四种特征提取方法。这表明将光谱等分为20个波段并取均值,能够有效保留与浓度相关的谱带信息,同时大幅降低维度(20维),减少了噪声干扰,使MLR的相关性筛选更容易选出有效特征。
全光谱(full_spectrum)位列第二,R²为0.6878,RMSE为8.2645。虽然全光谱维度极高(约1400个波长),但MLR内部通过相关性筛选仅保留5个最相关波长,因此实际建模特征较少,性能尚可,但仍不如峰值特征,可能是因为峰值特征的波段均值本身已具备一定的抗噪能力,而全光谱中个别波长可能存在随机噪声干扰相关性排序。
一阶导数(derivative)和波长选择(wavelength_selection)性能相近,R²分别为0.4908和0.4826,RMSE均在10.5左右。一阶导数虽能突出光谱变化率,但同时也放大了噪声,导致与浓度的线性关系减弱;波长选择仅基于方差大小挑选前30个波长,方差大的波长未必与浓度相关,因此效果不佳。
波段比值(band_ratio)表现最差,R²仅为0.4413,RMSE高达11.0550。该方法仅构造了4个比值特征,信息量严重不足,难以支撑MLR建立准确的线性模型。
综上所述,对于MLR模型而言,适度的区间聚合(如峰值特征)比单纯的全光谱或过度压缩(如波段比值)更为有效,既能降低维度又能保留关键谱带信息。
6.2 结果可视化
| 全光谱 | 波长选择 |
| 峰值特征 | 一阶导数 |
| 波段比值 |
其他两种算法(PLS、PCR)的规律类似,限于篇幅不再逐一列出,但总体趋势一致:全光谱或适度降维的方法优于过度压缩的方法。
7 结果分析——同特征提取(全光谱)不同模型对比
7.1 全光谱评估结果统计
为进一步比较三种回归模型的差异,我们固定使用全光谱特征。结果如下表所示。
| 特征提取方法 | 排名 | 模型 | R² | RMSE |
|---|---|---|---|---|
| full_spectrum | Rank 1 | PLS | 0.9621 | 2.8808 |
| full_spectrum | Rank 2 | PCR | 0.8402 | 5.9131 |
| full_spectrum | Rank 3 | MLR | 0.6878 | 8.2645 |
根据上表的结果,在全光谱特征下,三种回归模型的拟合性能存在明显差异,具体表现为:
PLS 表现最优,R² 高达 0.9621,RMSE 仅为 2.8808,远优于其他两种模型。这是因为 PLS 在分解光谱矩阵时同步考虑了浓度信息,提取的潜变量既能解释光谱方差又能最大化与浓度的协方差,从而在全光谱的高维数据中高效捕捉有效信号,抑制噪声干扰。
PCR 位列第二,R² 为 0.8402,RMSE 为 5.9131。PCR 通过 PCA 提取主成分,虽然能降维去噪,但主成分的选取仅基于光谱自身的方差,未利用浓度信息,导致部分主成分可能与浓度无关,降低了预测精度。尽管如此,其性能仍明显优于 MLR。
MLR 表现最差,R² 仅为 0.6878,RMSE 高达 8.2645。虽然 MLR 内置了相关性筛选(仅保留 5 个最相关波长),但在全光谱维度下,相关性计算易受噪声干扰,且仅靠少数几个波长难以全面反映浓度变化,导致拟合能力受限。
综上,在全光谱特征下,PLS 凭借其兼顾光谱与浓度的双线性分解优势,拟合能力最强;PCR 次之;MLR 因特征选择过于激进而表现较弱。这一结果也印证了 PLS 在光谱定量分析中被视为“黄金标准”的普遍认知。
7.2 可视化
| MLR | PCR |
| PLS |
8 所有结果展示
| 模型 | 排名 | 特征提取方法 | R² | RMSE |
|---|---|---|---|---|
| MLR | Rank 1 | peak_features | 0.8096 | 6.4537 |
| MLR | Rank 2 | full_spectrum | 0.6878 | 8.2645 |
| MLR | Rank 3 | derivative | 0.4908 | 10.5536 |
| MLR | Rank 4 | wavelength_selection | 0.4826 | 10.6391 |
| MLR | Rank 5 | band_ratio | 0.4413 | 11.0550 |
| PLS | Rank 1 | full_spectrum | 0.9621 | 2.8808 |
| PLS | Rank 2 | peak_features | 0.8709 | 5.3146 |
| PLS | Rank 3 | derivative | 0.6815 | 8.3475 |
| PLS | Rank 4 | wavelength_selection | 0.5217 | 10.2289 |
| PLS | Rank 5 | band_ratio | 0.4115 | 11.3463 |
| PCR | Rank 1 | peak_features | 0.8549 | 5.6345 |
| PCR | Rank 2 | full_spectrum | 0.8402 | 5.9131 |
| PCR | Rank 3 | wavelength_selection | 0.5018 | 10.4396 |
| PCR | Rank 4 | derivative | 0.4982 | 10.4776 |
| PCR | Rank 5 | band_ratio | 0.4413 | 11.0550 |
从所有统计结果来看,采用PLS模型和全光谱特征提取方式的拟合效果最好。R^2高达0.9621,RMSE仅为2.8808.
值得注意的是,上述结果是在全样本拟合(即训练和评估使用同一批数据)的条件下获得的,反映的是模型的拟合能力而非预测能力。在实际应用中,应当划分独立的测试集或采用交叉验证来评估泛化性能。不过,本研究的目的是比较不同方法在同一条件下的相对优劣,因此拟合指标仍具有参考价值。
9 结论
本文基于一组近红外光谱数据,系统比较了五种特征提取方法与三种线性回归模型在浓度定量分析中的表现。主要结论如下:
特征提取方法的选择显著影响模型性能,且最优组合因算法而异:
- 对于MLR和PCR,峰值特征(peak_features)表现最佳(R²分别为0.8096和0.8549),说明将光谱等分为20个波段取均值既能有效降维又能保留关键谱带信息,优于全光谱和其他方法。
- 对于PLS,全光谱(full_spectrum)表现最优(R²=0.9621),因为PLS通过潜变量同时解释光谱与浓度,能够充分利用全光谱信息并自动滤除噪声。
- 波段比值(band_ratio)在所有模型中均表现最差(R²约0.44),证实过度压缩(仅4个比值)会严重损失信息。
在固定全光谱特征下,三种回归模型性能差异显著,PLS明显优于PCR和MLR:
- PLS 表现最优(R²=0.9621,RMSE=2.88),体现了其在光谱定量分析中的经典优势。
- PCR 次之(R²=0.8402),主成分仅基于光谱方差,未利用浓度信息,导致性能下降。
- MLR 最弱(R²=0.6878),即使通过相关性筛选,仅依赖5个波长也难以充分刻画浓度变化,且易受噪声干扰。
预处理步骤(滤波、归一化、基线校正)对后续建模至关重要,本研究中采用的ModPoly基线校正有效消除了基线漂移的影响,为后续特征提取和回归分析奠定了可靠基础。
未来的工作可以进一步引入非线性模型(如 SVM、神经网络)以及更严格的交叉验证评估,以获得更具普适性的结论。