当前位置: 首页 > news >正文

2025认证杯数学建模第二阶段C题:化工厂生产流程的预测和控制,思路+模型+代码

2025认证杯数学建模第二阶段思路+模型+代码,详细内容见文末名片

一、探秘化工世界:问题背景大揭秘

在 2025 年 “认证杯”数学中国数学建模网络挑战赛第二阶段 C 题中,我们一头扎进了神秘又复杂的化工厂生产流程预测与控制领域。想象一下,化工厂就像一个巨大的工业“魔法工厂”,里面有众多反应釜、管道和储罐等设备,它们相互协作,共同完成生产任务。

在这个“魔法工厂”的流水线上,每个位置都有温度、压力、流量等数不清的参数,就像一个个神秘的密码,只有当这些密码都调整到正确的范围,最终生产出来的“魔法产物”才是合格的。然而,这些参数就像调皮的小精灵,特别容易受到外部随机因素的干扰,需要我们实时调控。但尴尬的是,参数实在太多了,测量起来困难重重,很多参数根本来不及及时调整。而且,这些参数之间还相互关联,牵一发而动全身,想要确定一个合适的调控方式,简直比解开一道超级复杂的谜题还难。

所以,聪明的工程师们想到了用数学模型这个强大的工具来推算和预测生产流程。理想状态下,就像拥有一双透视眼,只需要测量少数容易测量的变量,比如最终产物的成分,再控制少数容易控制的参数,比如某些原料的输入速率,然后借助数学模型这个神奇的“水晶球”,就能推知整个反应链的情况,并进行适当的控制。

这次题目附件给我们提供了某化工厂脱硫工艺流程的测量数据。这个脱硫工艺就像是一个“硫元素的净化工厂”,专门去除酸性气流中的含硫污染物,还能把反应产物单质硫回收利用,既环保又高效。输入原料气体有 5 种,在输出端我们主要检测二氧化硫和硫化氢这两种污染物的浓度值。化工厂要保证回收流程正常运行,就必须精准控制原料气流的输入速率。而且,数据集中相邻数据采样时间间隔一致,这个小小的时间间隔,就是我们采样和控制的最小时间单位,可别小看它,它可是我们探索这个化工世界的重要时间刻度哦。

二、数据宝藏:文件解读与挖掘

(一)数据文件 1:输入参数的神秘档案

数据文件 1 就像是一本记录输入原料气体参数的神秘档案,不过它只是部分样例,并非全量数据。打开这本“档案”,我们看到它是一个二维表格,里面有 5 个字段,分别叫 IN1、IN2、IN3、IN4、IN5 。每个字段下面都排列着一系列数值,这些数值代表了脱硫工艺中输入原料气体的相关参数,虽然具体物理意义还没明确告诉我们,但它们就像隐藏在黑暗中的线索,等待我们去挖掘。

由于数据集中相邻数据采样时间间隔一致,这就像给这些参数变化拍了一部按固定时间间隔拍摄的“电影”,每个数值都是电影中的一帧,反映了在不同采样时刻输入原料气体各参数的取值情况。这些数据可是解决化工厂生产流程预测和控制问题的重要基础,就像搭建高楼大厦的基石。基于这些输入数据,再结合我们对输出数据(二氧化硫和硫化氢浓度值)的要求,就能建立数学模型,去预测输出数据、判断输出产物是否合格,以及确定不合格事件发生的时间等,帮助化工厂更好地控制原料气流输入速率,让整个回收流程像精密的钟表一样正常运行,实现对生产流程的有效预测和控制。

(二)数据文件 2:输出污染物的浓度密码

数据文件 2 是一个 CSV 格式的二维表格,它就像一个记录着输出端秘密的密码本,包含“SO2”和“H2S”两个字段,分别代表脱硫工艺流程输出端检测到的二氧化硫和硫化氢两种污染物的浓度值。不过,这也只是举例数据,并非全部。从数据样例来看,这两种污染物浓度值就像坐过山车一样,有正有负,数值大小还呈现出一定的波动变化,仿佛在向我们传递着生产过程中的各种信息。

这个“密码本”同样是解决问题的关键依据。基于这些数据,我们可以建立数学模型,去预测输出数据、判断输出产物是否合格,以及预测不合格事件发生的时间等。化工厂可以通过控制原料气流输入速率,根据这些数据来保证脱硫回收流程正常运行,实现对生产流程的有效预测和控制,就像根据密码本中的线索解开生产过程中的一个个谜团。

三、问题剖析:步步为营,攻克难题

(一)数据:开启建模大门的钥匙

  1. 数据文件 1:输入的基石作用
    数据文件 1 中的 IN1、IN2、IN3、IN4、IN5 这五个字段,就像五位神秘的“幕后操控者”,代表着脱硫工艺中输入原料气体的相关参数。它们在不同采样时刻的取值,是建立输入与输出关系模型的重要基础。比如说在第一阶段问题 1 里,我们要根据这些输入数据预测时刻 t 的输出数据,它们的准确性和完整性就像拼图的每一块,少了或者错了,整个模型预测精度这块“拼图”就拼不完整啦。在后续的各种问题中,它们也是进行预测和控制的重要依据,就像航海中的指南针,指引着我们探索生产流程的方向。
  2. 数据文件 2:输出的指示灯塔
    数据文件 2 里的“SO2”和“H2S”两个字段,宛如两座指示灯塔,代表着脱硫工艺流程输出端检测到的二氧化硫和硫化氢两种污染物的浓度值。它们的作用可不小,是判断输出产物是否合格,以及进行不合格事件预测和定位的关键。在第一阶段问题 2 中,我们要结合输入数据,通过它们来预测未来特定时间窗口内输出数据是否会不合格;在问题 3 里,更是要基于这些数据准确预测不合格事件发生的时间。在第二阶段的问题中,它们依然是考虑延时效应后进行预测和控制的关键因素,时刻为我们照亮生产流程中可能出现问题的“暗礁”。
  3. 数据处理:打磨数据的魔法棒
    • 数据清洗:去除杂质,还原真实:就像给宝石去除杂质才能绽放光芒一样,我们首先要检查数据中是否存在缺失值、异常值等杂质。对于缺失值,我们可以像给拼图补缺一样,采用均值、中位数填充,或者根据时间序列的趋势进行插值填充。比如说,如果某个时刻的 IN1 数据缺失了,我们就可以计算该字段其他时刻的均值来填补这个空缺。对于异常值,我们可以借助箱线图等工具像侦探一样把它们找出来,然后根据实际情况进行修正或删除,让数据恢复真实面貌。
    • 数据转换:量身定制,适合模型:为了让数据能更好地适配模型训练,我们需要给数据来个“变身”,进行数据转换。比如对输入和输出数据进行标准化处理,让它们具有零均值和单位方差,这就好比给数据穿上了统一的“训练服”,可以加快模型的收敛速度,让模型训练更加高效。我们可以使用公式(x_{standard}=\frac{x - \mu}{\sigma})来实现这个“变身”,其中(x)是原始数据,(\mu)是均值,(\sigma)是标准差。
    • 数据抽样:精简数据,抓住重点:要是数据量太大,就像一座大山,处理起来困难重重。这时候我们可以进行适当的抽样,就像从大山中挑选出最关键的矿石。对于时间序列数据,我们可以采用等间隔抽样的方法,既保证了数据的时间顺序,又不会破坏数据的特征,让我们能抓住数据的重点,更轻松地进行后续分析。

