原问题:
原贴链接:
数据挖掘技术是不是饮鸩止渴?现时中企业和工业是怎么看待和使用数据挖掘所得到的结果的?
数据挖掘技术现在非常火热,在我所在的领域(化工),使用数据挖掘技术来分析和回归所得到数据被认为是一种“先进”的做法,与此相关的项目和paper也在逐渐增加。
我所看到的技术,都将数据挖掘当做一个黑箱,似乎把什么样的数据放入其中,都能阐明变量间的联系大小,得到一个回归得不错的模型。
然而我很怀疑这种将内在联系当成黑箱的建模的做法预测的精度是否真如传说中那么可信,也在怀疑不经过真正的机理和原理研究所得到的结果将来会不会遇到很大的阻碍。所以有如下问题:
1 数据挖掘技术是否是为了实现数据回归所作的妥协。过度依赖它是不是一种饮鸩止渴?
2 企业是如何看待数据挖掘技术所得到的结果,依据的标准是什么?
我的想法:
个人觉得工业界和学术界的目的不一样,也决定了对待这样的数据挖掘出来的模型的有不一样的态度。学术界的目的就是发paper,所以尝试新鲜想法,蹭热点,目的都是为了发paper 。工业界的目的是利润,有时候只要能解决问题,不管它黑猫还是白猫。一切都是以成本,利润为主要考量的。模型的具体选择,需要随着场景,目的,成本,精确度等的变化来考量。
我偏个题,歪个楼,谈化工过程控制的模型的例子。例子来源是,我们化工系的大三年级,过程控制(Process Control)的课程。在化工的自动控制问题中,经典PID控制需要控制对象的数学模型。对于化工而言,就是各种动态化工过程的模型。
很多简单的化工的动态过程,可以用简单的常微分建立出机理模型,比如连续搅拌过程:
(写第一稿的时候没注意,这里有个小问题,化工中其实一般通过控制流量,来控制浓度)
![0e10b9b687bd31022dc7051b41689e5c.png](https://i-blog.csdnimg.cn/blog_migrate/142129036c72ff0baac4a2e248ab2a1f.png)
其机理模型,用简单的常微分方程,就可以得到:(1)
经典控制理论中,常用(1)式的Laplace变换形式,即该过程的传递函数:(2)
然后就可以根据这个传递函数,去设计PID控制。这样的课经常会让很多我们化工系的学生误以为,化工过程的控制,都是化工工程师先根据化工的知识去建立机理模型,再和控制工程师合作设计控制系统。
事实上,这是大三年级化工系的学生的常见的误解,只有这样比较简单的化工系统可能会才去用机理建模的方式,去设计控制系统。今天的绝大多数化工过程都不是这样去设计控制器的。实际的化工过程,往往非常复杂,其机理模型不见得可以用简单的线性常微分方程组去表达,建立复杂的模型费时费力。一些化工过程需要分布参数模型(Distributed Parameter System)才能表达,这时需要一些非常复杂的偏微分方程组来建立模型,这种分布参数模型的化工过程在传递过程这门课中可以看到。一个好的机理模型,需要能把系统的各种动态特性,比如非最小相位(局部有正反馈)、大惯性、时滞、非线性特点,包含进去。这还是非常困难的,非常费时费事的。很多机理建模,是在一定程度的理想化假设下,尽量去逼近现实模型的。举个这样的例子,简单换热器的动态过程建模:
![a5a851ca8d7d1b7831c2c2589cf7b207.png](https://i-blog.csdnimg.cn/blog_migrate/dbfe3cfd9ceacc76235eb8393261b039.png)
可以看到换热器的动态方程复杂程度,比(1)式大幅增加。某些化工过程的机理模型,比这个简单换热器动态方程还要复杂的多得多。稍微想一下精馏塔的动态模型,就会明白机理建模对于一些复杂系统,是非常费时费力费钱的,但绝对不是不可以建。相对理想化一些的模型还是有办法建的,但不一定能够很好地反映系统动态特性。虽然根据偏微分方程组,也有办法设计控制器,但这种分布参数模型不是那么容易得到的。这种方法的建模成很高,而且模型往往很复杂,不方便使用,工业界不喜欢。除非那个问题真的很难控制,但又十分重要,十分值得,才会值得考虑机理建模。这种情况,而选择机理建模的例子也是有的,但在国内不是那么多。
绝大多数化工系统的控制,真正最广泛采用的方法是——实验法,或者说某种意义上的系统识别(系统辨识)。(现在还有很多高大上的系统辨识方法,但工业界接受很慢)。这类比较传统的实验方法,常见的有响应曲线法(阶跃、脉冲、方波响应)、频域法、相关统计法。某种意义上说,这里提到的基本方法中,响应曲线法和频域法很low,但简单粗暴实用。相关统计法,能做到更好的品质,也要复杂一些或者很多。响应曲线法和频域法最常见。响应曲线法可以简单理解成,把一些人造的信号,比如阶跃,送入化工系统(系统在开环下测试),去测系统的输出;频域法,可以理解成将不同频率的正弦信号送入系统,然后分别测量输出的信号的幅值变化和相位变化,然后得到Bode图或者Nyquist图,然后根据频域信息设计控制系统。这类方法都是,给定一些输入,来实验测其输出,不考虑系统的机理。根据输出和输入的关系来计算、拟合、近似当前这个系统在set point的动态特征。举例,阶跃响应曲线法,某化工系统的温度,对流量的阶跃响应如下:
![bb956ae99ecea96cecaa51e8ece92fe4.png](https://i-blog.csdnimg.cn/blog_migrate/8cf019725e716a6f62f75c63fb8bb9c1.jpeg)
这幅图里,根据这个阶跃响应的图像,我们就大体上可以用一阶系统去近似这个响应:
这类实验方法最大的特点,就跟题主讲的“黑箱”很像。这个例子中可以看到,我们根本不知道是什么化工过程,没有用到系统的化工知识去建模。我们只知道流量w阶跃输入到系统中,温度T发生了一个升高。这个温度T升高的曲线,像一阶系统,然后就用一阶系统去近似。提到的频域法,在一些滞后严重、惯性大的系统,比如精馏塔中,还不实用。化工系统中,滞后严重、惯性大的、非线性、非最小相位(局部有正反馈现象),并不少见。
问题来了?如何评价上面化工中的“黑箱”模型的广泛应用呢,和机理模型的式微呢?从上面的例子来看,对比换热器的例子和搅拌的例子,可以很清楚地看到机理建模的弊端,费时、费力、费钱、复杂,但是适用范围会比这种最原始的响应曲线法好,也可以更加精确,控制品质也会更好。机理建模,也未必就能够很好地反映系统的动态特性。所以我们可以看到一个现象,建模并不是工业界为了好的品质的首选项。
这种“黑箱”模型的特点刚好反过来,容易实践、容易掌握,对于绝大多数化工问题控制品质也过得去,然后简单、省钱。这不就是一开始提到的工业界想要的吗?(工业界就是像低投入,高回报、快回报。这无可厚非)它的缺点就是,控制品质难提高,适用范围就是那个set point附近。另外,有不考虑机理的“黑箱”效果也非常好,比如神经网络。
化工中除了黑箱和机理,还有一类半经验-半理论的模型。最好的例子就是化工里的各种准数的关联图和关联式。这类模型的的广泛普及,就可以侧面看到,工程学科的一个特点:一切以实用出发,能够弄懂机理当然更好。
综上,个人浅见,模型的选择,还是应该从实际出发,综合考虑成本、需求、精度等因素。对于值得花大力气,花钱解决,以获得更好的品质,可能建机理模型会是一个好选项。对于很多常见问题,可能没有这个必要,“简单粗暴”可能更好。个人还是蛮期待有人能去挖掘下化工自动控制仪表的数据,能不能挖出点“宝藏”来。
这是我导师很喜欢引用的一句话,与大家分享:
Wiechert : “As a rule, a model should always be as simple as possible and as complex as necessary.”
我的其他帖子:
化工《传递过程原理》?
化工仿真软件研发工作,公司为啥招聘化工专业的呢?化工专业的又不会编写代码,软件专业不是对口吗?
知乎用户:化工传递用书推荐?
想问一下matlab在化学制药领域用的到吗?
有什么与流体力学相关的python库吗?