预测性维护:一种基于因果技术语言处理 (CTLP) 的智能故障诊断方法

news2024/9/22 1:30:28

 关键词:预测性维护、因果贝叶斯网络、ROX数据

      在工业运营和维护领域,资产绩效最大化和风险最小化至关重要。随着工业设备组件的磨损和恶化,系统会表现出一系列变化,这些变化的严重程度会逐渐增加,直到最终发生故障。在这种情况下,可能会出现故障模式。例如,在可靠性工程领域,资产最有可能在磨合期早期发生过早故障,或在其剩余使用寿命末期发生晚期故障。由于这些故障的模式、机制和影响都是众所周知且有文档记录的,因此可以预测这些故障类型。工程师在制造过程中引入质量检查,并在(或多或少保守的)预防性维护计划中采取检查行动,以减轻其影响。然而,只要机器在运行,故障似乎随时都可能“随机”出现。这对于在过渡中间风险区域的可靠资产来说尤其具有挑战性,此时故障率相对较低,但保持均匀/恒定。在这种不确定的环境下,预测性维护领域通过引入数据作为手段来紧密跟踪每个资产的实际演变,并做出更明智和及时的决策

      本文提出一种基于因果技术语言处理 (CTLP) 的智能故障排除方法,直接从 RoX 数据中学习根本原因和解决方案。

1 理论基础

1.1 结构因果模型 (SCM)

     结构因果模型(Structural Causal Model, SCM)是由图灵奖得主Judea Pearl在1995年提出的一种用于描述变量之间因果关系的数学框架。SCM通过有向无环图(DAG)来表示变量之间的因果关系,并使用一组方程来描述这些关系描述变量之间的因果关系,用于构建系统模型。

SCM定义了一组分配规则,管理它们特定的功能关联,以及一些独立的外源噪声,这些噪声解释了模型中未明确包含的所有内容。

V=f(U,N)如果从领域专家那里获得了足够的知识和经验,例如通过FMMEA或RoX结构,那么可以从一开始就开发出一个完整的SCM图。否则,需要仔细利用数据来推动因果模型的发现。

1.2 因果贝叶斯网络 (CBN)

      因果贝叶斯网络(Causal Bayesian Network, CBN)是一种基于概率图模型的工具,用于表示和推理变量之间的因果关系。它结合了图论和概率论,通过有向无环图(DAG)来描述变量之间的直接和间接因果关系,并利用条件概率表(CPT)来量化这些关系。贝叶斯网络的图形特性允许我们观察不同变量之间的关系,它们的条件依赖性使我们能够执行概率推断[1]。特别是,CBN是知识和在不确定性下进行推断的强大工具。

1.3 因果推理

      超出概率推断的范围,因果推断提供了从观测数据中估计因果结论的工具,即在没有真正实验的情况下,只要满足某些假设。从观察数据中估计因果关系,分为三个层次:

  • 关联: 描述变量之间的相关性,但不能区分因果关系。
  • 干预: 描述变量之间的因果关系,并考虑干预因素的影响。
  • 反事实: 描述变量之间的因果关系,并考虑反事实假设的影响。

1.4 语言模型

       最后,为了处理文本数据,需要将语言信息数值化表示在前述的“通用”变量中。为此,概率语言模型是将句子赋予概率的函数,最终构建整个文本片段。

2 方法

2.1  数据操作 (Data Manipulation)

数据操作关注于将因果性视为复杂工业系统的一个突现属性。在这种情境下,语言变量构成高级定性描述,将功能归类并建立层级,正如FMMEA文档所确定的。

2.1.1 经验回报记录

在智能故障诊断环境中,RoX文本数据被收集以捕捉和描述现场观察到的事实本体关系。这些数据具有以下变量类型结构:

  • 子系统 Z (常见背景): 分类变量
  • 根原因 C (问题源): 分类变量
  • 观察 O (报告的问题,故障): 文本
  • 解决方案 S (维修/维护操作): 文本