(二)问题逻辑:环环相扣的解谜之旅

  1. 第一阶段问题 1:搭建基础框架
    在化工厂生产流程这个大谜团中,为了实现对生产过程的有效控制,我们首先要建立输入与输出之间的关系模型。在初步分析时,为了简化问题,我们就像先在迷宫中找到一条简单的路径,先不考虑反应过程造成的延时,快速构建一个基础的预测模型。这个模型就像搭建高楼的第一层,是后续问题的基础,对于我们理解和掌握生产过程的规律至关重要。它建立了不考虑延时的输入输出即时映射模型,为整个解谜之旅提供了一个基础框架。
  2. 第一阶段问题 2:合格性判断的前奏
    基于问题 1 搭建好的框架,结合历史数据,我们开始对未来特定时间窗口内的输出数据进行合格性判断。在实际生产中,化工厂就像一位严格的质检员,必须确保输出产物合格,所以提前预测未来一段时间内输出数据是否会不合格,以便及时采取措施调整,这对于保证生产的稳定性和产品质量就像给生产过程加上了一道坚固的保险。这个问题为问题 3 预测不合格事件发生的时间打下了基础,就像在解谜的道路上又迈进了一步。
  3. 第一阶段问题 3:精准定位不合格时间
    问题 3 是问题 2 的进一步深化,仅仅知道未来会不会出现不合格事件还不够,化工厂还需要像精准的钟表匠一样,知道不合格事件具体发生的时间,这样才能更精准地进行生产控制和调整,提高生产效率和产品质量。在已经判断出未来是否会出现不合格事件的基础上,我们要尽可能准确地预测不合格事件发生的时间,这一步就像在解谜过程中找到了关键线索,让我们离真相更近一步。
  4. 第二阶段问题 1:探寻延时的奥秘
    在真实的反应流程中,输入反应物的量发生改变后,并不会立刻体现在输出产物中,而是需要一定的延时,就像声音传播需要时间一样。为了更准确地描述生产过程,我们需要像探险家一样,建立合理的数学模型,从已知数据中去探寻这个延时的时长。这对于后续考虑延时的预测和控制问题具有重要意义,它就像给我们的解谜工具包中添加了一件新的重要工具。
  5. 第二阶段问题 2:考虑延时的精准预警
    考虑到延时效应后,我们要建立更准确的模型,就像给解谜地图加上了更精确的标注,在未来特定时间窗口内预测不合格事件发生的时间,为化工厂提供更有效的预警信号,提高生产的安全性和稳定性。这个问题结合了问题 1 估计的延时和问题 3 的时间定位方法,在考虑延时的情况下预测不合格事件发生的时间,让我们的解谜之旅更加精准。
  6. 第二阶段问题 3:实现闭环控制的终极目标
    化工厂的最终目标就像游戏的通关任务,是使输出产物全程尽量保持在合格状态。所以我们要建立合理的数学模型,给出一套对反应物流量的控制方案,实现对生产过程的闭环控制。这一步综合了前面所有问题的模型和结果,就像把所有的解谜碎片拼凑完整,是整个问题的最终目标,标志着我们成功解开了化工厂生产流程预测与控制这个大谜团。

