2263 字
11 分钟
数据驱动锂电工艺:不盯平均值,盯分布,我重新推演了JMP的概率模型

上个月星球里有问,我之前分享的JMP Discovery Summit上的案例具体是什么意思。 这个案例的数据和具体做法在某社,我当然拿不到,也不用去猜。

我按照自己的理解,重写了一下这个方法的底层逻辑,然后用Python写了一个可以拖动参数的交互Demo,放在了星球里。今天这篇文章,就把拆解过程分享出来。

先说一个做电池的人天天头疼的事#

电池产线很长,涂布、冷压、分切、卷绕、注液、化成、分容,一道接一道。每道工序都有自己的工艺参数要调,涂布有涂布速度和刮刀间隙,冷压有压力和温度。最终大家关心的是电芯的厚度和容量有没有落在规格以内。

问题在于,每道工序的输出不是一个固定的数,而是一个波动的范围。涂膜重量今天是15.0,明天可能14.8,后天15.3。这个波动会往下游传。涂膜重量波动了,冷压出来的厚度就跟着波动。厚度波动了,最终电芯的容量也跟着波动。

传统的做法是每道工序各管各的。涂布的人盯涂布的指标,冷压的人盯冷压的指标。但谁来看整条线串起来之后,最终产品的波动到底从哪来的?

“均值达标”不等于”产品合格”#

这是那个JMP案例最触动我的一个点。

假设你调了一组冷压参数,出来的极片厚度平均值正好是80μm,完美命中目标。你很满意。但如果这组参数恰好会放大上游涂布工序传过来的波动,那标准差可能很大,虽然平均是80,但实际产出从75到85都有,一大堆超规格。

换另一组参数,平均值可能是79.5,没那么完美对准目标。但这组参数对上游波动的放大效应小,标准差很小,产出集中在78到81之间,全部合格。

哪组参数更好?显然是第二组。

这就是PPT里写的那句话的含义:从”预测单值”到”预测分布”。我们不应该只盯着平均值,应该盯着整个分布。分布又窄又居中,才是真的好。

波动从哪来?能管吗?#

想明白上面那个道理之后,下一个问题是:最终产品的波动到底由什么决定?

拆开来看,就两部分。

一部分是上游传过来的。涂布工序输出的涂膜重量有波动,这个波动经过冷压工序会被放大或缩小。放大多少,取决于你冷压参数怎么设。比如压力设在某个值的时候,涂膜重量每波动1mg,极片厚度只波动0.5μm。压力换个值,同样的1mg波动,厚度可能波动2μm。这个”放大系数”是可以通过调参数来改变的。

另一部分是本道工序自己产生的噪声。设备精度、环境温湿度、材料批次差异,这些东西不可能完全消除,但噪声的大小也跟参数设定有关系。温度设在某个区间的时候设备运行最稳定,噪声最小。偏离这个区间,噪声就变大。

所以每道工序选参数的时候,其实在同时做两件事:一是让均值对准目标,二是让波动尽可能小。波动小的含义,既包括压缩自身噪声,也包括降低对上游波动的放大系数。

这在统计学里有个名字,叫稳健设计。田口玄一在几十年前就提出了这个思想,PPT做的事情,是把它用概率模型的方式形式化了,而且串联了多道工序。

所以”概率性建模”到底在建什么模?#

一句话总结:对每道工序,同时建两个模型。一个预测均值随参数怎么变,另一个预测方差随参数怎么变。

均值模型大家都熟悉,就是普通的回归。给定涂布速度、刮刀间隙,预测涂膜重量的平均值是多少。

方差模型是核心差异点。残差的方差不再假设是一个固定的常数,而是也用一个模型来描述。在某些参数设定下方差大,在另一些设定下方差小。这个模型可以告诉你,哪些参数区间是”稳定区”,哪些是”不稳定区”。

两个模型加在一起,给定任意一组参数,你就能预测出来的不是一个点,而是一个完整的分布。有了分布,你就能算Cpk,能算合格率,能算PPM。

然后多道工序串联起来。第一道工序的输出分布作为第二道的输入分布,第二道根据自己的均值模型和方差模型,算出自己的输出分布,再往下传。到最后一道,就得到了最终产品的完整分布。

优化的目标就变成了:在所有工艺参数的可行范围内,找到一组参数,使最终产品的分布又窄又居中,Cpk最大。

PPT里的那个两层模型#

回到那张图。它画了两层。第一层是冷压工序,输入有压力、保有量、注液前称,输出是电芯厚度和电芯容量。这些输入中有些是固定效应(你可以直接控制的),有些是随机效应(有波动的)。

第二层是更上游的涂布工序,负极涂膜重量、正极涂膜重量、基材重量这些东西,本身就是有波动的随机量。它们的波动会传到第一层。

两层串起来,就能看到一个全景:最终电芯的厚度和容量波动,有多少来自涂膜重量的波动,有多少来自冷压工序自身。改善哪一层、改善哪个参数,对最终结果的收益最大,一目了然。

小结那页PPT说了什么#

PPT在最后的小结里提了几个转变,我觉得说得很到位。

从预测单值到预测分布。不要只盯平均值,要看整个分布长什么样。

从精确预测到窗口预测。不要追求找到那”唯一最优的一个点”,而是找到一个”参数窗口”,在这个窗口里面的任何参数组合,产品分布都能落在规格以内。这对生产现场的容错性非常重要,因为实际操作不可能每次都精确到小数点后两位。

从黑盒模型到白盒模型。用深度学习当然也能拟合出精度很高的预测,但工程师看不懂模型在说什么,不知道该调哪个参数、往哪个方向调。概率性回归模型的每一项系数都有明确的物理含义,工程师可以直接拿来指导生产。

从大数据到小样本与大数据结合。工业现场不像互联网,不是什么数据都有几百万条。很多情况下一次试验只有几十个样本,但历史积累的大数据可以提供先验信息。这两者结合才是工业分析的现实路径。

我做了一个能拖着玩的Demo#

为了让这个概念不停留在PPT上,我写了一个交互网页。模拟了涂布到冷压两道工序,内嵌了400条模拟产线数据。

打开以后左边有四个滑块,分别是涂布速度、刮刀间隙、冷压压力、冷压温度。拖动任何一个,右边的分布曲线会实时变化。你能看到分布在变胖变瘦、在左右移动,同时下面的Cpk和合格率也跟着变。

最直观的玩法是:先点”初始参数”按钮,勾上”显示对比”,然后点”最优参数”。你会看到青色的曲线明显比红色的更窄更居中。这就是概率性建模优化的效果。

试着把涂布速度从3慢慢拖到7,盯着右边那张涂膜重量的分布图。你会看到曲线明显变胖了。然后再看左边极片厚度的分布,也跟着变胖了。这就是波动传递。

这个Demo是一个纯HTML文件,不需要安装任何东西,双击就能在浏览器里打开。我放在星球里了,大家可以下载了自己玩。

Demo下载及更多讨论,扫码加入知识星球「晓风数据锂航」

One more thing,我做的虽然是Demo,但谁说不能部署到产线呢😉