这些数据结构来源于多个项目或环境,它们在描述问题及其解决方案的语言详细程度上存在差异。

2.1.2 文本蕴含

文本蕴含概念指的是文本片段之间的方向性联系。在RoX数据中,这些假定的关系被编码在以下图中,明确指出:

  • C是观察到的问题O的根原因。
  • S是观察到的问题O及其根原因C的效果。
  • Z是一个普遍的混杂因素,即共同原因。

2.1.3 文本嵌入和大型语言模型

环境的一个挑战部分是文本的嵌入式数值表示,通常被视为非结构化数据。所描述的方法使用“BERTopic”大型语言模型实现,整合了以下技术:

  • MiniLM: Sentence-BERT的压缩版本,基于变换器的语言模型,用于句子级别。
  • UMAP: 降低嵌入向量空间的维度。
  • HDBSCAN: 对得到的低维表示进行聚类和量化。

2.2 健康评估 (Health Assessment)

在智能故障诊断环境中,处理由子系统和组件多样性引入的混杂偏差是一个主要挑战。为此,在技术语言处理场景中使用因果推断技术来从文本中提取相关语言特征。

2.2.1 根因分析 (Root Cause Analysis)

根因分析(RCA)是一种用于识别故障源的问题解决方法。RCA是一种演绎推理形式,因为它需要对潜在故障和问题的基本因果机制有所理解。离散因果贝叶斯网络适合利用观察到的问题的分类描述,并预测几种可能已知原因的可能性。估计可能的根原因相当于计算条件概率诊断函数。RCA最终产生一个按概率排序的可能根原因变量列表。

2.2.2 解决方案生成 (Solution Generation)

预测解决方案特别具有挑战性,因为观察和解决方案空间的基数很大。为了获得无偏结果,应执行(原子)干预。这代表对系统进行操作以设置变量到已知值,然后评估它们对其他变量的影响。这种高级分析水平不仅需要观察数据,还需要考虑因果模型中编码的假设。

这个估计量在因果层次结构的干预级别上操作。一旦确定了最可能的解决方案类别的表示,就需要生成相关的文本。为此,从数据集中检索与预测类别相关的文本记录,并使用预训练的“Llama2”大型语言模型来获得自然语言解释。

2.2.3 提示基础生成 (Prompt-based Generation)

基于给定的问题观察文本、最可能的根原因,以及从最可能的无偏解决方案中检索到的文本,大型语言模型可以合成以下增强的咨询。这涉及到构建一个提示,结合指令、问题、输入数据和示例,以最大化大型语言模型的潜力和效用。

3 实验结果

通过一个在预测性维护领域的说明性例子来开展实验工作。因果模型在几个项目上进行了训练,RoX数据集的大小在4k到20k记录之间,平均根因分类准确度得分超过80%(精确度和召回率分别超过70%)。

3.1 数据观察

特定的示例实例显示了以下RoX数据描述:

  • 子系统:悬挂系统
  • 根原因:部件物理损坏
  • 观察:"拖车机械制动器故障,使用电气释放kph制动器"
  • 解决方案:"下载显示只有拖车的一个故障实例,与bcu通信丢失,当电车进入移除制动隔离时,此故障清除。但是,在电车重新进入时,s轴未能应用下载,显示w故障。端开关断开,发现引脚上有铜绿,新线束制作并安装,故障仍然存在,因此更换接近开关。电车运行到Bulwell并返回,通过tct,所有探头对齐,通过滑行检查所有拖车接近开关和线束清洁和检查"

这些记录的数据在这里显示是为了定性比较目的。在实际的智能故障诊断环境中,维护人员或工程师只需要提供观察到的问题的描述,系统将通过产生诊断结果来增加价值,这些结果以根原因和可能的解决方案的形式呈现。

3.2 结果预测和检索