(三)第一阶段问题 1 分析:构建输入输出的桥梁

  1. 问题起源与重要性:开启控制之门
    在化工厂生产流程这个复杂的系统中,为了实现对生产过程的有效控制,就像要驾驭一艘在波涛中航行的大船,我们必须建立输入与输出之间的关系模型。在刚开始探索时,为了简化问题,我们先不考虑反应过程造成的延时,就像先在平静的湖面练习划船,这样可以快速构建一个基础的预测模型。这个模型是后续所有问题的基石,对于我们理解和掌握生产过程的规律,就像掌握了大船的驾驶技巧一样重要。
  2. 解答思路:寻找合适的建模工具
    • 影响因素:复杂关系的挑战:输入输出关系的复杂性就像一座难以攀登的高山,是我们面临的关键挑战。输入参数之间可能像错综复杂的藤蔓一样相互作用,输入与输出之间也可能呈现出复杂的非线性关系,这给我们建模带来了不小的困难。
    • 理论基础:多样的建模武器库:我们可以从线性回归、随机森林、XGBoost、神经网络等理论中挑选合适的“武器”来构建模型。线性回归就像一把简单实用的锤子,适用于简单的线性关系;而神经网络则像一把功能强大的瑞士军刀,更适合处理复杂的非线性关系,我们可以根据实际情况选择最合适的工具。
    • 核心变量:明确目标与方向:输入变量是 IN1、IN2、IN3、IN4、IN5 这五个“主角”,输出变量则是 SO2 和 H2S 这两个“关键角色”。明确了这些核心变量,就像在迷雾中找到了前进的方向,让我们的建模工作更有针对性。
    • 约束条件:数据的枷锁与挑战:数据的准确性和完整性就像给我们戴上了一副枷锁,是我们必须面对的约束条件。数据中的噪声和缺失值可能像隐藏在暗处的陷阱,影响模型的性能,我们需要小心翼翼地避开这些陷阱,确保模型的可靠性。
    • 模型构建:打造坚固的桥梁
      • 特征工程:挖掘潜在宝藏:我们可以尝试多项式特征、交互项或 PCA 降维等方法,就像在地下挖掘宝藏一样,挖掘输入参数之间的潜在关系。比如对于输入变量(x_1,x_2,\cdots,x_5),我们可以构建多项式特征(x_1^2,x_1x_2)等,让这些隐藏的宝藏为我们的模型添砖加瓦。
      • 模型选择:挑选合适的工具
        • 线性模型(如岭回归):假设输入输出之间存在线性关系,就像在两点之间画直线一样,模型可以表示为(y = \beta_0+\beta_1x_1+\beta_2x_2+\cdots+\beta_5x_5+\epsilon),其中(y)是输出变量(SO2 或 H2S),(x_1,x_2,\cdots,x_5)是输入变量(IN1 - IN5),(\beta_0,\beta_1,\cdots,\beta_5)是待估计的系数,(\epsilon)是误差项。这个模型简单直观,适用于一些相对简单的情况。
        • 非线性模型(如 XGBoost):通过构建多个决策树来拟合输入输出关系,就像搭建一座由许多小积木组成的复杂建筑,每个决策树对前一个决策树的残差进行拟合,能够处理更复杂的非线性关系。
      • 验证:检验桥梁的坚固性:使用时间序列交叉验证(TimeSeriesSplit)这个“质量检测工具”,避免数据泄漏。我们把数据按照时间顺序划分为训练集和测试集,就像把建筑材料分成不同的批次,多次进行模型训练和验证,评估模型的性能,确保我们搭建的这座“桥梁”足够坚固。
  3. 注意事项:细节决定成败
    • 数据精度:精确是关键:确保输入和输出数据的精度,就像确保建筑材料的质量一样重要,避免因数据误差导致模型不准确,不然我们的“桥梁”可能就会摇摇欲坠。
    • 模型假设的合理性:合适的才是最好的:在选择模型时,要像挑选合适的鞋子一样,考虑输入输出关系是否满足模型的假设。比如使用线性回归模型时,要验证输入输出是否存在线性关系,不然就像穿错了鞋子,走路会很别扭。
    • 计算方法的选择:找到最佳路径:不同的模型有不同的计算方法,就像不同的目的地有不同的最佳路线,我们要选择合适的计算方法来求解模型参数,这样才能高效地达到我们的目标。
  4. 总结:搭建稳固的基础桥梁
    首先对输入数据进行特征工程处理,像挖掘宝藏一样挖掘输入参数之间的潜在关系。然后根据输入输出关系的复杂程度,像挑选合适的工具一样选择合适的模型,如线性回归、随机森林、XGBoost 或神经网络。最后使用时间序列交叉验证对模型进行验证,就像对桥梁进行质量检测,确保模型的可靠性,为后续的解谜之旅搭建一座稳固的基础桥梁。

(四)第一阶段问题 2 分析:预测合格性的关卡

  1. 问题起源与重要性:守护生产质量
    在实际生产中,化工厂就像一个严格的质量守护者,必须确保输出产物合格。提前预测未来一段时间内输出数据是否会出现不合格的情况,就像提前发现前方道路上的障碍,以便及时采取措施进行调整,这对于保证生产的稳定性和产品质量就像给生产过程穿上了一层坚固的铠甲,具有至关重要的意义。
  2. 解答思路:制定预测策略
    • 影响因素:阈值与预测方法的挑战:阈值设定和时间序列预测方法就像两个关键的关卡,是我们面临的关键影响因素。阈值设定不合理,就像关卡的门槛设置不当,会导致误判或漏判;时间序列预测方法选择不当,就像选错了前进的道路,会影响预测的准确性。
    • 理论基础:多理论协同作战:基于阈值设定、时间序列预测、分类模型、ROC 曲线等理论,我们要像组建一支精锐的部队一样,让这些理论协同作战。阈值设定可以基于历史数据分布或 ROC 曲线优化,就像根据地图上的线索找到最佳的路线,平衡误判和漏判的概率。
    • 核心变量:明确预测目标:输入变量是从开始直至时刻 t 的输入数据和输出数据,就像我们掌握的所有历史情报;输出变量是未来(t + 10)到(t + 70)个时间单位之间的输出数据是否合格(二分类变量),这就是我们要预测的目标,就像我们要攻克的关卡。
    • 约束条件:合理阈值的关键:阈值设定的合理性就像关卡的关键钥匙,是约束条件。阈值过小,就像门槛太低,可能导致误判;阈值过大,就像门槛太高,可能导致漏判,我们必须找到一个合适的阈值。
    • 模型构建:打造预测利器
      • 阈值设定:寻找最佳门槛:基于历史数据分布或 ROC 曲线优化(如 Youden 指数),就像在众多门槛中找到最合适的那一个。例如,通过绘制 ROC 曲线,找到 Youden 指数最大的点对应的阈值作为最优阈值,这个阈值就是我们打开预测大门的关键钥匙。
      • 特征构建:提取关键特征:滑动窗口提取历史输入/输出的统计特征(均值、方差等),就像从历史情报中提取关键信息。比如以过去 10 个时间单位的数据为窗口,计算窗口内输入和输出数据的均值和方差作为新的特征,这些特征将帮助我们更好地预测未来情况。
      • 分类模型:训练预测能手
        • 直接多步预测:训练分类器直接判断未来窗口是否超标,就像派一名经验丰富的侦察兵直接去前方查看情况。可以使用逻辑回归、支持向量机等分类器,这些分类器就像训练有素的侦察兵,能够快速准确地判断情况。
        • 滚动预测:递归预测每一步,累计判断是否超标(误差可能累积),就像一步一步小心翼翼地探索前方道路,但要注意误差可能会像雪球一样越滚越大。
  3. 注意事项:平衡与控制
    • 阈值权衡:找到平衡点:阈值需像走钢丝一样权衡灵敏度(召回率)与误报率(FPR),根据实际生产需求选择合适的阈值,确保我们既能准确发现问题,又不会被过多的误报干扰。
    • 时间序列预测误差:控制误差累积:滚动预测可能会导致误差累积,就像在长途旅行中,每一步的小偏差可能会导致最终偏离目标很远。我们要采取措施减少误差,比如定期调整路线,确保预测的准确性。
  4. 总结:成功跨越合格性预测关卡
    基于问题 1 建立的模型,根据历史数据分布或 ROC 曲线优化设定阈值(k_1)和(k_2),这就像为预测关卡设置了合适的门槛。然后采用直接多步预测或滚动预测的方法,对未来(t + 10)到(t + 70)个时间单位之间的输出数据进行预测,就像派出侦察兵去探索前方道路。最后将问题转化为二分类问题,使用序列特征训练分类器,判断是否会出现不合格事件,成功跨越合格性预测这个重要关卡。

