华电新疆公司 · 集团 AI 竞赛赛前培训 · 第三天 · 数据治理

数据治理(二)· 12 题案例拆解与书面练习

下午课配套材料:12 道样题逐题拆解,每题用真实数据画图,讲清现象、发现方法、参数、修复和评分要点;最后 8 题书面练习附答案。

素材:数据治理_介绍文档.pdf(12 题 + 出题位置)+ 数据.xlsx对应日程:10/21 下午(线上)

0怎么用这份材料

平台按钮速记(上午课模拟平台里都点过):顶部 标记答案 / 历史版本 / 恢复原始数据 / 缺失值填充 / 批量替换 / 条件筛选 / 图表 / 异常值检测;列头 排序 / 唯一值统计 / 统计概览;异常值检测里 6 种方法:3σ、IQR、Z-score、STL_IQR、STL_S_H_ESD、K-means。

上午课讲了检测方法和平台怎么点;这份按 12 题逐题走,每题固定写法:题目原文 → 数据图 → 第一步在平台上怎么看出问题 → 第二步按哪个按钮填什么参数定位到哪些行 → 第三步点哪里怎么修 → 第四步怎么验证、标记答案、保存版本,再附评分要点和常见错。按钮名称与上午课模拟平台一致。最后 8 题书面练习,自己先说再看答案。

三条铁律(上午讲过,每题都用):① 不删行 ② 不用全局均值填 ③ 先分工况再做统计检测。

112 题逐题拆解(点进去看,每题一页)

每页固定四步,带平台面板示意和修复前后对比图。建议顺序:1–3 物理约束 → 4–5 缺失与极值 → 6、12 多测点对比 → 7–9 工况 + 算法 → 10 STL → 11 插值。

2书面练习 8 题(附分步答案)

每张图先自己说三句:① 什么问题 ② 怎么发现 / 用什么方法、参数填什么 ③ 怎么修。说完点开答案——答案和上面 12 题一样按平台四步写:点哪个按钮、面板每个空填什么、点完看到什么、不对怎么调、最后怎么验证存版本。

练习 1 「压气机效率」整列:有什么问题?该怎么修?
看分步答案(对着平台四步:看 → 定位 → 修 → 验证存)

第一步 看

  1. 「压气机效率」列点列头 → 升序:最上面 −299.5、−280……;降序:143.99、139…… → 两个方向都越界。
  2. 「图表」→ 趋势图 → 字段「压气机效率」、行数 1–5000:正常应在 0~1 窄带里,图上大片掉到 0 下、几根冲过 1(就是这张图)。

第二步 定位(条件筛选,不用检测算法)

  1. 「条件筛选」字段「压气机效率」条件「< 0」→ 执行 → 1648 行;清掉再筛「> 1」→ 133 行。
  2. 效率是比值、物理上只能在 [0,1] → 超出即错值,不需要跑 3σ / IQR。
条件筛选✕
压气机效率▾
< 0 → 1648 行;> 1 → 133 行▾
执行
批量替换✕
压气机效率▾
<0 批填 0;>1 批填 1
当前筛选结果
确认

第三步 修

  1. 两批筛选结果上分别「批量替换」→ 替换为 0 / 1 → 确认。
  2. 不删行(24 列共用时间戳);不用均值 / 插值(这是错值不是缺失,评分视为理解偏差)。

第四步 验证 + 存

  1. 再排序:最小 ≥ 0、最大 ≤ 1;趋势图 0 下和 1 上的点全消失。
  2. 「标记答案」→「历史版本」存「v1_效率截断」。
常见错:常见错:均值填充 / 插值;删行;只筛 <0 忘了 >1。
练习 2 1900–2250 行的「排气压力 1B」:有什么问题?
看分步答案(对着平台四步:看 → 定位 → 修 → 验证存)

第一步 看

  1. 趋势图 → 字段同时勾「压气机排气压力1B」「压气机排气压力1A」→ 行数 1900–2250:1B 在 1956–2154 行是一条水平线(−49 / −99 来回),同期 1A 正常起伏 → 卡死。

