【工业智能】VSB Power Line Fault Detection

发布时间:2024年01月11日


信息来源:Kaggle Competition : VSB Power Line Fault Detection

background

中压高架线路绵延上百公里来为城市提供电力。因为距离很远,所以人工检测那些没有立即导致断电的线路破损是很昂贵的。例如树枝撞击了电线或者绝缘有破损。这种损伤模式导致了局放的现象。局放:不能完全桥接绝缘系统之间电极的放电。局放会慢慢破坏电线,如果放任不管,最终会导致断电或起火。
task:
检测信号中的局放模式,使用这些数据进行有效的分类,会使得持续监控电线故障成为可能。

dataset

URL:
https://www.kaggle.com/competitions/vsb-power-line-fault-detection/data
其中,除了3个csv,还有2个parquet文件。
parquet是面向分析型业务的列式存储格式。
一个parquet由一个header和一个或多个block块组成,以一个footer结尾。
header中只包含一个4字节数字PAR1用来识别整个parquet文件格式。
文件中所有的metadata都存在于footer中。
reference:
https://blog.csdn.net/qiangzi_lg/article/details/85791988

数据介绍

每个信号包含80万个电线电压测量值,测量超过20ms。由于底层电网以50Hz运行,这意味着每个信号都覆盖一个完整的电网周期。电网本身是三相供电的,所有测量值都是三相同时测量的。
metadata.csv
id_measurement: 同时记录三个信号为一组的ID代码
signal_id: 信号数据的外键。每个信号id在训练集和测试集中都是唯一的。因此训练集中的第一个id是0,测试集中的第一个id是8712
phase:三个一组的信号的相位ID代码。这个相位可能或者可能不是受线路上的故障影响。
target:如果线路没有破损则为0,有故障则为1.
train/test.parquet
信号数据。每个列是一个信号。使用pyarrow导出的80万个int8的测量值。parquet 版本0.11 .
请注意,这和我们平时的每行为一个观测值的不一样。这使得有效地加载该信号的子集变得可能。
train.parquet
head()
在这里插入图片描述
tail()
在这里插入图片描述
shape
(800000, 8712)
test.parquet
head()
在这里插入图片描述

tail()
在这里插入图片描述

data shape
(800000, 20337)

sample_submission.csv: 一个有效的提交样本.

besides,数据是来源于ENET centre的,所以这里把ENET相关URL也放在这里,
https://ceet.vsb.cz/cenet/en/about-us/

信号处理方法

reference:
https://zhuanlan.zhihu.com/p/63344213

电力电缆故障分析
https://zhuanlan.zhihu.com/p/51728262

Matthews correlation coefficient, MCC,二分类问题评价指标:
https://zhuanlan.zhihu.com/p/650766045

EDA

首先可以看到,并不一定三相一起故障,单独一个相故障,两个相故障都是有可能的。

train

信号的最大最小值分别为:127、-128,电压单位V
在这里插入图片描述
train dataset中,
target共计8712条,target1的有525条。占比6%。
phase
0:
target共计2904条,target1的有178条,占比6.13%
phase
1:
target共计2904条,target1的有166条,占比5.72%
phase
2:
target共计2904条,target==1的有181条,占比6.23%
对每个样本计算三相同时故障、两相同时故障、单独一相故障的个数:
Counter({0: 2710, 3: 156, 2: 19, 1: 19})
可见在故障中,大多数情况下是三相同时发生故障,在故障中占比80.4%

DP:
parquet文件数据读取代码:

from fastparquet import ParquetFile
datadir = r'./train.parquet'
pf = ParquetFile(datadir)
df = pf.to_pandas()

归一化,from (-128 to 127) to (-1 to 1)
特征工程,
均值,标准差,均值+标准差,均值-标准差,峰峰值,四分位数,四分位数-均值
tqdm:
tqdm模块是python进度条库
tqdm derives from the Arabic word taqaddum ( ) which can mean “progress,”
[00:06<00:00, 16.04it/s]
第一个00:06是已用时间,第二个00:00是剩余时间, 16.04it/s表示每秒16.04项
数据集KFOLD切分
LSTM模型训练
计算最佳阈值和MCC指标
测试

np.squeeze
用于从数组中删除单维度的条目。

model train try

用训练集做模型尝试

文章来源:https://blog.csdn.net/weixin_46870583/article/details/135522140
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。