(五)第一阶段问题 3 分析:精准定位不合格时间的挑战

  1. 问题起源与重要性:精确控制的关键
    仅仅知道未来一段时间内是否会出现不合格事件,对于化工厂来说就像只知道前方有障碍,但不知道具体位置,还远远不够。化工厂需要像精准的导航仪一样,知道不合格事件具体发生的时间,这样才能更精准地进行生产控制和调整,提高生产效率和产品质量,就像在复杂的道路上准确找到需要维修的路段,及时进行修复。
  2. 解答思路:寻找精准定位方法
    • 影响因素:预测准确性的考验:时间序列预测的准确性就像导航仪的精度,是关键影响因素。多步预测中误差累积就像导航过程中的偏差,会影响预测的准确性,我们必须想办法克服这个困难。
    • 理论基础:时间序列与事件定位的结合:基于时间序列预测、事件定位等理论,我们要像把不同的工具组合起来一样,让它们共同发挥作用。时间序列预测模型可以采用 LSTM、TCN 等深度学习模型,这些模型就像拥有超强记忆力的助手,能够捕捉时间序列的长期依赖关系,帮助我们更好地预测未来情况。
    • 核心变量:明确输入输出:输入变量为从开始直至时刻 t 的输入数据和输出数据,就像我们积累的所有经验;输出变量为未来(t + 10)到(t + 70)个时间单位之间不合格事件发生的时间,这就是我们要精准定位的目标,就像要在地图上找到一个精确的地点。
    • 约束条件:平稳性的要求:时间序列数据的平稳性就像道路的平整度,是约束条件。非平稳的时间序列数据可能像崎岖不平的道路,导致预测结果不准确,我们需要确保数据的平稳性。
    • 模型构建:打造精准定位工具
      • 回归模型:直接预测定位:直接预测 SO2/H2S 未来序列,定位首次超过阈值的时间,就像直接在地图上沿着路线寻找超过某个标记的地点。可以使用 LSTM、TCN 等模型进行时间序列预测,这些模型能够根据历史经验准确地预测未来情况,帮助我们找到不合格事件发生的时间。
      • 事件检测:变点检测定位:将问题转化为变点检测(如 CUSUM 算法),通过检测数据序列中的突变点来定位不合格事件发生的时间,就像在一条河流中检测水位的突然变化,从而找到问题发生的位置。
  3. 注意事项:克服误差与确保平稳
    • 误差累积问题:减少误差积累:多步预测误差累积会像滚雪球一样影响预测的准确性,我们建议使用 Seq2Seq 或 TCN 模型,并采用滚动预测的方法,就像在长途旅行中不断调整路线,减少误差累积,确保预测的准确性。
    • 时间序列平稳性:检验与调整:在使用时间序列预测模型之前,要像检查道路平整度一样对数据进行平稳性检验,如 ADF 检验。如果数据不平稳,可以进行差分处理使其平稳,就像把崎岖的道路铺平,让我们的预测之路更加顺畅。
  4. 总结:精准定位不合格时间
    在问题 2 判断出未来会出现不合格事件的基础上,利用时间序列预测方法,就像使用高精度的导航仪,尽可能准确地定位不合格事件发生的时间。选择合适的时间序列预测模型,如 LSTM、TCN 等,并采取措施减少误差累积,确保我们能够精准地找到不合格事件发生的时间,为化工厂的精准控制提供有力支持。