最可能的5个潜在根原因的排名(共20个类别)

  • 根因分析: 通过因果贝叶斯网络,系统准确预测了观察到的故障的根因,并给出了概率排序。其中,正确根因的概率最高,其余根因的概率较低,这符合实际故障发生的规律。
  • 解决方案生成: 系统根据根因和观察,预测了潜在的解决方案类别,并给出了概率排序。虽然解决方案类别编号本身并不直观,但系统检索到了与该类别相关的多个描述性实例,表明该类别具有代表性。

3.3 基于提示的生成

最后,基于给定的问题观察文本、最可能的根原因,以及从最可能的无偏解决方案中检索到的文本,大型语言模型现在可以综合以下增强的咨询:

  • 解决方案1:检查并更换螺栓。由于建议的可能原因是来自换班的交接失败,导致使用旧螺栓紧固挂架螺栓,可能螺栓可能已经松动或损坏。因此,检查并更换螺栓以确保它们正确拧紧,以固定悬挂系统。
  • 解决方案2:处理油液泄漏。另一个可能的原因是提到轴的油液泄漏,这可能会损坏悬挂系统并影响制动系统。检查轴周围的油液泄漏并更换任何损坏的密封件,以防止进一步损坏。
  • 解决方案3:更换断裂的接地电缆。先前的观察提到发现了断裂的接地电缆,这可能会导致制动系统的电气问题。更换断裂的接地电缆,以确保正确的电气连接并防止进一步故障。
  • 解决方案4:处理腐蚀。腐蚀可能会影响悬挂和制动系统,导致安全问题。检查悬挂和制动系统中的任何腐蚀迹象,并相应地处理它们。采取防腐措施,如应用乐泰腐蚀抑制剂,以防止进一步损坏。
  • 解决方案5:调整或更换紧固件。先前的观察提到发现一些紧固件不符合规格,这可能会影响悬挂。调整或更换任何发现损坏或不够牢固的紧固件,以确保适当的悬挂。
  • 解决方案6:检查砂光压缩机。先前的观察提到砂光压缩机已经重建,但在测试后仍然存在故障。检查压缩机及其组件以识别任何潜在问题,并解决它们以防止进一步故障。
  • 解决方案7:处理磨损的电缆绝缘。先前的观察提到发现电缆绝缘磨损,这可能会导致制动系统的电气问题。处理任何磨损的电缆绝缘,以确保正确的电气连接并防止进一步故障。
  • 解决方案8:更换损坏的部件。先前的观察提到发现了损坏的挡泥板,这可能会影响悬挂和制动性能。更换任何损坏的部件,以确保悬挂和制动系统的正常运行。

4 改进方向

4.1 向量数据库

目前方法使用离散分类表示来构建因果贝叶斯网络,这可能导致信息损失,并限制模型的性能。

  • 解决方案: 使用混合贝叶斯网络来表示观察和解决方案文本的原始向量,并使用余弦距离进行检索。
  • 预期效果: 利用更丰富的语言表示,提高模型的预测精度和泛化能力。

4.2 可迁移性

不同工业环境中的文本数据存在差异,导致模型在迁移到新环境时可能表现不佳。

  • 解决方案: 使用结构知识进行迁移分析,通过引入选择变量来表示不同环境之间的差异,并利用其他环境的数据来估计目标环境的概率分布。
  • 预期效果: 提高模型在不同环境中的适用性,减少数据短缺带来的影响。

4.3 反事实分析

目前方法主要关注观测到的数据,而忽略了潜在的反事实结果。

  • 解决方案: 引入反事实分析,通过模拟不同的假设场景来探索潜在的反事实结果,并利用这些结果进行更深入的分析。
  • 预期效果: 帮助领域专家识别导致系统故障的根本原因,并提供更有效的解决方案建议。

4.4 算法反向

目前方法主要关注观测到的数据,而忽略了潜在的反事实结果。

  • 解决方案: 使用算法反向方法,通过模拟不同的假设场景来探索潜在的反事实结果,并利用这些结果进行更深入的分析。
  • 预期效果: 帮助领域专家识别导致系统故障的根本原因,并提供更有效的解决方案建议。

4.5 评估指标