第二步 定位

  1. 差分列「本行 − 上一行」连续 = 0 的段即卡死段;或「条件筛选」字段「压气机排气压力1B」条件「= −49 或 = −99」→ 执行 → 199 行(1956–2154)。
  2. 散点图 X「机组负荷」Y「1B」验证:正常点铺成带、卡死段是一条水平孤带。
条件筛选✕
压气机排气压力1B▾
= −49 或 = −99▾
199 行(1956–2154)
执行
缺失值填充✕
向前填充▾
卡死 199 行
保留原始列,可加标记列
执行

第三步 修

  1. 题面要求保留原始记录:加「卡死标记」列填 1;修复列用「缺失值填充 → 向前填充」→ 用行 1955 的正常值填下去。
  2. 严禁删行、严禁全局均值。

第四步 验证 + 存

  1. 趋势图重画:水平线消失、和 1A 走势一致。
  2. 「标记答案」→ 存「v4_卡死_1B_前向填充」。
常见错:常见错:删掉 199 行;全局均值填平;把 −49 / −99 当真实压力。
练习 3 4200–4290 行的「环境温度」:有什么问题?用什么填?
看分步答案(对着平台四步:看 → 定位 → 修 → 验证存)

第一步 看

  1. 趋势图 → 字段「环境温度」→ 行数 4200–4290:曲线上几个黄色断点(单点 + 一段 9 点);列头统计概览:空值 = 12。
  2. 环温是缓变量、不会跳 → 前后点连线就能还原。

第二步 定位

  1. 「条件筛选」字段「环境温度」条件「为空」→ 执行 → 12 行:4235、4238、4244、4246–4254。
  2. 环温没有冗余测点(只此一列)→ 不能像排温那样用指定列均值,只能靠前后点。
条件筛选✕
环境温度▾
为空▾
12 行
执行
缺失值填充✕
线性插值▾
当前筛选结果(12 行)
执行

第三步 修

  1. 「缺失值填充 → 线性插值」一次做完 12 行;9 点那段必须插值(向前填充会填出 9 点水平台阶)。
  2. 不用全局均值(夜里 0℃ 白天 15℃,填均值等于把夜里填成白天)。

第四步 验证 + 存

  1. 趋势图断点接上、平滑无台阶;统计概览空值 = 0。
  2. 「标记答案」→ 存「v5_环温缺失_线性插值」。
常见错:常见错:全局均值填;删行;短段用向前填充。
练习 4 停机段 600–800 行的「机组转速」:全局 3σ 能抓到吗?该用什么?
看分步答案(对着平台四步:看 → 定位 → 修 → 验证存)

第一步 看

  1. 图上红色虚线 = 全局 3σ 上限 2054:尖峰 400~900 全在"正常范围"内 → 全局 3σ 报 0 个(亲手跑一遍确认:检测方法 3σ、字段机组转速、行数 1–5000)。
  2. 趋势图行数 600–800 放大:696–731 行一段尖峰肉眼可见 → 方法不对,不是没异常。

第二步 定位(先筛工况再局部 Z-score)

  1. 「条件筛选」机组负荷 < 5 且 点火信号 = 0 → 4761 行(停机段)。
  2. 「异常值检测 → Z-score」:Z-Score窗口大小 10、Z-Score阈值 3、选择字段「机组转速」、选择行数 600 至 800 → 开始检测 → 报 696–731 共 36 行;行数改 1600–1650 再跑 → 4 行。
  3. K-means 验证:字段勾 转速+负荷、迭代 100、聚类曲线 k=2、查看聚类散点图框选离群团。
异常值检测✕
Z-score▾
10︿﹀
3︿﹀
机组转速▾
600︿﹀
至
800︿﹀
开始检测重置
真实平台「异常值检测」面板:方法选好后参数栏跟着变,填完点「开始检测」。本题四个空:窗口 10 / 阈值 3 / 字段 机组转速 / 行数 600 至 800。点击放大
点「开始检测」后看到什么:600–800 的平线上 696–731 一段标红点;右侧「异常值数量 36」+ 行号列表。报 0 个 = 行数没缩到停机段或窗口填了 100;报太多 = 阈值填太小。

第三步 修

  1. 检出的 40 行「缺失值填充 → 线性插值」(前后都≈4,插出来还是≈4);或批量替换为 4。
  2. 禁删行、禁全局均值(全列均值 149 rpm)。

