4、数据理解与探索:数据字典、数据分布、缺失值、异常值、数据类型识别、初步可视化分析

在安全评价风险预测模型构建过程中,数据理解与探索是承上启下的关键环节。如果说数据采集解决的是“有什么”的问题,那么数据理解与探索解决的就是“数据长什么样、质量如何、能否支撑建模”的问题。安全评价数据往往来源于事故台账、安全检查记录、设备监测系统、人员行为观察等多源异构渠道,数据形态复杂、噪声大、缺失与异常频发。若不经过系统性的理解与探索,后续的特征工程和模型训练将建立在“沙地”之上。本章围绕数据字典构建、数据分布探查、缺失值诊断、异常值识别、数据类型确认及初步可视化分析六个核心任务展开,帮助学员建立一套可复用的数据体检方法论。

数据理解与探索 数据字典 字段定义/单位/取值范围 数据分布 集中趋势/离散程度/偏态 缺失值诊断 缺失比例/机制/模式 异常值识别 统计法/距离法/业务规则 数据类型识别 数值/类别/有序/时间 初步可视化 直方图/箱线图/散点图 输出:数据质量报告 + 建模变量清单

上图展示了数据理解与探索的六大核心任务及其逻辑关系。数据字典是起点,为后续所有分析提供字段语义基础;数据分布、缺失值、异常值和数据类型识别构成数据质量诊断的四个维度;初步可视化分析则贯穿始终,为每个维度提供直观佐证。最终输出物是数据质量报告和建模变量清单,为特征工程和模型选择提供依据。

4.1 数据字典:字段语义的“宪法”

核心原理

数据字典是数据集的元数据描述,它定义了每个字段的业务含义、数据类型、允许取值范围、单位、编码规则及字段间的逻辑关系。在安全评价场景中,数据字典尤为重要——例如“隐患等级”字段,不同企业可能用“A/B/C”、“Ⅰ/Ⅱ/Ⅲ”或“红/橙/黄/蓝”表示,若无统一字典,模型将无法正确解析类别含义。数据字典不仅是数据理解的起点,也是跨部门协作、历史数据比对和模型可解释性的基础。

构建方法

  • 字段清单梳理:逐一列出数据集中所有字段,包括字段名、字段别名、存储位置。
  • 业务语义定义:明确每个字段的业务含义,例如“事故直接经济损失”应明确是否包含间接损失、统计币种和统计周期。
  • 取值范围与编码规则:记录每个字段的合法值域,对类别型字段列出所有编码及对应含义。
  • 单位与精度:统一计量单位(如压力单位用MPa还是kPa),明确数值精度(保留几位小数)。
  • 字段关系说明:标注主外键关系、依赖字段和派生字段的计算逻辑。
字段名业务含义数据类型取值范围/编码单位缺失说明
hazard_level隐患等级类别型1-重大, 2-较大, 3-一般, 4-轻微—不允许缺失
pressure_value管道压力数值型0~25.0MPa允许缺失,需标注原因
check_date检查日期时间型2020-01-01~2025-12-31—不允许缺失
worker_age作业人员年龄数值型18~65岁部分缺失
经验提醒:数据字典应在数据采集阶段同步建立,而非事后补建。事后补建容易遗漏字段间的隐含逻辑,且难以追溯历史版本变更。

4.2 数据分布:了解变量的“脾气”

核心原理

数据分布描述的是变量取值的频率特征,包括集中趋势(均值、中位数、众数)、离散程度(标准差、四分位距、极差)和分布形态(正态、偏态、双峰、长尾)。安全评价数据中,许多变量呈现明显的偏态分布——例如“事故损失金额”往往集中在较小值区域,但存在少量极高值拉高均值;而“安全检查频次”可能呈现双峰分布(不同风险等级企业检查频次差异大)。理解分布形态直接影响后续的缺失值填充策略、异常值判定阈值和模型选择(如是否需要对数变换)。

