咸聊|一个真正能参与工艺控制的 Raman 模型,应该知道自己什么时候不可信
Raman 模型告诉你某个组分现在是 3.2 g/L。问题是:这个 3.2 到底有多可信?在实验室做趋势监测时,这个问题也许没那么致命;但一旦这个数字要触发加料、降温甚至结束反应,模型是否知道“自己不知道”,就会变得和预测精度本身一样重要。
一、3.2 g/L,看起来很精确,但可能只说了一半
但真正进入 PAT 以后,我们还应该继续追问一句:**3.2 g/L,有多大把握?**
假设 Raman100 正在连续监测一个反应,模型每 30 秒给出一次目标组分浓度:
2.7 → 2.9 → 3.0 → 3.1 → 3.2 g/L
如果这套系统只是用来“看趋势”,问题还不大。
但假如工艺规定:浓度达到 3.2 g/L,就自动启动下一步加料。
这时候,3.2 这个数字背后其实隐藏了一个非常重要的问题。
它可能意味着:
3.2 ± 0.05 g/L:模型对当前样本非常熟悉;
3.2 ± 0.8 g/L:中心值一样,但不确定度已经很高;
模型已经进入训练集没见过的区域:算法仍然能算出 3.2,但这个数字不应该直接进入自动控制。
三个结果在屏幕上看起来都是“3.2 g/L”,但在工艺上的意义是不同的。
二、R² 和 RMSEP 很重要,但它们回答不了“这一条数据靠不靠谱”
我们做光谱模型时,经常看 R²、RMSEC、RMSECV、RMSEP、Bias、RPD。
这些指标回答的是:这个模型总体表现怎么样?
而生产现场真正需要问的是:现在这一条光谱的预测,靠不靠谱?
假设一个模型的 RMSEP 是 0.15 g/L,这并不意味着每一条预测都天然等于“±0.15 g/L”。
现实往往是:
有些样本位于训练数据中心区域,模型非常熟悉;
有些样本已经靠近训练域边界;
还有一些样本已经跑到了模型从未见过的区域。
但是传统界面往往仍然只显示一个数字。
工业 PAT 真正缺的一层,是**样本级可信度**。
三、2026 年一个很重要的变化:PLS 开始不只给“一个数”
PLS 是光谱化学计量学里常见的方法之一,但传统 PLS 天然更擅长给出预测值,并不会自动告诉工程师:这一条预测的不确定度到底是多少。
2026 年发表在 Chemometrics and Intelligent Laboratory Systems 的研究,专门针对 PLS、PCR 及其核方法讨论了不确定度校准。
核心变化可以简单理解为:
不再给所有样本套一个相同的全局误差,而是根据新样本在模型潜变量空间里的位置,为每一个样本生成自己的预测区间。
例如:
| 模型输出 | 传统显示 | 加入样本级不确定度后 |
|---|---|---|
| 样本 A | 3.20 g/L | 3.20 g/L,95% 区间 3.14–3.27 |
| 样本 B | 3.20 g/L | 3.20 g/L,95% 区间 2.95–3.45 |
| 样本 C | 3.20 g/L | 已超出适用域,建议人工确认 |
四、Raman 领域也已经开始认真研究“预测到底有多可信”
2026 年 Analytical Chemistry 的一项 Raman + 机器学习研究,也把重点放到了校准后的预测不确定度上。
它传递出的信息非常直接:
全局误差指标会掩盖不同样本之间的可靠性差异。
这对在线 Raman 尤其关键,因为 Raman 数据天然可能受到:
荧光背景变化
样本异质性
浑浊、固体颗粒与气泡
探头污染
仪器响应变化
温度和过程条件变化
的影响。
在离线实验里,异常样本可以重新测一次。
但 PAT 是连续运行的:系统不断遇到新样本,而且下一步可能马上就要执行工艺动作。
所以“模型知不知道自己正在变得不可靠”,会直接决定系统能不能继续往自动控制走。
五、最危险的状态,不是模型报错,而是它不知道自己已经走远了
假设一个 Raman 模型是在 20–60 ℃范围的数据上建立的。
某次生产异常让体系到了 72 ℃。
Raman 仍然会产生光谱,PLS 也仍然可以完成矩阵运算,于是软件很认真地告诉你:
浓度 = 3.2 g/L。
问题是:模型训练时根本没有见过 72 ℃这个世界。
数学还能算,并不意味着结果仍然具有原来的可信度。
这类情况可以用一个越来越重要的概念来描述:
Out-of-Distribution,OOD,分布外数据。
而是:**模型已经进入陌生区域,却仍然像什么都没发生一样给你一个非常精确的数字。**
六、“可信度”到底可以从哪里来?
工程上不一定只有一种算法。一个更稳健的系统,通常应该综合看几个维度。
1. 预测区间
例如:
预测浓度:3.20 g/L
95% prediction interval:3.12–3.29 g/L
如果下一分钟突然变成:
预测浓度:3.20 g/L
95% prediction interval:2.30–4.15 g/L
即使中心值没有变化,工程师也应该立即警觉。
2. 模型空间距离
PLS 本身就有 latent space。工程上可以判断新光谱离历史训练数据到底有多远。
常见思路包括:
Hotelling's T²
Q residual
leverage
Mahalanobis distance
latent-space distance
这些指标本质上都在问:你长得像不像我以前见过的数据?
3. 光谱质量
可信度判断不应该只看机器学习。
系统还应该先判断:
信噪比是否异常
荧光是否突然升高
基线是否异常
CCD 是否出现饱和
探头是否可能污染
特征峰是否整体发生异常变化
如果原始数据本身已经坏了,再复杂的模型都没有意义。
4. 工艺状态
这一层尤其容易被纯光谱软件忽视。
如果模型是在特定温度、pH、浓度和搅拌区间建立的,那么当前工艺一旦明显跑出这个范围,即使 Raman 光谱表面看起来还算正常,也应该进入模型适用域检查。
这就是为什么光谱数据和过程数据不能长期分开保存、分开判断。
七、这也是为什么 Raman100 不能只看 Raman
如果只看 Raman100,我们可以得到:
时间 → 光谱 → 模型 → 预测值
但一个真正用于过程决策的系统,还需要知道:这条光谱产生的时候,整个反应到底发生了什么。
Raman100 更擅长提供分子层面的化学信息。
ECP100 / ECP200 这类过程平台,则可以同步记录和管理温度、pH、搅拌、加料以及其他过程状态。
这时候可信度判断就可以从:
“这条光谱像不像以前的数据?”
进一步升级成:
“这条光谱 + 当前工艺状态,是否仍然处于模型经过验证的 Design Space?”
八、到了自动控制,这就不再是“锦上添花”
如果 Raman 只是给工程师看趋势,预测偶尔偏一点,人还能结合经验判断。
但一旦进入自动闭环:
Raman → 判断终点 → 自动停止反应
或者:
Raman → 浓度达到阈值 → ECP 自动加料
模型可信度就会直接影响控制策略。
一个更合理的控制逻辑应该是:
| 模型状态 | 系统动作建议 |
|---|---|
| 绿灯 | 预测值可以正常进入控制逻辑 |
| 黄灯 | 保留预测值,但关键动作等待连续多帧或第二信号确认 |
| 红灯 | 模型结果退出自动控制,保留数据并提示人工确认 |
九、零代码建模下一步,不应该只是“自动帮你选 PLS 参数”
零代码光谱建模经常被理解成:
上传数据 → 自动预处理 → 自动选波段 → 自动建模 → 输出模型。
这当然能降低建模门槛。
但如果继续往工业 PAT 走,零代码系统真正需要降低的,是长期管理一个工业模型的门槛。
例如:
这个模型到底见过哪些工艺条件?
训练数据来自哪些批次?
做过哪些预处理?
当前样本离训练域有多远?
模型是否开始发生漂移?
模型更新后,上一版本为什么被替换?
新版本是否经过独立再验证?
所以真正有价值的零代码,不应该只是把“写 Python”隐藏掉。
它应该把:
数据版本、预处理、建模、验证、适用域、漂移监控、模型版本和再验证
逐渐放进同一条工作流。
十、一个真正适合生产的在线光谱界面,应该长什么样?
今天很多 PAT 软件的核心显示是:
当前预测值:3.20 g/L
但如果从生产工程师的角度重新设计,它更应该显示:
| 项目 | 当前结果 |
|---|---|
| 预测浓度 | 3.20 g/L |
| 预测区间 | 3.12–3.29 g/L |
| 模型状态 | 绿灯 / 可信 |
| 光谱质量 | 正常 |
| 是否位于训练域 | 是 |
| 当前工艺条件 | 位于验证范围 |
| 模型版本 | Raman-Process-v1.7 |
| 是否允许参与自动控制 | 是 |
因为生产工程师最终关心的不是:
“机器学习用了什么算法?”
而是:
“这个数字,我现在能不能拿来做决定?”
十一、给正在做 Raman PAT 的团队一份自查清单
如果你已经在做在线光谱模型,可以直接问自己下面这些问题:
模型现在只输出预测值,还是同时能评估预测可信度?
RMSEP 是一个全局数字,还是不同样本可以有不同预测区间?
新光谱明显超出训练数据时,系统能发现吗?
探头污染或荧光突然变化时,系统会继续机械预测吗?
模型知道自己经过验证的温度、pH、浓度范围吗?
Raman 数据是否和温度、搅拌、加料等过程参数同步?
模型进入陌生区域后,是报警还是继续参与自动控制?
模型每次更新后,是否保留版本和验证记录?
如果其中很多问题现在还无法回答,那么团队下一步真正需要补的,可能已经不是“换一个更复杂的机器学习算法”,而是:
模型可信度管理。
十二、在线光谱真正的下一步:让模型知道自己“不知道”
恰恰相反:**它应该知道自己的边界。**
模型熟悉的数据:放心预测。
靠近边界的数据:提高警惕。
从没见过的数据:明确说——我不知道。
从工程角度看,一个敢于说“我不知道”的模型,往往比一个任何时候都能给你六位有效数字的模型,更值得进入真正的生产控制系统。
Raman100 负责让反应过程变得可感知。
零代码建模负责把光谱变成可以使用的过程信息,并逐步承担模型验证与生命周期管理。
ECP100 / ECP200 再把这些信息与真实工艺状态、控制动作连接起来。
最终真正应该建立的是:
感知 → 预测 → 判断预测是否可信 → 决策 → 控制
而不是:
感知 → 给一个数字 → 默认永远正确。
这也是在线光谱真正进入闭环控制之前,必须跨过去的一道门槛。
参考研究
Uncertainty calibration for latent-variable regression models, Chemometrics and Intelligent Laboratory Systems, 2026, 105711. DOI: 10.1016/j.chemolab.2026.105711.
Calibrated Uncertainty Estimation for Soil Organic Carbon from Raman Spectra, Analytical Chemistry, 2026, 98(1): 309–316. DOI: 10.1021/acs.analchem.5c04616.
作者:咸数科技技术团队
免责声明
- 凡本网注明“来源:化工仪器网”的所有作品,均为浙江兴旺宝明通网络有限公司-化工仪器网合法拥有版权或有权使用的作品,未经本网授权不得转载、摘编或利用其他方式使用上述作品。已经本网授权使用作品的,应在授权范围内使用,并注明“来源:化工仪器网”。违反上述声明者,本网将追究其相关法律责任。
- 本网转载并注明自其他来源(非化工仪器网)的作品,目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责,不承担此类作品侵权行为的直接责任及连带责任。其他媒体、网站或个人从本网转载时,必须保留本网注明的作品第一来源,并自负版权等法律责任。
- 如涉及作品内容、版权等问题,请在作品发表之日起一周内与本网联系,否则视为放弃相关权利。
手机版
化工仪器网手机版
化工仪器网小程序
官方微信
公众号:chem17
扫码关注视频号












采购中心