第四步 验证 + 存

  1. 趋势图 600–800 重画:一条平线无尖刺;Z-score 同参数再跑 → 0 个。
  2. 「标记答案」→ 存「v4_转速停机尖峰_筛工况_Z10_插值」。
常见错:常见错:全局 3σ 报 0 就写"无异常";不筛工况;删行。
练习 5 1200–1330 行:温度 2(绿)和温度 3(橙),哪个有问题?怎么判断?
看分步答案(对着平台四步:看 → 定位 → 修 → 验证存)

第一步 看

  1. 趋势图字段勾 温度2+温度3、行数 1200–1330:绿线 1255–1277 行跳到 63~146,橙线一直 15 → 绿线(温度2)有问题。
  2. 判断依据:两测点同截面、正常差 < 3℃;63~146 单看没越界 → 3σ / IQR 在温度2 单列上不报 → 关联异常。
  3. 散点图 X「温度3」Y「温度2」:正常点贴对角线,异常点单独在左上角一团。

第二步 定位(K-means)

  1. 「异常值检测 → K-means」:迭代次数 100、选择字段勾「压气机排气温度2」+「压气机排气温度3」、行数 1–5000 → 点「聚类曲线」肘图拐点 k = 3 → 聚类数量 3 → 「查看聚类散点图」→ 手动框选左上角簇 → 「添加为异常值」→ 23 行(1255–1277)。
异常值检测✕
K-means▾
100︿﹀
排温2 + 排温3▾
1︿﹀
至
5000︿﹀
点击聚类曲线获取 → 3
说明:在散点图中,手动框选异常值
查看聚类散点图聚类曲线
真实平台「异常值检测」面板:方法选好后参数栏跟着变,填完点「开始检测」。K-means:迭代 100 → 聚类曲线定 k → 散点图手动框选。点击放大

第三步 修

  1. 框选的 23 行「缺失值填充 → 均值填充 → 指定列」→ 参考列只勾「压气机排气温度3」→ 用同时刻温度3 替代温度2。
  2. 不删行、不全局均值。

第四步 验证 + 存

  1. 趋势图 1200–1330:绿线回到橙线一起;散点图左上角那团消失。
  2. 「标记答案」→ 存「v5_排温2关联_Kmeans3_T3替代」。
常见错:常见错:只用 3σ 查温度2(查不到就写无异常);不画散点直接猜。
练习 6 「进气湿度」2400–2650 行:这段数据有周期吗?红圈处是天气还是异常?
看分步答案(对着平台四步:看 → 定位 → 修 → 验证存)

第一步 看

  1. 有周期:全程一天一个峰(5 分钟 × 288 = 24 h),峰值时间每天 10–13 点漂 → 准周期。
  2. 红圈处(2518–2531 行)从 60 掉到 3~11、中间夹一个 90.5 尖、又瞬间回 60 → 是异常不是天气:天气不会 5 分钟变 50 个百分点。
  3. 3σ 直接查原序列抓不到(日周期波动 3~95 比异常还大)→ 必须先拆周期。

第二步 定位(STL_IQR)

  1. 「异常值检测 → STL_IQR」:STL周期长度 288、STL残差异常判定倍数K 3、季节性平滑窗口 7、字段「进气湿度」、行数 1 至 5000(全程才学得会周期)→ 开始检测 → 报 1367–1368、2518–2531。
  2. period 填 24 或 1440 都会让分解全错(288 = 24 h ÷ 5 min)。
异常值检测✕
STL_IQR▾
288︿﹀
3︿﹀
7︿﹀
进气湿度▾
1︿﹀
至
5000︿﹀
开始检测重置
真实平台「异常值检测」面板:方法选好后参数栏跟着变,填完点「开始检测」。STL_IQR 三个参数:288 / 3 / 7。点击放大
点「开始检测」后看到什么:原曲线红点落在掉坑和尖峰处;残差子图上这些点远离 0 线。报一整天波峰 = period 填错;报 0 个 = K 填太大。

第三步 修

  1. 检出的行「缺失值填充 → 线性插值」→ 掉坑的点回到日周期曲线上。
  2. 禁删行、禁全局均值。