判断方法

  1. 描述性统计:计算均值、中位数、标准差、最小值、最大值、四分位数、偏度、峰度。
  2. 分布形态检验:使用Shapiro-Wilk检验或Kolmogorov-Smirnov检验判断正态性;对于非正态数据,记录偏态方向和程度。
  3. 分组对比:按业务维度(如不同车间、不同作业类型)分组查看分布差异,识别潜在的分层建模需求。
  4. 分布与业务逻辑对照:检查分布是否符合安全领域的先验知识,例如“事故严重度”应呈现金字塔形分布(轻微多、重大少)。
实战场景:某化工园区风险预测项目中,“可燃气体浓度”变量原始分布严重右偏,均值0.8%LEL,中位数仅0.2%LEL,但存在少量超过2%LEL的极端值。若直接使用原始值建模,模型会被极端值主导。通过绘制直方图发现分布呈长尾状,决定对浓度值做log1p变换后再进入模型,显著提升了模型稳定性。

4.3 缺失值诊断:不只是“填不填”的问题

核心原理

缺失值处理的前提是理解缺失机制。缺失机制分为三类:完全随机缺失(MCAR)、随机缺失(MAR)和非随机缺失(MNAR)。在安全评价数据中,MNAR较为常见——例如“事故原因分析”字段,往往在无事故记录时为空,而事故越严重,该字段缺失率越低。不同缺失机制对应不同的处理策略:MCAR可直接删除或均值填充;MAR需借助其他变量建模预测;MNAR则需谨慎处理,可能需要单独建模或引入“缺失指示变量”。

诊断流程

  • 缺失比例统计:计算每个字段的缺失率,设定阈值(如5%、20%、50%)分级管理。
  • 缺失模式分析:使用缺失矩阵图或热力图观察缺失是否集中在特定记录或特定字段组合。
  • 缺失相关性分析:检验缺失字段与其他字段的关联性,判断是否为MAR。
  • 业务原因追溯:与数据采集人员沟通,确认缺失是系统故障、人为遗漏还是业务逻辑导致。
缺失类型典型场景处理策略风险提示
MCAR传感器偶发故障导致数据丢失删除记录或均值/中位数填充删除过多会损失样本量
MAR“隐患整改期限”字段在低风险隐患中缺失回归填充或多重插补填充模型需验证准确性
MNAR“事故伤亡人数”在未发生事故时为空引入缺失指示变量直接填充会引入偏差
风险提醒:在安全评价中,缺失值处理不当可能掩盖真实风险。例如,将“未检查”与“检查无隐患”混为一谈,会导致模型低估风险等级。务必在数据字典中明确区分“真缺失”与“业务性缺失”。

4.4 异常值识别:区分“噪声”与“信号”

核心原理

异常值是指明显偏离数据集中趋势的观测值。在安全评价中,异常值具有双重属性:一方面可能是数据录入错误或传感器故障产生的噪声;另一方面可能是真实的安全风险信号——例如某设备温度突然飙升到远超正常范围,这恰恰是事故前兆。因此,异常值识别不能机械地“发现即删除”,而应结合业务背景判断其性质。

识别方法

  1. 统计方法:基于均值±3倍标准差、四分位距(IQR)的1.5倍规则、Z-score等。
  2. 距离方法:计算样本间的欧氏距离或马氏距离,识别远离主群的样本。
  3. 密度方法:使用LOF(局部离群因子)检测局部密度显著低于邻域的样本。
  4. 业务规则法:依据安全标准设定物理极限值,如压力容器不得超过设计压力的1.05倍。
案例拆解:某矿山安全监测系统采集了10000条“风速”数据,统计发现3个样本风速值超过15m/s,而矿山安全规程规定井下风速上限为8m/s。初步判断为异常值。进一步核查发现:其中2条数据来自传感器安装位置靠近通风机出口,属于测量位置不当导致的系统性偏差;另1条数据是通风系统异常时的真实记录,随后该区域发生了瓦斯积聚事件。处理策略:对2条系统性偏差数据修正传感器位置后重新采集;对1条真实异常数据保留并标记为“高风险事件”,用于训练风险预警模型。若机械删除,将丢失关键风险信号。

4.5 数据类型识别:建模前的“身份确认”

核心原理

