《融合SCADA系统数据的天然气管道泄漏多源感知技术研究》误报数据识别模型开发

数据处理不作表述。因为我用的是处理后的数据,数据点这。

文章目录

  • 工作内容1
    • CC040
      • VFD电流
      • VFD转速
      • 压缩机转速反馈
      • 进出口差压
    • 紧急截断阀开到位
    • 进出电动阀开到位
    • 发球筒电筒阀开到位
    • 收球筒电动阀开到位
    • 电动阀2005开到位
    • 越站阀开到位
  • 工作内容2
  • 工作内容3

工作内容1

任务描述:简单观察时序数据

CC040

VFD电流

在这里插入图片描述

VFD转速

在这里插入图片描述
这两观察一个就好。

压缩机转速反馈

在这里插入图片描述

蚌埠住了。

进出口差压

在这里插入图片描述
似乎我看不出什么。
不用看了以上数据无法用作时序分析。我们之后特征工程看看它们是否有用。现在简单处理一下,小0.1换0大0.1换1。只需选择一段就好,这几段的本质一样。那就进出口差压了。同时只有两台能用。

紧急截断阀开到位

在这里插入图片描述
开了29560的单位时间。
在这里插入图片描述
开了29554的单位时间。
唐山这里前开后关。
在这里插入图片描述
在这里插入图片描述
宝坻全都没有开启。
这些数据十分显然只能用于特征工程无法用于时序分析。

进出电动阀开到位

在这里插入图片描述
进站:开了0的单位时间。
出站:开了12869的单位时间。
这些数据十分显然只能用于特征工程无法用于时序分析。

发球筒电筒阀开到位

在这里插入图片描述
开了0的单位时间。
这些数据十分显然只能用于特征工程无法用于时序分析。

收球筒电动阀开到位

在这里插入图片描述
开了12874的单位时间。
这些数据十分显然只能用于特征工程无法用于时序分析。

电动阀2005开到位

在这里插入图片描述
开了2405的单位时间。
这些数据十分显然只能用于特征工程无法用于时序分析。

越站阀开到位

在这里插入图片描述
唐山:开了30082的单位时间。
宝坻:开了42946的单位时间。
这些数据十分显然只能用于特征工程无法用于时序分析。

代码忽略

工作内容2

任务描述:判断数据之中是否有天然气大量泄漏。理论概述:基于上面工作内容,显而易见不能判断天然气体是否泄漏。为什么呢??同一时间,各种阀门开关状态组合过少。按理来说,应该有 2 3 + 4 + 2 + 1 + 1 + 1 + 2 = 2 14 2^{3+4+2+1+1+1+2}=2^{14} 23+4+2+1+1+1+2=214种的状态,但是实际不是这样。例如:有的阀门一直关闭,有的阀门一直开启,有的阀门开启之时另一阀门必然关闭,有的阀门关闭之时另一阀门必然开启。这个情况在这数据尤为严重,所以不能。个人观点:压力波形作为输入才是更加合理选择。 但是显然不是上述这些简单分类变量。我们可以使用模态分解技术,奇异谱分析等进行曲线分析。我们可以使用循环神经网络,多层感知机等进行模型建立。关键就是我们需要使用哪些波形曲线。 还有就是标签问题,工作内容1中表明,所有阀门关不代表气体泄漏。根据统计学习原理,如果数据之中没有泄漏数据,那么模型就不可能能学习到泄漏特征。 特征我们都知道是多段波形,但是具体应该是什么呢?一定不是上面那些。标签我们都知道是是否泄漏,但是数据之中没有。在没有的情况之下,更偏向非统计建模。
曲线分析框架