目前缺乏对 LLM 生成结果的客观评估指标。

  • 解决方案: 研究新的评估指标,例如基于因果关系的评估指标,来更准确地评估 LLM 生成结果的可靠性和有效性。
  • 预期效果: 提高对 LLM 生成结果的理解和信任,并推动该方法在工业领域的应用。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1964892.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

C++_string_知识总结(初学)

基础认识: string严格意义上不属于STL容器,其出现的时间早于STL,这也导致了string官方库中部分函数冗余。但是这也体现了语言发展中的一个重要现象——向前兼容。和很多STL容器一样,string是一个类,核心是一个顺序表&…

MySQL:GROUP BY 分组查询

分组查询是SQL中一个非常强大的功能,它允许我们将数据按照一个或多个字段进行分组,并对每个分组进行聚合计算(如求和、平均值、最大值、最小值等)。在MySQL中,我们使用 GROUP BY 关键字来实现分组查询。 核心语法 SE…

笑出腹肌的饼图绘制秘籍:Matplotlib让你秒变数据烘焙大师!

1. 引言 亲们,还在为数据报告里的饼图头疼吗?别怕,Matplotlib来救场啦!它不只是个绘图工具,简直是数据界的魔术师,让你的饼图既专业又有趣。跟我学几招,保证让你的观众边吃边看,爱不…

Linux驱动开发—编写第一个最简单的驱动模块

文章目录 开发驱动准备工作1.正常运行的Linux系统的开发板2.内核源码树3.nfs挂载的rootfs4.得心趁手的IDE 第一个Hello world 驱动程序常见模块的操作命令模块的初始化和清理模块的版本信息模块中的各种宏 示例Hello World代码printk函数解析 使用MakeFile编译驱动模块使用insm…

谷歌账号异常,成功通过验证后这个界面操作指引:建议增加辅助手机和邮箱

许多朋友对下面这个界面都很熟悉,通常是账号被停用后的时候输入账号和密码后,还需要再次输入手机号码验证。而且这个时候输入国内的号码或者谷歌账号绑定的辅助手机号码都不管用,提示此电话号码用于验证的次数过多,或者此电话号码…

链表篇:03-合并有序链表

解题思路: 使用双指针,一个指针指向头节点,然后另外一个指针进行移动。让其头节点保持不动,最后循环遍历两个链表,将其挂到头指针所在的节点上。 temp 守卫节点,用于指向头节点,防止头节点丢…

机械学习—零基础学习日志(高数17——极限局部有界性)

零基础为了学人工智能,真的开始复习高数 这里我们更加详细讲解函数极限性质。上一篇文章里有一些内容还需要进一步补充。 局部有界性 这里是局部有界性的需要注意的事项。第3点,如果函数在闭区间内连续,则必定有界。试想一下,如…

Log4j2漏洞

Log4j2漏洞 步骤一:执行以下命令启动靶场环境并在浏览器访问!!! systemctl start docker cd vulhub/log4j/CVE-2021-44228 vi docker-compose.yml //编写docker-compose.xml的端口和版本号 docker-compose up -d # 访问网址 http://192.168.30.131:8983/solr/#/步骤二:先在自…

MyBatis入门如何使用操作数据库及常见错误(yml配置)

一,什么是MyBatis 是一款优秀的持久层框架,用于简化jdbc的开发 持久层:指的就是持久化操作的层,通常也就是数据访问层(dao),也就是用来操作数据库。 也就是MyBatis是让你更加简单完成程序与数…

ECCV 2024前沿科技速递:GLARE-基于生成潜在特征的码本检索点亮低光世界,低光环境也能拍出明亮大片!