数据类型决定了后续特征编码和模型选择的方向。安全评价数据常见类型包括:数值型(连续/离散)、类别型(有序/无序)、时间型、文本型。常见错误是将有序类别型(如风险等级“低/中/高”)误当作无序类别型处理,丢失了等级顺序信息;或将时间型字段当作普通数值型,忽略了周期性规律。

识别与转换流程

  • 字段类型盘点:结合数据字典和实际取值,确认每个字段的原始类型。
  • 类型细分:对数值型区分连续/离散;对类别型区分有序/无序;对时间型确认粒度(年/月/日/时分秒)。
  • 类型转换:将字符串型日期转为datetime格式;将编码型类别转为category类型;对有序类别指定顺序。
  • 类型验证:检查转换后是否有数据溢出、精度丢失或编码错位。
原始字段原始类型识别结果转换方式建模用途
risk_level字符串有序类别型映射为1/2/3/4回归/分类标签
check_time字符串时间型转为datetime,提取小时/星期周期性特征
equip_type整数编码无序类别型One-Hot编码分类特征
temperature浮点连续数值型保留原值,必要时标准化数值特征
经验提醒:在安全评价中,“检查结果”字段常被编码为“0/1/2”,但0可能表示“未检查”,1表示“合格”,2表示“不合格”。若直接当作数值型处理,模型会错误地认为“未检查”介于“合格”和“不合格”之间。务必先转换为类别型再处理。

4.6 初步可视化分析:让数据“开口说话”

核心原理

可视化是将抽象的数据分布、缺失模式、异常特征转化为直观图形,帮助分析师快速发现数据中的规律和问题。在安全评价场景中,可视化不仅是探索工具,也是向非技术决策者展示数据质量的重要沟通手段。初步可视化分析应聚焦于回答三个问题:数据整体长什么样?哪些变量值得重点关注?变量之间是否存在初步关联?

常用图形与适用场景

  • 直方图/密度图:查看单变量分布形态,识别偏态、双峰和异常值聚集区域。
  • 箱线图:对比不同组别(如不同车间、不同年份)的分布差异,直观显示中位数、四分位距和离群点。
  • 散点图:探索两个连续变量之间的关系,识别非线性模式和聚类结构。
  • 缺失热力图:展示字段间缺失模式的关联性,辅助判断缺失机制。
  • 时间序列折线图:观察安全指标随时间的趋势、周期性和突变点。
案例拆解:某建筑企业安全评价项目,初步可视化发现“高处作业违规次数”与“月份”存在明显周期性——每年3-5月和9-11月出现峰值,与项目赶工期高度吻合。同时,箱线图显示“分包单位数量”超过15家的项目,其事故率中位数是5家以下项目的2.3倍。这两个发现直接指导了后续特征工程:引入“月份”的周期编码和“分包单位数量”的分箱特征,模型AUC从0.71提升至0.79。
常见误区:可视化分析不能只停留在“画图”层面,必须与业务解读结合。例如,直方图显示“隐患整改时长”呈右偏分布,不能简单归因于“部分隐患整改慢”,而应进一步分析是资源不足、技术复杂还是管理懈怠所致。可视化是发现问题的起点,不是终点。

4.7 综合复盘:数据理解与探索的常见误区

  • 误区一:数据字典流于形式——只记录字段名和类型,不记录业务含义和编码规则,导致后续分析中反复返工。
  • 误区二:缺失值处理“一刀切”——不区分缺失机制,统一用均值填充,可能引入系统性偏差。
  • 误区三:异常值“见一个删一个”——忽略异常值可能蕴含的风险信号,导致模型丢失关键预警能力。
  • 误区四:数据类型识别不细致——将有序类别当无序处理,或将时间型字段当作普通数值,损失信息量。
  • 误区五:可视化与业务脱节——只追求图形美观,不结合安全业务逻辑解读,图形沦为“装饰品”。

数据理解与探索不是一次性的“体检”,而是贯穿整个建模周期的迭代过程。随着特征工程的深入,可能发现新的数据质量问题,需要回溯到本章的各个诊断环节进行补充分析。扎实完成本章工作,将为后续的特征构造、模型训练和结果解释奠定坚实基础。