第四步 验证 + 存

  1. 趋势图 2400–2650 重画:曲线连续、符合周期;STL_IQR 再跑 → 0 或零星。
  2. 「标记答案」→ 存「v5_湿度_STL288_K3_插值」。
常见错:常见错:3σ / IQR 查原序列;period 填 24 / 1440。
练习 7 4030–4130 行三个排温测点:温度 1(蓝)出了什么问题?两种?
看分步答案(对着平台四步:看 → 定位 → 修 → 验证存)

第一步 看

  1. 趋势图字段勾 温度1/2/3、行数 4030–4130:蓝线两种毛病——4037–4042 行尖到 114(绿橙线稳在 14 → 硬故障极值)和 4069–4119 行整段断掉(缺失,平台黄色高亮)。
  2. 注意区分:缺失 = 没值要补,异常 = 有值但错要改**。

第二步 定位

  1. 极值批①:「条件筛选」温度1「> 700 或 < 0」→ 400 行(−2400 带那三段,在别的行段)。
  2. 极值批②(本图这段):114 不超 700,阈值筛不到 → 三条线叠看或算残差 |T1 − (T2+T3)/2| > 20 → 抓出 4037–4042 共 6 行。
  3. 缺失:「条件筛选」温度1「为空」→ 51 行(4069–4119)。
条件筛选✕
压气机排气温度1▾
为空▾
51 行(4069–4119)
执行
缺失值填充✕
均值填充▾
指定列▾
排温2、排温3▾
极值 6 行 + 缺失 51 行
执行

第三步 修

  1. 两种都用「缺失值填充 → 均值填充 → 指定列」参考列勾 温度2、温度3 → 系统按同时刻 (T2+T3)/2 填。
  2. 极值那 6 行若平台填充只对空值生效:先批量替换为空再填。不删行、不全局均值。

第四步 验证 + 存

  1. 三条线叠看:蓝线回到绿橙一起;断口接上;统计概览空值 = 0。
  2. 「标记答案」→ 存「v2_排温1极值+缺失_T2T3均值」。
常见错:常见错:只修缺失漏了 114 那 6 行(它不超 700);向前填充 51 点;本列均值填。
练习 8 「机组负荷」停机段放大:这些 −0.3~−0.6 要不要处理?怎么处理?
看分步答案(对着平台四步:看 → 定位 → 修 → 验证存)

第一步 看

  1. 列头升序:最小 −12.38;趋势图全程:停机段贴在 0 下面一点(−0.3~−0.6 一条带),另有两处深刺(行 173–176、1859–1864,−1.2~−12.4)。
  2. 负荷 = 输出有功功率,物理上不能为负 → 要处理,哪怕只有 −0.3。

第二步 定位

  1. 「条件筛选」字段「机组负荷」条件「< 0」→ 执行 → 4767 行(停机零点漂移,几乎整个停机段)。
  2. 数字大别慌、别以为筛错;同时筛「≥ 0 且 < 5」看一眼真正的低负荷段——那些不能动。
条件筛选✕
机组负荷▾
< 0▾
4767 行
执行
批量替换✕
机组负荷▾
0︿﹀
当前筛选结果(4767 行)
确认

第三步 修

  1. 筛选结果上「批量替换」→ 替换为 0 → 确认(截断法,正好对应停机)。
  2. 不删行(4767 行删了时序就断了);不用均值填(全列均值一百多 MW,停机段填成满负荷)。

第四步 验证 + 存

  1. 升序第一个 = 0;趋势图停机段贴 0 线、不在 0 下;低负荷段没被误伤。
  2. 「标记答案」→ 存「v1_负荷截断」。
常见错:常见错:看到 4767 行以为筛错;删行;均值填充。

3提交前自检

没有删过任何一行

没有用过"全表均值 / 本列均值"填任何东西

统计类检测都是先筛工况再做的,没有在全 5000 行上跑 3σ 就下结论

滑动 Z-score 窗口 6–12、阈值 3;STL period 288、阈值 3;K-means 先标准化、肘图定 k

每题一个版本,命名能看出改了什么

口径:基于客户提供的样题介绍文档、数据文件与平台截图编写;图均由真实数据生成;平台界面为示意,实际以赛场版本为准;无平台实操环境,本日为理论与案例讲解。