from PyEMD import CEEMDAN
from vmdpy import VMD
import pandas as pd
import numpy as npclass Decomposition:def EMD(data):ceemdan=CEEMDAN()ceemdan.ceemdan([i for i in data])IMFS,RES=ceemdan.get_imfs_and_residue()f=pd.ExcelWriter("data/EMD.xlsx")pd.DataFrame(IMFS.T).to_excel(f,sheet_name="IMFS",index=None,columns=None,header=None)pd.DataFrame(RES.T).to_excel(f,sheet_name="RES",index=None,columns=None,header=None)f.save()return IMFS.shape[0]+1def VMD(data,x):alpha,tau,K,DC,init,tol=5000,0,x,0,1,1e-6U,u_hat,omega=VMD(data,alpha,tau,K,DC,init,tol)f=pd.ExcelWriter("data/VMD.xlsx")pd.DataFrame(U.T).to_excel(f,index=None,columns=None,header=None)f.save()def SSA(data,x):windowlen=x;datalen=data.shape[0]K=datalen-windowlen+1;X=np.zeros((windowlen,K))for i in range(K):X[:,i]=data[i:i+windowlen]U,sigma,VT=np.linalg.svd(X,full_matrices=False)for i in range(VT.shape[0]):VT[i,:]*=sigma[i]A=VTREC=np.zeros((windowlen,datalen))for i in range(windowlen):for j in range(windowlen-1):for m in range(j+1):REC[i,j]+=A[i,j-m]*U[m,i]REC[i,j]/=(j+1)for j in range(windowlen-1,datalen-windowlen+1):for m in range(windowlen):REC[i,j]+=A[i,j-m]*U[m,i]REC[i,j]/=windowlenfor j in range(datalen-windowlen+1,datalen):for m in range(j-datalen+windowlen,windowlen):REC[i,j]+=A[i,j-m]*U[m,i]REC[i,j]/=(datalen-j)f=pd.ExcelWriter("data/SSA.xlsx")pd.DataFrame(REC.T).to_excel(f,index=None,columns=None,header=None)f.save()

神经网络框架(tensorflow版)