(六)第二阶段问题 1 分析:揭开延时的神秘面纱

  1. 问题起源与重要性:更准确描述生产过程
    在真实的反应流程中,输入反应物的量发生改变后,并不会立刻在输出产物中体现出来,而是需要一定的延时,就像我们按下开关,灯不会马上亮,需要等一会儿。为了更准确地描述生产过程,就像给一幅画加上更精确的细节,我们需要对这个延时进行估计。这对于后续考虑延时的预测和控制问题具有重要意义,就像为我们的生产控制地图加上了更准确的时间刻度,让我们能更好地把握生产节奏。
  2. 解答思路:探索延时估计方法
    • 影响因素:复杂的延时关系:输入输出数据的相关性和系统的动态特性就像一团迷雾,是关键影响因素。多输入多输出系统的延时情况复杂,可能存在耦合延时,就像许多条相互交织的线,增加了我们探索的难度。
    • 理论基础:多种理论助力:基于互相关分析、Granger 因果检验、系统辨识等理论,我们要像利用多种工具来解开这团迷雾。互相关分析通过计算输入与输出的互相关函数,找到峰值位置来确定延时,就像在黑暗中寻找发光的灯塔来确定方向;Granger 因果检验可以验证输入对输出的滞后影响,就像判断一个事件是否会导致另一个事件的延迟发生;系统辨识则通过建立数学模型来优化延时参数,就像为我们的探索绘制更精确的地图。
    • 核心变量:聚焦延时参数:输入变量为 IN1、IN2、IN3、IN4、IN5 ,输出变量为 SO2 和 H2S ,而核心参数就是延时(\tau),这就像我们要寻找的宝藏,是解决问题的关键。
    • 约束条件:采样频率的限制:数据的采样频率就像我们观察世界的频率,如果过低,可能无法准确捕捉输入输出的变化,影响延时估计的精度,就像用低像素的相机拍照,照片会模糊不清。
    • 模型构建:搭建延时估计模型
      • 互相关分析:寻找峰值定延时:计算输入与输出的互相关函数(R_{xy}(k)=\sum_{n = 0}^{N - 1}x(n)y(n + k)),其中(x(n))是输入数据,(y(n))是输出数据,(k)是延时,找到互相关函数的峰值位置对应的(k)值即为延时,就像在一群信号中找到最强烈的那个信号来确定时间差。
      • 系统辨识:模型拟合求延时:用 ARX 模型拟合,模型可以表示为(y(t)+\sum_{i = 1}^{na}a_iy(t - i)=\sum_{j = 0}^{nb}b_ju(t - j - \tau)+\epsilon(t)),其中(y(t))是输出变量,(u(t))是输入变量,(a_i,b_j)是待估计的系数,(\tau)是延时,(\epsilon(t))是误差项。通过优化算法(如pem函数)来估计延时参数(\tau),就像通过调整模型的各个参数,让模型更贴合实际情况,从而找到准确的延时。
      • Granger 检验:验证因果关系:验证输入对输出的滞后因果性,判断输入变量是否能在一定程度上预测输出变量的未来值,就像判断一个原因是否会在一段时间后导致一个结果,帮助我们进一步确认延时的存在和影响。
  3. 注意事项:应对复杂情况
    • 多输入耦合延时:分通道处理:多输入可能导致耦合延时,就像多条河流汇聚在一起,情况变得复杂。我们需分通道估计后取最大延时,就像分别测量每条河流的流量,然后取最大的那个作为总体的参考。
    • 数据采样频率:确保足够高:确保数据的采样频率足够高,就像提高相机的像素,以准确捕捉输入输出的变化,保证延时估计的精度,让我们能看清生产过程中的每一个细节变化。
  4. 总结:成功揭开延时面纱
    通过互相关分析计算输入与输出的互相关函数,找到峰值位置来估计延时,就像在迷雾中找到了灯塔;使用 Granger 因果检验验证输入对输出的滞后影响,进一步确认延时关系;采用系统辨识方法,通过 ARX 模型拟合优化延时参数,成功揭开延时的神秘面纱,为后续考虑延时的预测和控制问题提供关键参数。

