2. 发电量数据采集与预处理
发电量异常分析的第一步不是建模,而是把数据“接进来、对齐好、洗干净”。光伏电站的数据来源天然分散:SCADA 负责站级并网点与升压站遥测,逆变器提供直流侧与交流侧功率、效率、故障码,汇流箱给出组串电流与电压,气象站则记录辐照度、组件温度、环境温度、风速风向。四类数据的时间戳、采样周期、量纲和通信质量各不相同,若不统一处理,后续任何异常判断都会被“脏数据”误导。
一、四类数据源的接入特征
SCADA 通常通过 Modbus TCP 或 IEC 60870-5-104 采集,周期为 1~5 s,关键点包括并网点有功功率、无功功率、日发电量、总发电量、辐照度(若接入)。逆变器数据多经 RS485 或以太网汇聚,采样周期常见 1 min 或 5 min,字段有直流电压/电流、交流有功、日发电量、机内温度、状态字。汇流箱数据粒度更细,典型为 16 路组串电流、母线电压,周期 1~5 min,是定位组串失配、遮挡、断串的关键。气象站一般 1 min 输出总辐照度、散射辐照度、组件背板温度、环境温度、风速。
接入时先建立“点表映射”:把各设备的原始寄存器地址、数据类型(INT16/UINT32/FLOAT)、字节序、缩放系数、单位统一登记。例如某逆变器有功寄存器为 UINT16,缩放系数 0.1,单位 kW,则原始值 12345 表示 1234.5 kW。点表是后续清洗和量纲统一的依据,缺失点表会导致“数值对但含义错”的隐性错误。
二、时间对齐:把不同节拍的数据放到同一时间轴
时间对齐的核心是选择统一时间基准。工程上常以 1 min 或 5 min 为分析粒度,将高频 SCADA 降采样、低频气象站升采样。对齐前必须统一时区(建议全部转为 UTC+8 并标注),并处理夏令时、设备时钟漂移。常用方法有三种:
- 前向填充(ffill):适用于状态字、故障码等缓变量,但连续填充不宜超过 2 个周期。
- 线性插值:适用于辐照度、温度等连续物理量,插值区间不超过 5 min。
- 重采样聚合:对功率类高频数据取均值或积分,日发电量取末值减初值。
例如把 1 s 的并网点功率重采样为 1 min 均值:P_1min = mean(P_1s);日发电量则用 E_day = E_end - E_start,避免对功率直接求和引入积分误差。对齐后应检查时间戳是否单调递增、是否存在重复时刻、是否有跨天跳变。
三、缺失值的识别与处理
缺失值分三类:通信中断导致的整段缺失、设备重启导致的单点缺失、传感器故障导致的持续缺失。处理前先给每个点打质量码:0 正常、1 可疑、2 缺失、3 人工置数。对整段缺失,若时长小于 5 min 且前后趋势平稳,可用线性插值;若大于 15 min,应标记为无效,不参与发电量统计,避免“补出来的电量”。对单点缺失,优先用同型号相邻逆变器或同汇流箱相邻组串做横向参考。例如某汇流箱第 7 路电流缺失,可用同箱其余 15 路中位数替代,并记录替代标记。
四、异常值的判定与清洗
异常值判定要结合物理边界和统计边界。物理边界包括:辐照度 0~1400 W/m²、组件温度 -20~85 ℃、逆变器有功不超额定容量、组串电流不超短路电流。统计边界常用 3σ 或 IQR:对某逆变器 1 min 功率序列计算均值 μ 和标准差 σ,超出 μ±3σ 的点标记为可疑。但光伏功率本身随辐照度变化,直接对全天做 3σ 会误杀早晚低功率点,因此应按“同辐照度区间”分组统计,或改用“功率/辐照度”比值(即等效效率)做离群检测。
清洗动作要可追溯:删除、替换、标记三选一,并保留原始值。推荐做法是新增 value_clean 和 quality_flag 两列,原始 value_raw 不动。这样后续发现清洗过度时还能回滚。
五、可执行的清洗流程与检查清单
下面给出一份可直接落地的预处理流程,按顺序执行:
- 解析点表,统一量纲与单位,生成标准字段名。
- 统一时区为 UTC+8,检查时间戳单调性,去除重复时刻。
- 按 1 min 重采样,功率取均值,电量取末值减初值,辐照度取均值。
- 标记缺失:连续缺失 ≤5 min 线性插值;>15 min 置无效。
- 物理限幅:超出量程的点置为缺失并记录。
- 统计离群:按辐照度分箱计算等效效率,偏离中位数 ±20% 标记可疑。
- 组串横向比对:同汇流箱内电流偏离中位数 >15% 标记可疑。
- 输出清洗报告:缺失率、异常率、插值比例、无效时段清单。
完成上述步骤后,得到的是带质量码的分钟级数据集。它既是发电量异常分析的输入,也是判断“异常来自设备还是来自数据”的第一道防线。后续的 PR 计算、组串失配分析、逆变器效率对比,都建立在这份干净、对齐、可追溯的数据之上。