from sklearn.neural_network import MLPRegressor
import matplotlib.pyplot as plt
from Function import Function
import tensorflow as tf
import numpy as npclass Neural_network():def BPNN(X_train,Y_train,X_test,Y_test,scaled_tool,step_size,batch_size,epochs,Boolean1,Boolean2):inputs=tf.keras.Input(shape=(step_size,))x=tf.keras.layers.Dense(step_size//4*3,activation='relu',name='dense_1')(inputs)x=tf.keras.layers.Dense(step_size//4*2,activation='relu',name='dense_2')(x)x=tf.keras.layers.Dense(step_size//4*1,activation='relu',name='dense_3')(x)x=tf.keras.layers.Dense(1,activation='relu',name='dense_4')(x)model=tf.keras.Model(inputs=inputs,outputs=x)model.compile(optimizer=tf.keras.optimizers.Adam(learning_rate=1e-4),loss='mean_squared_error')history=model.fit(X_train,Y_train,batch_size=batch_size,epochs=epochs)loss=history.history['loss']if Boolean1==True:plt.plot(loss,label='BPNN '+'Training Loss')return Function.Function2(model,X_train,X_test,scaled_tool,Y_test,Boolean2)def RNN(X_train,Y_train,X_test,Y_test,scaled_tool,step_size,batch_size,epochs,Boolean1,Boolean2):X_train=np.reshape(X_train,(X_train.shape[0],X_train.shape[1],1))model=tf.keras.models.Sequential()model.add(tf.keras.layers.SimpleRNN(step_size,input_shape=(step_size,1)))model.add(tf.keras.layers.Dense(1))model.compile(optimizer=tf.keras.optimizers.Adam(learning_rate=1e-4),loss='mean_squared_error')history=model.fit(X_train,Y_train,batch_size=batch_size,epochs=epochs)loss=history.history['loss']if Boolean1==True:plt.plot(loss,label="RNN "+'Training Loss')X_test=np.reshape(X_test,(X_test.shape[0],X_test.shape[1],1))return Function.Function2(model,X_train,X_test,scaled_tool,Y_test,Boolean2)def LSTM(X_train,Y_train,X_test,Y_test,scaled_tool,step_size,batch_size,epochs,Boolean1,Boolean2):X_train=np.reshape(X_train,(X_train.shape[0],X_train.shape[1],1))model=tf.keras.models.Sequential()model.add(tf.keras.layers.LSTM(step_size,input_shape=(step_size,1)))model.add(tf.keras.layers.Dense(1))model.compile(optimizer=tf.keras.optimizers.Adam(learning_rate=1e-4),loss='mean_squared_error')history=model.fit(X_train,Y_train,batch_size=batch_size,epochs=epochs)loss=history.history['loss']if Boolean1==True:plt.plot(loss,label="LSTM "+'Training Loss')X_test=np.reshape(X_test,(X_test.shape[0],X_test.shape[1],1))return Function.Function2(model,X_train,X_test,scaled_tool,Y_test,Boolean2)def GRU(X_train,Y_train,X_test,Y_test,scaled_tool,step_size,batch_size,epochs,Boolean1,Boolean2):X_train=np.reshape(X_train,(X_train.shape[0],X_train.shape[1],1))model=tf.keras.models.Sequential()model.add(tf.keras.layers.GRU(step_size,input_shape=(step_size,1)))model.add(tf.keras.layers.Dense(1))model.compile(optimizer=tf.keras.optimizers.Adam(learning_rate=1e-4),loss='mean_squared_error')history=model.fit(X_train,Y_train,batch_size=batch_size,epochs=epochs)loss=history.history['loss']if Boolean1==True:plt.plot(loss,label="GRU "+'Training Loss')X_test=np.reshape(X_test,(X_test.shape[0],X_test.shape[1],1))return Function.Function2(model,X_train,X_test,scaled_tool,Y_test,Boolean2)def MLP(X_train,Y_train,X_test,Y_test,scaled_tool,Boolean):model=MLPRegressor(max_iter=50,hidden_layer_sizes=(200),random_state=0)model.fit(X_train,Y_train)return Function.Function2(model,X_train,X_test,scaled_tool,Y_test,Boolean)

工作内容3

之前的word。据word中的那些工作,温度压强同阀门的开关有强作用。也许温度也在考虑范围。温度直接影响压强从而影响模型效果。

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

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

相关文章

【08】Python运算符

文章目录 1.算术运算符2.赋值运算符3.条件运算符4.逻辑运算符5.比较运算符6.运算符的优先级本期博客中,我们将学习python中常用的运算符的用法。              1.算术运算符 1.加法运算符(+): a = 10 b = 5 c = a + b print(c

08-学成在线项目中统一异常处理的规范

项目中的异常处理 规范异常类型 在Service类的业务方法中有很多的参数合法性校验,当请求参数不合法的时候会抛出异常,但此时异常信息只会在控制台输出,前端界面并不会提示用户 实际开发中前端和后端需要做一些约定: 一般将错误提示信息统一以json格式返回给前端,以HTTP状态码…

P9231 [蓝桥杯 2023 省 A] 平方差(拆分问题)

分析&#xff1a;x(yz)*(y-z); yz 与 y-z 同奇偶性&#xff08;x要么为奇数&#xff0c;要么为偶数&#xff09; 奇数&#xff1a;1 与 其本身 乘积 偶数&#xff1a;2 与 x/2 乘积(为4的倍数) #include<bit…

面试篇spark(spark core,spark sql,spark 优化)

一&#xff1a;为什么学习spark&#xff1f; 相比较map-reduce框架&#xff0c;spark的框架执行效率更加高效。 mapreduce的执行框架示意图。 spark执行框架示意图 spark的执行中间结果是存储在内存当中的&#xff0c;而hdfs的执行中间结果是存储在hdfs中的。所以在运算的时…

求和(打表题)

题目 打个表发现当 n 时答案为 p &#xff0c;否则为 1 &#xff0c;然后套板子。 #include <iostream> #include <algorithm> #include <vector> #include <cstring> #include <cmath>using namespace std;#define int long long using i64 …

卷积神经网络入门

1.卷积神经网络基本结构结构 卷积神经网络采用类似于动物视觉皮层组织中的神经元的连接模式&#xff0c;是一类包含卷积神经网络且具有深度结构的前馈神经网络。其基本结构如图2-1所示&#xff0c;大致包括&#xff1a;卷积层&#xff0c;激活函数&#xff0c;池化层&#xff…

Module build failed: Error: ENOENT: no such file or directory

前言 这个错误通常发生在Node.js 和 vue,js项目中&#xff0c;当你试图访问一个不存在的文件或目录时。在大多数情况下&#xff0c;这是因为你的代码试图打开一个不存在的文件&#xff0c;或者你的构建系统&#xff08;例如Webpack&#xff09;需要一个配置文件&#xff0c;但找…

<JavaDS> 二叉树遍历各种遍历方式的代码实现 -- 前序、中序、后序、层序遍历

目录 有以下二叉树&#xff1a; 一、递归 1.1 前序遍历-递归 1.2 中序遍历-递归 1.3 后序遍历-递归 二、递归--使用链表 2.1 前序遍历-递归-返回链表 2.2 中序遍历-递归-返回链表 2.3 后序遍历-递归-返回链表 三、迭代--使用栈 3.1 前序遍历-迭代-使用栈 3.2 中序遍…

服务器bash进程占用cpu过多疑似中挖矿病毒记录

发现过程 因为我有使用conky的习惯&#xff0c;也就是在桌面上会显示cpu和内存的占用情况&#xff0c;由于服务器不止我一个人使用&#xff0c;最近发现好几次我同学的账户下的bash进程占用特别多&#xff0c;问了他之后&#xff0c;他也说他几次都是没有使用过bash相关服务&a…

【LeetCode】每日一题 2023_11_28 设计前中后队列(数组/链表/双端队列)

文章目录 刷题前唠嗑题目&#xff1a;设计前中后队列题目描述代码与解题思路偷看大佬题解 结语 刷题前唠嗑 LeetCode&#xff1f;启动&#xff01;&#xff01;&#xff01; 这道题的难度&#xff0c;才是我想象中的中等题的难度好吧&#xff0c;昨天那玩意对我来说还是太难了…

9.Spring 整合 Redis

引入依赖&#xff1a;spring-boot-starter-data-redis配置 Redis&#xff1a;配置数据库参数、编写配置类&#xff0c;构造 RedisTemplate访问 Redis&#xff1a; redisTemplate.opsForValue() redisTemplate.opsForHash() redisTemplate.opsForList() redisTemplate.opsForSe…

Vue3-toRaw 和 markRaw 函数

Vue3-toRaw 和 markRaw 函数 toRaw(转换为原始)&#xff1a;将响应式对象转换为普通对象&#xff0c;只适用于 reactive 生成的响应式对象。markRaw(标记为原始)&#xff1a;标记某个对象&#xff0c;让这个对象永远都不具备响应式。一些集成的第三方库&#xff0c;会有大量的…

UE4 UE5 使用SVN控制

关键概念&#xff1a;虚幻引擎中使用SVN&#xff0c;帮助团队成员共享资源。 1. UE4/UE5项目文件 如果不需要编译的中间缓存&#xff0c;则删除&#xff1a; DerivedDataCache、Intermediate、Saved 三个文件夹 2.更新、上传

C++单调向量(栈):好子数组的最大分数

作者推荐 利用广度优先或模拟解决米诺骨牌 题目 给你一个整数数组 nums &#xff08;下标从 0 开始&#xff09;和一个整数 k 。 一个子数组 (i, j) 的 分数 定义为 min(nums[i], nums[i1], …, nums[j]) * (j - i 1) 。一个 好 子数组的两个端点下标需要满足 i < k <…

【LangChain实战】LangChain快速入门

1、什么是大语言模型 大语言模型是一种人工智能模型&#xff0c;通常使用深度学习技术&#xff0c;比如神经网络&#xff0c;来理解和生成人类语言。这些模型的“大”在于它们的参数数量非常多&#xff0c;可以达到数十亿甚至更多&#xff0c;这使得它们能够理解和生成高度复杂…

【Vue3】

组合式API setup选项 执行时机&#xff1a;比beforeCreate早 不能使用this 数据和函数需要return才能应用 标准写法 <script>export default {setup() {const message "vue32"const logMessage () > {console.log(message)}return {message,logMess…

livox 半固体激光雷达 gazebo 仿真 | 更换环境与雷达型号

livox 半固体激光雷达 gazebo 仿真 | 更换环境与雷达型号 livox 半固体激光雷达 gazebo 仿真 | 更换环境与雷达型号livox 介绍更换环境更换livox激光雷达型号 livox 半固体激光雷达 gazebo 仿真 | 更换环境与雷达型号 livox 介绍 览沃科技有限公司&#xff08;Livox&#xff…

【动态规划】求最长递增子序列问题

目录 问题描述递推关系建立递推关系的思路约束条件:以 s [ k ] s[k] s[k] 结尾约束条件:以 s [ k ] s[k] s[k] 开头约束条件:增加子问题参数&#xff08;前缀&#xff09;约束条件:增加子问题参数&#xff08;后缀&#xff09;约束条件:LIS长度为k且末尾元素最小 运行实例 问…

将图像的rgb数据转成DICOM医学图像格式

dcmtk官方文档&#xff1a;https://support.dcmtk.org/docs/ dcmtk最新源码下载&#xff1a;https://www.dcmtk.org/en/dcmtk/dcmtk-software-development/ dcmtk旧版本源码下载&#xff1a;https://dicom.offis.de/download/dcmtk/ 用DCMTK库实现将图像转成dcm格式 dcmtk库的…

C++二分查找、离线算法:最近的房间

作者推荐 利用广度优先或模拟解决米诺骨牌 本文涉及的基础知识点 二分查找算法合集 题目 一个酒店里有 n 个房间&#xff0c;这些房间用二维整数数组 rooms 表示&#xff0c;其中 rooms[i] [roomIdi, sizei] 表示有一个房间号为 roomIdi 的房间且它的面积为 sizei 。每一…