(七)第二阶段问题 2 分析:考虑延时的精准预警模型

  1. 问题起源与重要性:提供更有效预警
    考虑到延时效应后,就像给我们的预测装上了更精准的雷达,需要建立更准确的模型,以便在未来特定时间窗口内预测不合格事件发生的时间,为化工厂提供更有效的预警信号,提高生产的安全性和稳定性,就像给化工厂的生产过程加上了一层更坚固的保护罩。
  2. 解答思路:构建考虑延时的模型
    • 影响因素:关键因素的挑战:延时模型的准确性和时间序列预测方法的有效性就像两把钥匙,是关键影响因素。延时估计不准确,就像钥匙插错了孔,会导致预测结果偏差较大;时间序列预测方法选择不当,就像选错了开锁的技巧,会影响预测的精度。
    • 理论基础:多理论融合:基于延时模型、时间序列预测、事件定位等理论,我们要像把不同的零件组装成一个精密的仪器一样,让这些理论相互配合。考虑延时的预测模型需要在输入数据中加入延时信息,就像在地图上标注出时间延迟的信息,以准确描述输入输出之间的关系。
    • 核心变量:明确关键要素:输入变量为从开始直至时刻 t 的输入数据,输出变量为未来(t + t')到(t + t'')个时间单位之间不合格事件发生的时间,核心参数为延时(\tau),这些关键要素就像仪器的重要部件,共同构成了我们的预测模型。
    • 约束条件:应对不确定性:化工过程的不确定性就像多变的天气,是约束条件。如外部环境的变化、设备的老化等,可能导致延时参数发生变化,我们需要像根据天气变化调整出行计划一样,对模型进行适当的调整和优化。
    • 模型构建:打造精准预警模型

相关文章:

2025认证杯数学建模第二阶段C题:化工厂生产流程的预测和控制,思路+模型+代码

2025认证杯数学建模第二阶段思路模型代码,详细内容见文末名片 一、探秘化工世界:问题背景大揭秘 在 2025 年 “认证杯”数学中国数学建模网络挑战赛第二阶段 C 题中,我们一头扎进了神秘又复杂的化工厂生产流程预测与控制领域。想象一下&…...

day 17 无监督学习之聚类算法

一、聚类流程 1. 利用聚类发现数据模式 无监督算法中的聚类,目的就是将数据点划分成不同的组或 “簇”,使得同一簇内的数据点相似度较高,而不同簇的数据点相似度较低,从而发现数据中隐藏的模式。 2. 对聚类后的类别特征进行可视…...

渗透测试流程-上篇

#作者:允砸儿 #日期:乙巳青蛇年 四月十八 本期就开始进入到网安的内容了笔者会和大家一起开始实操练习。在此之前笔者的老师和我说要知己知彼,胆大心细。笔者也把他的理念传出去,网安的知识比较复杂且使用的工具很多。笔者看过…...

Ubuntu离线安装Minio

MinIO 支持在 Linux 环境下离线安装,非常适合内网或无法联网的服务器环境。下面是详细的 Linux 离线安装 MinIO 服务端 的步骤: ✅ 一、准备工作 1. 创建安装目录(可选) mkdir -p /opt/minio cd /opt/minio2. 下载 MinIO 可执行…...

2025年山东省数学建模F题思路

2025年山东省数学建模F题思路 一、问题背景 在现代金融市场中,资产价格波动呈现出非线性、高噪声、强跨市场联动性等复杂动态特征。例如,2020年新冠疫情期间,美股数次熔断事件引发全球股市剧烈震荡;而2023年美元加息周期&#x…...

C++核心编程--3 函数提高

函数的一些高级用法。 3.1 函数形参默认值 C中&#xff0c;函数的形参可以有默认值&#xff0c;调用函数时&#xff0c;未进行赋值的形参会使用默认值 void func(int f_var1 10, int f_var2 20); // 声明 ​ void func(int f_var1, int f_var2) // 定义 {std::cout <&l…...

AI Agent开发第67课-彻底消除RAG知识库幻觉(1)-文档分块全技巧

开篇 在上篇《AI Agent开发第66课-彻底消除RAG知识库幻觉-带推理的RAG》放出后,网友们反响很大。有得告诉我:原来还有Rewrite这么一招?早知道这一招很多之前的一些遗留问题都能解决了。不过在上一篇结尾我已经提到了,要真正解决一个AI Agent在响应时产生的幻觉我们用提示语…...

c++多态面试题之(析构函数与虚函数)

有以下问题展开 析构函数要不要定义成虚函数&#xff1f;基类的析构函数要不要定义成虚函数&#xff1f;如果不定义会有什么问题&#xff0c;定义了在什么场景下起作用。 1. 基类析构函数何时必须定义为虚函数&#xff1f; 当且仅当通过基类指针&#xff08;或引用&#xff09;…...

buildroot使用外部编译链编译bluez蓝牙工具

buildroot使用外部编译链编译bluez蓝牙工具 主要参见这个csdn buildroot使用外部编译链编译bluez蓝牙工具_bluez编译-CSDN博客 设置交叉编译工具路径时&#xff0c;设置到bin目录之前 如果menuconfig不能改路径&#xff0c;就去 .config下去改 这样才能编译过...

自定义类型:结构体

1.结构体类型的声明 1.1.1结构的声明 struct tag {member-list; }variable-list; 描述一个学生&#xff1a;只包含了学生的名字、年龄、性别、学号 struct Stu {char name[20];//名字int age;//年龄char sex[5];//性别char id[20];//学号 }; 1.1.2 结构体变量的创建和初始…...

以项目的方式学QT开发C++(一)——超详细讲解(120000多字详细讲解,涵盖qt大量知识)逐步更新!

以项目的方式学QT开发 以项目的方式学QT开发 P1 QT介绍 1.1 QT简介 1.2 QT安装 1.2.1 Windows QT安装 1.2.2 QT Creator 使用基本介绍 P2 C基础 2.1 命名空间 2.1.1 命名空间作用 2.1.2 自定义命名空间 2.2 从C语言快速入门 2.2.1 输入输出 2.2.2 基…...

Spring框架的事务管理

引言 在企业级应用开发中&#xff0c;事务管理是一个至关重要的环节&#xff0c;它确保了数据的一致性和完整性。Spring 框架为我们提供了强大而灵活的事务管理功能&#xff0c;能够帮助开发者更轻松地处理复杂的事务场景。本文将深入探讨 Spring 框架的事务管理&#xff0c;包…...

TypeScript:类

一、基本概念 TypeScript 类是基于 ES6 类的语法扩展&#xff0c;增加了类型注解和访问修饰符等特性&#xff0c;提供了更强大的面向对象编程能力。 二、基本语法 class Person {name: string;age: number;constructor(name: string, age: number) {this.name name;this.ag…...

Python继承

在Python编程中&#xff0c;继承是一个让新手又爱又怕的概念。今天我们就来聊聊这个看似高深实则简单的特性&#xff0c;保证让你看完后能拍着胸脯说&#xff1a;“继承嘛&#xff0c;小菜一碟&#xff01;” 一、什么是继承&#xff1f; 想象一下你正在玩一个养成游戏。你创…...

浏览器宝塔访问不了给的面板地址

注意你们的端口&#xff0c;服务器的端口开放了没&#xff01;&#xff01;&#xff01;宝塔给的端口是否在范围之内&#xff01;&#xff01; 我的当时是1000/10000 &#xff08;阿里云服务器&#xff09; 但是宝塔给的是 4W多 对不上&#xff01;&#xff01; 更换安全组…...

强化学习入门:马尔科夫奖励过程

文章目录 前言1、组成部分2、应用例子3、马尔科夫奖励过程总结 前言 最近想开一个关于强化学习专栏&#xff0c;因为DeepSeek-R1很火&#xff0c;但本人对于LLM连门都没入。因此&#xff0c;只是记录一些类似的读书笔记&#xff0c;内容不深&#xff0c;大多数只是一些概念的东…...

RHCE实验:通过脚本判断用户是否存在

一、实验要求 1、 写一个脚本&#xff0c;使用函数完成 1 、函数能够接受一个参数&#xff0c;参数为用户名&#xff1b; 判断一个用户是否存在 如果存在&#xff0c; 就返回此用户的 shell 和 UID &#xff1b;并返回正常状态值&#xff1b; 如果不存在&#xff0c;就说此用…...

Windows软件插件-音视频捕获

下载本插件 音视频捕获就是获取电脑外接的话筒&#xff0c;摄像头&#xff0c;或线路输入的音频和视频。 本插件捕获电脑外接的音频和视频。最多可以同时获取4个视频源和4个音频源。插件可以在win32和MFC程序中使用。 使用方法 首先&#xff0c;加载本“捕获”DLL&#xff0c…...

每日算法 - 【Swift 算法】Two Sum 问题:从暴力解法到最优解法的演进

【Swift 算法】Two Sum 问题&#xff1a;从暴力解法到最优解法的演进 本文通过“Two Sum”问题&#xff0c;带你了解如何从最直观的暴力解法&#xff0c;逐步优化到高效的哈希表解法&#xff0c;并对两者进行对比&#xff0c;适合算法入门和面试准备。 &#x1f4a1; 问题描述 …...

2025年,如何制作并部署一个完整的个人博客网站

欢迎访问我的个人博客网站&#xff1a;欢迎来到Turnin的个人博客 github开源地址&#xff1a;https://github.com/Re-restart/my_website 前言 2024年年初&#xff0c;从dji实习回来之后&#xff0c;我一直想着拓宽自己的知识边界。在那里我发现虽然大家不用java&#xff0c;…...

深度学习框架---TensorFlow概览

一、TensorFlow 概述 1. 发展历程 1.x 版本&#xff1a;基于静态图&#xff08;Graph&#xff09;和会话&#xff08;Session&#xff09;&#xff0c;需预先定义计算图&#xff0c;调试较复杂。2.x 版本&#xff1a;默认启用动态图&#xff08;Eager Execution&#xff09;&…...

鸿蒙OSUniApp制作自定义的下拉菜单组件(鸿蒙系统适配版)#三方框架 #Uniapp

UniApp制作自定义的下拉菜单组件&#xff08;鸿蒙系统适配版&#xff09; 前言 在移动应用开发中&#xff0c;下拉菜单是一个常见且实用的交互组件&#xff0c;它能在有限的屏幕空间内展示更多的选项。虽然各种UI框架都提供了下拉菜单组件&#xff0c;但在一些特定场景下&…...

扣子(Coze)案例:工作流生成小红书心理学卡片

大家好&#xff01;我是 Robin。专注于 AI 技术探索与实践&#xff0c;持续分享 Coze 智能体、Coze 模板&#xff0c;以及 Coze 工作流搭建案例。 工作流智能体作用&#xff1a; 输入需要生成小红书心理学知识卡片的数量&#xff0c;工作流自动批量生成图文。 首先演示一下生…...

深度理解用于多智能体强化学习的单调价值函数分解QMIX算法:基于python从零实现

引言&#xff1a;合作式多智能体强化学习与功劳分配 在合作式多智能体强化学习&#xff08;MARL&#xff09;中&#xff0c;多个智能体携手合作&#xff0c;共同达成一个目标&#xff0c;通常会收到一个团队共享的奖励。在这种场景下&#xff0c;一个关键的挑战就是功劳分配&a…...

C语言经典笔试题目分析(持续更新)

1. 描述下面代码中两个static 各自的含义 static void func (void) {static unsigned int i; }static void func(void) 中的 static 作用对象&#xff1a;函数 func。 含义&#xff1a; 限制函数的作用域&#xff08;链接属性&#xff09;&#xff0c;使其仅在当前源文件&…...

射击游戏demo11

完善地图&#xff0c;加载出装饰品&#xff0c;检测人员与地面的碰撞&#xff0c;检测子弹与岩壁的碰撞&#xff0c;检测手雷与地面的碰撞。 import pygame import sys import os import random import csv # 初始化Pygame pygame.init()# 屏幕宽度 SCREEN_WIDTH 1200 # 屏幕高…...

多智能体Multi-Agent应用实战与原理分析

一:Agent 与传统工具调用的对比 在当今的开发环境中,Agent 的出现极大地简化了工作流程。其底层主要基于提示词、模型和工具。用户只需向 Agent 输入需求,Agent 便会自动分析需求,并利用工具获取最终答案。而传统方式下,若没有 Agent,我们则需要手动编码来执行工具,还要…...

专项智能练习(定义判断)_DA_01

1. 单选题 热传导是介质内无宏观运动时的传热现象&#xff0c;其在固体、液体和气体中均可发生。但严格而言&#xff0c;只有在固体中才是纯粹的热传导&#xff0c;在流体&#xff08;泛指液体和气体&#xff09;中又是另外一种情况&#xff0c;流体即使处于静止状态&#xff0…...

关于NLP自然语言处理的简单总结

参考&#xff1a; 什么是自然语言处理&#xff1f;看这篇文章就够了&#xff01; - 知乎 (zhihu.com) 所谓自然语言理解&#xff0c;就是研究如何让机器能够理解我们人类的语言并给出一些回应。 自然语言处理&#xff08;Natural Language Processing&#xff0c;NLP&#xff0…...

SLAM定位与地图构建

SLAM介绍 SLAM全称Simultaneous Localization And Mapping&#xff0c;中文名称同时定位与地图构建。旨在让移动设备在未知环境中同时完成以下两个任务&#xff08;定位需要地图&#xff0c;而建图又依赖定位信息&#xff0c;两者互为依赖&#xff09;&#xff1a; 定位&#…...

REST架构风格介绍

一.REST&#xff08;表述性状态转移&#xff09; 1.定义 REST&#xff08;Representational State Transfer&#xff09;是由 Roy Fielding 在 2000 年提出的一种软件架构风格&#xff0c;用于设计网络应用的通信模式。它基于 HTTP 协议&#xff0c;强调通过统一的接口&#…...

前端流行框架Vue3教程:16. 组件事件配合`v-model`使用

组件事件配合v-model使用 如果是用户输入&#xff0c;我们希望在获取数据的同时发送数据配合v-model 来使用&#xff0c;帮助理解组件间的通信和数据绑定。 &#x1f9e9; 第一步&#xff1a;创建子组件&#xff08;SearchComponent.vue&#xff09; 这个组件用于处理用户的搜…...

5月15日day26打卡

函数专题1 知识点回顾&#xff1a; 函数的定义变量作用域&#xff1a;局部变量和全局变量函数的参数类型&#xff1a;位置参数、默认参数、不定参数传递参数的手段&#xff1a;关键词参数传递参数的顺序&#xff1a;同时出现三种参数类型时 作业&#xff1a; 题目1&#xff1a;…...

Java中的深拷贝与浅拷贝

什么是拷贝 在Java中&#xff0c;拷贝是指创建一个对象的副本。拷贝主要分为两种类型&#xff1a;浅拷贝(Shallow Copy)和深拷贝(Deep Copy)。理解这两种拷贝的区别对于编写正确的Java程序非常重要&#xff0c;特别是在处理对象引用时。 浅拷贝(Shallow Copy) 浅拷贝是指创建…...

springboot AOP中,通过解析SpEL 表达式动态获取参数值

切面注解 import com.bn.document.constants.FmDeptCatalogueConstants;import java.lang.annotation.*;Target(ElementType.METHOD) Retention(RetentionPolicy.RUNTIME) public interface FmDeptCatalogueAopAnnotation {/*** 权限类型*/FmDeptCatalogueConstants value();/…...

【论信息系统项目的合同管理】

论信息系统项目的合同管理 论文要求写作要点正文前言一、合同的签订管理二、合同履行管理三、合同变更管理四、合同档案管理五、合同违约索赔管理结语 论文要求 项目合同管理通过对项目合同的全生命周期进行管理&#xff0c;来回避和减轻可识别的项目风险。 请以“论信息系统项…...

redis持久化方式

一、RDB redis database&#xff1a;快照&#xff0c;某一时刻将内存中的数据&#xff0c;写入磁盘中生成1个dump.rdb文件RDB的触发方式&#xff1a; 手动触发&#xff1a;save&#xff08;阻塞主进程&#xff0c;阻塞其它指令&#xff0c;保证数据一致性&#xff09;、bgsave…...

free void* 指令

https://stackoverflow.com/questions/2182103/is-it-ok-to-free-void free(ptr) 仅释放指针指向的内存&#xff0c;不会修改指针变量本身的值。调用后&#xff0c;ptr 仍然指向原来的地址&#xff08;称为 "悬空指针"&#xff09;&#xff0c;但该地址对应的内存已…...

ADS1220高精度ADC(TI)——应用 源码

文章目录 德州仪器ADS1220概述资料引脚&封装布线寄存器配置寄存器0&#xff08;00h&#xff09;配置寄存器1&#xff08;01h&#xff09;配置寄存器2&#xff08;02h&#xff09;配置寄存器3&#xff08;03h&#xff09; 连续转换流程驱动源码ads1220.cads1220.h 德州仪器A…...

mysql-Java手写分布式事物提交流程

准备 innodb存储引擎开启支持分布式事务 set global innodb_support_axon分布式的流程 详细流程&#xff1a; XA START ‘a’; 作用&#xff1a;开始一个新的XA事务&#xff0c;并分配一个唯一的事务ID ‘a’。 说明&#xff1a;在这个命令之后&#xff0c;所有后续的SQL操…...

红黑树:数据世界的平衡守护者

在 C 算法的神秘森林里&#xff0c;红黑树是一棵充满智慧的 “魔法树”。它既不像普通二叉搜索树那样容易失衡&#xff0c;也不像 AVL 树对平衡要求那么苛刻。作为 C 算法小白&#xff0c;今天就和大家一起深入探索红黑树的奥秘&#xff0c;看看它是如何成为数据世界的平衡守护…...

哈夫曼树完全解析:从原理到应用

目录 一、核心概念 二、构造全流程解析 三、编码生成机制 四、C语言实现关键代码 五、核心特性深度解读 六、现代应用场景 七、压缩实战演示 一、核心概念 哈夫曼树&#xff08;最优二叉树&#xff09;是带权路径长度&#xff08;WPL&#xff09;最短的树形结构&#x…...

如何在 Windows 命令提示符中创建多个文件夹和多个文件

如何在 Windows 命令提示符中创建多个文件夹和多个文件 虽然大多数用户习惯使用 Windows 图形界面来创建文件夹&#xff0c;但如果你需要一次性创建多个文件夹或文件&#xff0c;如同在类Unix系统中可以使用mkdir和touch命令一样&#xff0c;windows下也有创建目录和文件的对应…...

【Java】Spring的声明事务在多线程场景中失效问题。

大家都知道Spring的声明式事务在多线程当中会失效&#xff0c;来看一下如下案例。 按照如下方式&#xff0c;b()方法抛出异常,由于父子线程导致事务失效&#xff0c;a()会成功插入,但是b()不会。 因此成功插入一条数据&#xff0c;事务失效。 Component public class UserServ…...

多平台图标设计与管理的终极解决方案

IconWorkshop Pro 是一款由Axialis团队开发的专业图标设计与制作软件&#xff0c;专注于为设计师、开发者及企业用户提供高效且灵活的图标创作解决方案。该软件凭借其强大的功能与跨平台适配性&#xff0c;成为Windows、macOS、iOS、Android等多系统图标设计的首选工具之一。 …...

【搭建Node-RED + MQTT Broker实现AI大模型交互】

搭建Node-RED MQTT Broker实现AI大模型交互 搭建Node-RED MQTT Broker实现AI大模型交互一、系统架构二、环境准备与安装1. 安装Node.js2. 安装Mosquitto MQTT Broker3. 配置Mosquitto4. 安装Node-RED5. 配置Node-RED监听所有网络接口6. 启动Node-RED 三、Node-RED流程配置1. …...

小结: js 在浏览器执行原理

浏览器多进程与多线程 现代浏览器的标签环境隔离主要通过多进程架构和多线程机制实现&#xff0c;以确保安全、性能和稳定性。以下是浏览器实现标签环境隔离的多进程和多线程交互架构的详细解析&#xff1a; ------------------- ------------------- -----------…...

C++核心编程--2 引用

引用就是给变量起别名&#xff0c;操作引用就等于操作原始变量。 2.1 引用基本用法 int var 10; int & r_var var; 2.2 注意事项 声明时必须初始化不允许更改引用指向的原始变量 2.3 引用作为函数参数传递 简化指针修饰函数参数 2.4 引用作为函数返回值 不要返回…...

音频/AI/BLE/WIFI/玩具/商业等方向的论坛网站总结

我爱音频网 我爱音频网 - 我们只谈音频&#xff0c;丰富的TWS真无线蓝牙耳机拆解报告 (52audio.com) 中国人工智能学会 中国人工智能学会 (caai.cn) AIIA人工智能网 https://www.aiiaw.com/ 世界人工智能论坛 世界人工智能论坛 - (amtbbs.org) 36氪 36氪_让一部分人先…...

告别碎片化!MCP 带来 AI Agent 开发生态的革命性突破

引言&#xff1a; 在当今的智能客服系统开发中&#xff0c;开发者常常面临一个棘手的挑战&#xff1a;需要整合用户的 CRM 数据、知识库和实时聊天记录。然而&#xff0c;由于缺乏统一的标准&#xff0c;每个团队都不得不手动实现这些集成。这不仅延长了开发周期&#xff0c;还…...