【数据中台战略】可配置化数学建模的应用案例图解
关键词:维度模型、事件体系、数据中台、数据平台、数学建模、数学模型、条件系统、公式系统、数据维度、数据度量、中科院分词系统、核子秤、卡尔曼滤波导航、加速度计、陀螺仪、方法论、维度空间
目录
前言
我的第一份工作是做“核子秤” [1]自控系统的(Y射线辐射应用),那是数学在生产活动应用的首次体验。
图1 核子秤自控系统
接着在某单位做机车(火车头)在途信息实时系统(下称机车系统)的科研课题,我们用卡尔曼[2]滤波和导航算法对在山区行驶失去GPS信号的机车轨迹做了推算。在无数的公路汽车模拟和铁路火车跟车实验工作当中,对数学建模和可配置化做了深入的学习和应用。
图2 卡尔曼滤波和导航1——数据分析
图3 卡尔曼滤波和导航2——GPS轨迹推导
后来在某国企工作中将中科院ICTCLAS[3]分词系统由C翻译成其他语言版本(数学家的代码的理论和逻辑以“天书”著称)。再后来在创业公司从事用雷达对人的呼吸和心跳做健康预测的研发工作之后,倍感数学的无穷魅力于是用golang来翻译以前的数学模型代码库。
无论再深奥的数学理论,数学建模最终产物必须是程序能理解和执行的数学公式和流程步骤。
我们在数学建模的生产活动中,数学模型经常需要修改和调参,甚至推到重新建模,面对修改和重写代码的成本代价,痛点是:如何将数学建模活动独立在代码之外。
本文将以前述的机车系统经验为基础并加以提炼,阐述可配置化数学建模。
注:本文部分词汇定义仅在本文有效。
数据中台
在这里特别说一下模块化:
图4
阿里云徒科技出版的《中台实践:数字化转型方法论与解决方案》[4]一书中的几个关键词:数字化、方法论、事件风暴、需求结构化、能力可配置和数据中台。
模块化软件系统中的数据中台可以让独立模块通过其获得元系统[5]及子模块中任何主体对象的任何行为、事件及数据等信息(需高度数字信息化)。借用本人模块化思想图解[6]帖子的两幅图说明一下本文可配置化所依赖的数据平台的功能:
图5 模块化数据交换平台
图6 模块化数据交换方式
维度空间
这里讲的维度空间不是物理科学层面的。说到数学建模就要提到数据维度,本文维度空间的定义是数据维度所存在的事件节点、时间节点和物理节点等的集合。而维度空间的任何一个节点是多个数据维度的子集。健全的维度空间需对一个软件系统进行全面分析和规划。以机车系统为例的数据维度空间如图:
图7 机车系统维度空间
维度空间模型
在上述维度空间的节点中,如果我们一定要在代码中处理数学模型的具体维度数据的话,就会大大降低了可配置化率(如图8所示)。如果程序只提供基础数据,数据的提炼、加工和运算的逻辑设定放在配置层,那么数据维度可扩充空间就越广,亦即可配置化率就更高(如图9所示,公式描述是为了直观明白,不必较真):
图8 机车失去GPS信号后的坐标推算——常规配置调参
图9 机车失去GPS信号后的坐标推算——可配置化建模
根据图7的维度空间我们建立了可配置化的维度空间模型,每个维度空间节点对应执行可运算的配置项(由数据中台支持配置项的数据操作):
图10
以修正陀螺仪误差的配置为例(机车转弯的三个节点,可以说是数据模型的子模型):
图11 机车转弯前执行的配置运算
图12 机车转弯中执行的配置运算
图13机车转弯后执行的配置运算——获得平均误差
如以上图11~13所示,我们在配置表中实现了 陀螺仪误差值的自学习计算,亦即实现了可配置化的数学模型。 实际应用中各个维度空间节点可以配置更多更复杂的维度数据(相互依赖关系)。
应用展望
数据中台:数据中台思想不局限于以人为主题的客户数据系统中,还可以应用于以程序模块为主体的模块化系统中,同样也不局限于本文的案例系统。
维度空间模型:实际的应用中,一个主数学模型需要依赖很多个子数学模型来完成,也就是实战应用中复杂度非常高,需要具备全局的思考和规划能力才能设计出健全的空间模型。
方法论:一切都是方法论,很多方法的适用性是不受应用场景限制的。
一个数据中台代码库(golang)
Data Middle Platform Of The Module(DMP),用于独立模块间数据共享的数据中台。集成:名字系统、数据仓库、条件系统、公式系统、运算集合、流程步骤控制系统、监听系统(数据变化监听和条件监听)、自定义函数系统、Go数学函数库、数据工作站。
图14 DMP库功能
图15 流程控制表达式解析
图16 解析后的流程表达式
图17 条件表达式解析及条件监听
图18 执行运算集合和步骤流程
图19 流程表达式执行结果(可输出步骤详细信息)
相关名词及资料:
[1]核子秤名词解释
[2]卡尔曼惯性导航和滤波
[3]中科院ICTCLAS分词系统
[4]数据中台
[5]模块化名称:元系统
[6]本人的模块化思想图解