数据采集基础:传感器类型、数据采集频率、数据清洗与预处理

做工艺参数异常定位,第一步不是分析数据,而是搞清楚数据是怎么来的。我见过太多人拿到数据就直接建模,结果发现传感器坏了都不知道。说白了,数据采集是整个异常定位的根基,根基不稳,后面全是白搭。

传感器类型:你选对了吗?

传感器就是工艺现场的「眼睛」。我习惯把它们分成三类:

  • 物理量传感器:温度、压力、流量、液位。这些最常见,也最成熟。
  • 化学量传感器:pH值、浓度、成分分析。这类传感器娇贵,容易漂移。
  • 状态量传感器:开关信号、位置信号、振动信号。简单粗暴,但很可靠。

举个例子。我在一条化工产线上遇到过一个问题:反应釜温度一直显示正常,但产品就是不合格。后来发现,温度传感器安装位置离加热夹套太近,测的是局部温度,不是物料真实温度。你想想看,传感器选型对了,安装位置不对,照样白费。

选型要点

  • 量程要覆盖工艺波动范围,留20%余量
  • 精度等级要匹配工艺要求,别用0.5级的传感器去测±1℃的工艺
  • 响应时间要快于工艺变化速度,否则数据滞后

数据采集频率:不是越快越好

很多人有个误区:采集频率越高越好。其实不是。频率太高,数据量爆炸,存储和计算都扛不住;频率太低,关键变化抓不到。

我一般遵循一个原则:采集频率至少是工艺变化频率的10倍。比如温度变化周期是10秒,那采集频率至少1秒一次。

工艺参数 典型变化速度 建议采集频率
温度(反应釜) 慢(分钟级) 1-10秒
压力(管道) 中(秒级) 0.1-1秒
振动(旋转设备) 快(毫秒级) 1-10毫秒
流量(连续过程) 中(秒级) 0.5-2秒

我的经验:如果拿不准频率,先按高频率采一周数据,然后做频谱分析,看看信号的主要频率成分在哪,再确定最终采集频率。这样最科学。

数据清洗与预处理:脏数据比没数据更可怕

数据采回来了,但能用吗?我敢说,现场数据至少30%是有问题的。数据清洗就是把这些「垃圾」筛出去。

常见的数据问题

  • 缺失值:传感器断线、通讯中断、存储故障
  • 异常值:传感器漂移、干扰、设备故障
  • 重复值:采集程序bug、重复存储
  • 时间戳错乱:时钟不同步、缓存延迟

我曾经处理过一个案例:某产线压力数据每天下午3点准时出现一个尖峰,排查了三个月没找到原因。后来发现是采集服务器的定时任务在3点整执行,导致CPU占用飙升,数据采集延迟了2秒。嗯,这种问题,你不做数据清洗根本发现不了。

清洗流程

我个人的清洗流程是这样的:

  1. 去重:检查时间戳,删除完全重复的记录
  2. 补缺:短时间缺失用插值,长时间缺失直接丢弃
  3. 去噪:用移动平均或中值滤波,去掉随机噪声
  4. 剔除异常:用3σ原则或IQR方法,剔除明显偏离的值
  5. 对齐时间:把不同传感器的数据统一到同一个时间轴上

注意:清洗不是越狠越好。过度清洗会抹掉真实的工艺异常信号。我见过有人把异常波动当噪声滤掉了,结果异常定位模型怎么都训练不好。

代码示例:简单的数据清洗

import pandas as pd
import numpy as np

# 读取原始数据
df = pd.read_csv('sensor_data.csv', parse_dates=['timestamp'])

# 1. 去重
df = df.drop_duplicates(subset=['timestamp'])

# 2. 补缺(线性插值)
df['temperature'] = df['temperature'].interpolate(method='linear')

# 3. 去噪(移动平均)
df['pressure_smooth'] = df['pressure'].rolling(window=5).mean()

# 4. 剔除异常(3σ原则)
mean = df['flow'].mean()
std = df['flow'].std()
df = df[(df['flow'] > mean - 3*std) & (df['flow'] < mean + 3*std)]

# 5. 重采样到统一频率(1秒)
df = df.set_index('timestamp').resample('1S').mean().reset_index()

知识体系结构图

下面这张图,是我自己总结的数据采集基础框架。你看一眼就能明白整个逻辑。

数据采集基础知识体系 传感器类型 数据采集频率 数据清洗与预处理 物理量 · 化学量 · 状态量 量程 · 精度 · 响应时间 10倍原则 · 频谱分析 温度慢 · 压力中 · 振动快 缺失值 · 异常值 · 重复值 去重 · 补缺 · 去噪 · 对齐 核心原则 选对传感器 → 定好频率 → 洗清数据 数据采集是异常定位的根基,每一步都马虎不得

一句话总结:传感器选型决定数据质量,采集频率决定数据密度,数据清洗决定数据可用性。这三步走扎实了,后面的异常定位才能有的放矢。


公众号:蓝海资料掘金营,微信deep3321