4. 储能站历史数据清洗实战
储能站历史数据清洗不是把数据“变好看”,而是把原始日志还原成可用于趋势分析、效率评估和故障复盘的可信时间序列。真实储能站日志通常来自 PCS、BMS、EMS、空调、消防和电表等多个子系统,采样周期从 1 秒到 15 分钟不等,且存在时间戳漂移、量纲混用、通信中断、传感器漂移和人工补录等问题。清洗的目标是:在保留真实工况特征的前提下,识别并修正异常,补齐缺失,并给出可验证的清洗结论。
一、先看清原始日志的典型问题
以某 100 MW/200 MWh 磷酸铁锂储能站为例,其 EMS 历史库中常见问题包括:
- 时间戳问题:PCS 与 BMS 时钟不同步,同一时刻的功率与 SOC 记录相差 2~8 秒;部分日志使用本地时间,部分使用 UTC。
- 缺失问题:通信中断导致连续 3~20 个采样点为空;BMS 单体电压在均衡阶段偶发丢包。
- 异常值问题:SOC 出现 105%、-3% 等越界值;PCS 有功功率在待机时出现 ±0.5 MW 的尖峰。
- 重复与冗余:EMS 重传导致同一时间戳出现两条记录,数值略有差异。
- 量纲与单位:功率有的以 kW 存储,有的以 MW 存储;温度有的用 0.1℃ 整数存储。
这些问题如果不处理,会直接导致日充放电量、循环效率、SOC 变化率等指标失真。因此清洗规则必须围绕“时间对齐—异常识别—缺失插补—一致性校验”四个环节设计。
二、清洗规则设计:从业务约束出发
清洗规则不能只依赖统计阈值,还要结合储能站的物理约束。以下是一组可直接参考的规则示例(参数为示例假设,实际需按站端设备手册调整):
| 字段 | 物理范围 | 变化率约束 | 处理策略 |
|---|---|---|---|
| SOC | 0%~100% | ≤ 1%/min | 越界置空,超变化率标记可疑 |
| 有功功率 | -110~110 MW | ≤ 20 MW/s | 超限视为尖峰,置空后插补 |
| 单体电压 | 2.5~3.65 V | ≤ 0.05 V/s | 越界置空,连续 3 点异常则整段标记 |
| 温度 | -20~60℃ | ≤ 2℃/min | 越界置空,突变点保留但标记 |
| 时间戳 | — | — | 统一转 UTC,按 1 min 重采样 |
规则执行顺序建议为:先统一时间戳并去重,再按物理范围做硬约束过滤,然后计算变化率做软约束标记,最后进入插补。硬约束直接置空,软约束只标记不删除,避免把真实工况(如并网瞬间功率突变)误杀。
三、插补方法选择:按缺失长度和工况区分
缺失插补没有“万能方法”,关键是按缺失长度和工况选择。对于储能站历史数据,推荐以下策略:
- 缺失 ≤ 3 个采样点:线性插值。适用于 SOC、温度等缓变量,计算简单且不引入额外假设。
- 缺失 4~20 个采样点:三次样条插值或前向填充+滑动平均。适用于功率、电压等连续量,但需检查插补段是否跨越充放电状态切换。
- 缺失 > 20 个采样点:不建议强行插补,应标记为“无效区间”,在后续统计中剔除,避免伪造长时段数据。
- 状态量(如开关状态、告警字):采用前向填充,并记录填充时长;若填充超过 5 分钟,标记为不可信。
插补后必须做一致性校验:例如 SOC 插补后应满足 0%~100%,且与充放电量积分结果偏差不超过 3%;功率插补后应满足与电表侧功率的偏差在 2% 以内。若偏差超限,应回退到“标记无效”而不是继续插补。
四、清洗效果验证:用指标说话
清洗完成后,不能只看“补了多少点”,而要用可量化的指标验证。建议至少输出以下四类验证结果:
- 完整性:清洗后有效点占比、各字段缺失率、最长连续缺失时长。
- 一致性:SOC 积分与充放电量偏差、PCS 功率与电表功率偏差、温度与空调运行状态匹配率。
- 合理性:越界值数量、变化率超限数量、插补点占比及插补段最大长度。
- 可追溯性:每个被修改的点保留原始值、清洗动作、规则编号和时间戳。
例如,某日清洗前 SOC 缺失率为 4.7%,清洗后有效点占比 99.2%,插补点占比 1.8%,SOC 积分与电表充放电量偏差从 6.3% 降至 1.9%,说明清洗有效。若偏差反而增大,应检查插补是否跨越了充放电状态切换,或时间对齐是否引入了相位误差。
五、可直接参考的清洗记录表
以下是一份清洗记录表示例,用于记录每个字段的清洗动作和验证结果,便于复盘和审计:
| 字段 | 原始点数 | 越界置空 | 插补点数 | 无效标记 | 清洗后有效占比 | 验证偏差 |
|---|---|---|---|---|---|---|
| SOC | 1440 | 12 | 26 | 0 | 99.2% | 1.9% |
| 有功功率 | 1440 | 8 | 18 | 0 | 99.4% | 1.2% |
| 单体电压 | 8640 | 35 | 60 | 12 | 98.8% | — |
| 温度 | 1440 | 3 | 9 | 0 | 99.6% | 0.8℃ |