在计算机视觉与图像处理领域,低光照条件下的图像增强一直是一个极具挑战性的难题。暗淡的光线不仅限制了图像的细节表现,还常常引入噪声和失真,极大地影响了图像的质量和可用性。然而,随着ECCV 2024(欧洲计算机视觉会议…

form表单按钮根据编辑/只读状态显示和隐藏

1. 场景阐述: form表单自定义按钮,在编辑模式显示,在只读模式隐藏 2. 效果: 这里的保存按钮是自定义按钮,在编辑状态的时候显示,非编辑状态下隐藏 3. 解决方案: 如下所示,只需要在按钮中添加odoo自带class类oe_edit_only即可 <header><button type"object"…

桌面管理利器:2024年度待办事项工具评选

国内外主流的10款待办事项桌面工具对比&#xff1a;PingCode、Worktile、滴答清单、番茄ToDo、Teambition、Tower、有道云笔记、TickTick、Any.do、Trello。 在忙碌的工作日中&#xff0c;管理日常任务和待办事项常常让人感到不胜其烦。选择合适的待办事项桌面工具&#xff0c;…

【Python实战因果推断】67_图因果模型2

目录 Are Consultants Worth It? Crash Course in Graphical Models Chains Are Consultants Worth It? 为了展示有向无环图(DAG)的力量&#xff0c;让我们考虑一个更有趣但处理因素并未随机化的情况。假设你是某公司的经理&#xff0c;正在考虑是否聘请顶级咨询顾问。你…

[数据结构] AVL树 模拟实现AVL树

标题&#xff1a;[数据结构] AVL树 && 模拟实现AVL树 水墨不写bug 正文开始&#xff1a; 目录 &#xff08;一&#xff09;普通二叉搜索树的痛点 &#xff08;二&#xff09;AVL树简介 &#xff08;1&#xff09;AVL树的概念 &#xff08;三&#xff09;AVL树的…

LeetCode面试150——189轮转数组

题目难度&#xff1a;中等 默认优化目标&#xff1a;最小化平均时间复杂度。 Python默认为Python3。 目录 1 题目描述 2 题目解析 3 算法原理及程序实现 3.1 暴力求解 3.2 循环链表 3.3 环状替代 3.4 数组翻转 4 题目难度 参考文献 1 题目描述 给定一个整数数组 nu…

运维.Linux.bash学习笔记.数组及其使用

运维专题 Bash Shell数组及其使用 此笔记当前仍在修改和编写。 - 文章信息 - Author: 李俊才 (jcLee95) Visit me at CSDN: https://jclee95.blog.csdn.netMy WebSite&#xff1a;http://thispage.tech/Email: 291148484163.com. Shenzhen ChinaAddress of this article:http…

基于N32L406+Freertos+letter_shell终端开源库移植

移植教程 这里首先感谢作者的开源 https://gitee.com/zhang-ge/letter-shell) [Letter shell 3.0 全新出发 | Letter (nevermindzzt.github.io)](https://nevermindzzt.github.io/2020/01/19/Letter shell 3.0全新出发/) 1.复制代码 将litter_shell文件夹中的所有文件复制到…

本地使用Git同步、配合Gitee同步至仓库并下拉到本地(亲手调试,全能跑通)

这几天在公司&#xff0c;同事都在使用Gitee上传项目&#xff0c;进行同步&#xff0c;我也进行了简单学习了解了一下版本控制软件Git&#xff0c;挺不错的&#xff0c;故写个笔记记录一下。 本篇博文主要涉及的内容&#xff1a; 1&#xff0c;本地写代码&#xff0c;通过Git同…

软件测试_接口测试面试题

接口测试是软件测试中的重要环节&#xff0c;它主要验证系统不同模块之间的通信和数据交互是否正常。在软件开发过程中&#xff0c;各个模块之间的接口是实现功能的关键要素&#xff0c;因此对接口进行全面而准确的测试是确保系统稳定性和可靠性的关键步骤。 接口测试的核心目…

树上dp学习总结2

今天也是侥幸刷了两道树上dp的问题&#xff0c;第一个还算简单&#xff0c;但是第二个真的可以说是我碰到的蓝题之首&#xff0c;做了一个晚上我只能留下了不争气的口水&#xff08;太饿了&#xff0c;该吃夜宵了&#xff09; P1131 [ZJOI2007] 时态同步 思路&#xff1a;一开…