文章目录
一、引言
光谱分析通常分为两步:物质识别 (定性)和定量分析。在实际软件系统中,先通过识别算法确定物质种类,再调用对应的定量模型进行浓度预测。本报告以PCA(主成分分析)作为核心识别算法,结合完整的预处理流程(平滑滤波、归一化、基线校正),探讨不同因素对物质区分效果的影响,并对比多种特征提取方法的表现。
二、数据介绍
- 样本构成:4种不同物质,每种物质包含4个浓度梯度,每个浓度重复测量15次,共计240条光谱。
- 波长范围:400--1800 nm。
- 原始数据格式 :每条光谱由波长和强度两列组成,存储为
.txt或.csv文件。 - 目录结构:按物质名称 → 浓度文件夹 → 光谱文件的层级组织。
三、算法流程
输入光谱数据 → 平滑滤波(Savitzky-Golay) → 归一化(min-max) → 基线校正(ModPoly) → PCA降维 → 可视化展示
对应的代码模块:
load_spectral_data():加载数据preprocess_single_spectrum():单条光谱预处理(平滑、归一化、基线校正)batch_preprocess():批量预处理并统一长度qualitative_analysis_with_method():特征提取 + PCA + 可视化
预处理详细介绍见如下连接:
四、结果分析
4.1 基线校正的影响
为验证基线校正对PCA区分效果的作用,分别对未经基线校正 和经基线校正的数据进行PCA二维投影(2个主成分)。
|----------------------------------------------------------------------------|----------------------------------------------------------------------------|
|
|
|
| 左图:未基线校正 | 右图:基线校正后 |
| 条件 | PCA散点图(示意) | 分析 |
|---|---|---|
| 未基线校正 | 左图 | 四种物质的光谱特征混杂在一起,几乎无法区分。 |
| 基线校正后 | 右图 | 区分度显著改善:红色和蓝色基本可分,但绿色和黄色仍有重叠。 |
结论:基线校正是光谱预处理的关键步骤,能有效去除背景漂移,提升PCA的分类能力。
4.2 不同主成分个数的影响
采用3个主成分重新分析,对比基线校正前后的效果。
|----------------------------------------------------------------------------|----------------------------------------------------------------------------|
|
|
|
| 左图:2个主成分 | 右图:3个主成分 |
| 条件 | PCA三维散点图(示意) | 分析 |
|---|---|---|
| 未基线校正 | 左图 | 仍然难以区分。 |
| 基线校正后 | 右图 | 红色物质被完全分离出来,但蓝、绿、黄三者仍相互重叠。 |
结论:增加主成分个数有助于分离某些物质,但并非对所有类别有效。实际工程中应根据物质特性选择合适的PC数量,或结合其他分类方法。
4.3 不同特征提取方式的对比
在基线校正后,对比四种特征提取方法的PCA二维投影效果:
|----------------------------------------------------------------------------|----------------------------------------------------------------------------|
|
|
|
| 全光谱 | 峰特征 |
|
|
|
| 一阶导数 | 波段比值 |
| 特征方法 | 累计方差 | 特征维度 | 分离效果分析 |
|---|---|---|---|
| full_spectrum (全光谱) | 59.5% | 高(~1400) | 蓝(d)在左,红©在右下,绿(h)与黄(y)高度混杂。受冗余信息干扰。 |
| peak_features (峰特征) | 70.8% | 低(20) | 蓝(d)紧密聚集左侧,红©在右下,绿(h)与黄(y)在中间有分化。信息集中度高。 |
| derivative (一阶导数) | 20.2% | 高(~1400) | 红©被完全分离在左侧,但蓝、绿、黄严重混杂在右侧斜线。对噪声敏感。 |
| band_ratio (波段比值) | 77.5% | 极低(4) | 蓝(d)在左下极紧凑,红©在左上,绿(h)与黄(y)向右侧分离。整体界限最清晰。 |
结论:波段比值和峰特征通过引入先验知识有效降维并剔除噪声,显著提升PCA区分度;一阶导数需配合强平滑使用。
五、总结
本文基于PCA算法实现了对四种物质的光谱识别,并系统分析了预处理步骤(特别是基线校正)、主成分数量以及特征提取方法对识别结果的影响。实验表明:
- 基线校正是不可或缺的预处理环节。
- 适当增加主成分个数可改善部分物质的分离,但不能一概而论。
- 特征提取方法的选择直接影响PCA的降维质量和分类潜力,应根据数据特点灵活选用。