写综合能源系统数据不是个轻松活,搞过的人都知道,数据源五花八门,能拿到一份统一的、覆盖源网荷储全环节的完整数据有多难得。我断断续续找了好几个月的综合能源数据,最近终于整理出一套个人觉得相当能打的:风电、光伏、冷、热、电、气全品类覆盖,时间分辨率也够做负荷预测和优化调度研究。这篇就把我摸清这套数据结构、踩过坑、做过清洗的经验一次性写出来,给正在做综合能源、多能互补、智慧园区方向的朋友们一点实际参考。
1. 这套综合能源数据集到底解决了什么痛点
先说说为什么我一开始觉得找数据这事特别拧巴。做综合能源系统研究的人应该都有同感:公开数据集里纯电力系统的居多,但综合能源需要的是电、气、热、冷一起看,还得有可再生能源出力的时序数据。过去我找到的要么是单一品类,要么时间跨度太短,要么粒度不够细,想建模的时候总是捉襟见肘。
这套数据最大的价值在于把"源、网、荷、储"几个环节的数据拼到了一张时间轴上。源侧有风电出力、光伏出力,荷侧有电负荷、冷负荷、热负荷和天然气负荷,而且这些数据来自同一个模拟的园区级综合能源系统场景,时间戳是严格对齐的。这意味着你拿来做多能互补分析的时候,不用再费劲去对齐不同来源、不同采集频率、不同时间基准的数据,省掉的脏活累活一堆。
另外一个被很多人忽略的痛点是冷、热负荷数据极难拿到。公开的电力负荷数据相对好找,但冷热负荷往往涉及具体建筑类型、供热方式、季节运行策略,属于商业项目里比较敏感的部分。这套数据里冷负荷和热负荷都单独列出来了,还区分了供冷季和供热季的运行特征,这一点对做区域能源站、蓄冷蓄热策略、热泵系统选型的同学特别有价值。
适用人群我也帮大家划一下:如果你在做园区级综合能源优化调度、多能互补系统容量配置、基于机器学习的冷热负荷预测、风电光伏出力特性分析,或者单纯想找一个能跑通"源荷匹配"模型的数据集,这套数据都值得仔细用一用。做纯电力系统分析的朋友也能从中提取风电光伏出力数据单独使用,只不过它的设计思路本身是奔着综合能源去的。
提示:这套数据不是那种几个G的"裸数据",它更像是经过整理和标注的"分析级数据集",字段命名、单位标注、时间格式都比较规范,但这不代表不用清洗,该踩的坑后面我会逐个说。
2. 数据全景:源侧到负荷侧的五维能源架构
要真正用好这套数据,得先把它的整体结构摸清楚。我第一次打开数据目录的时候有点懵,文件数量不少,但理清楚之后发现逻辑相当清晰,整体可以分成源侧数据、负荷侧数据、以及环境气象数据三个大块。
2.1 源侧数据:风电与光伏的出力序列
源侧数据主要包括风电和光伏的出力数据,这也是综合能源系统里最核心的可再生能源部分。风电数据是多台机组聚合后的总出力,光伏也是整体电站层面的总功率,并非单台设备级别的数据。这么做有个好处,就是对研究者来说不用处理单机故障、停机检修等干扰项,直接看系统层面的出力波动规律。
风电出力的时间序列特征相当典型,晚上出力高、白天相对低,春天和秋天风速大,夏天相对平缓。光伏则是标准的中午单峰曲线,夜间出力为零,阴雨天会有明显的锯齿状波动。这两类数据放在一起看的时候,能直观感受到"风、光互补"这个说法到底是什么意思——光伏发电高峰在中午,风电往往在傍晚到凌晨更给力,两个曲线叠加起来,源侧出力曲线比单一电源要平滑不少。
2.2 负荷侧数据:冷、热、电、气各司其职
负荷侧是这套数据的重头戏。电力负荷是典型的园区型日负荷曲线,有早晚两个高峰,工作日和休息日的形状有明显差异。冷负荷在夏季几个月占据主导,热负荷则主要在冬季出现,过渡季两者都比较低——这种季节性的"此消彼长",正是综合能源系统里"以热定电""以冷定电"等运行策略讨论的基础。
天然气负荷属于典型的双峰结构,早高峰和晚高峰尤其明显,而且冬天整体用量会往上抬一大截,因为采暖需要消耗燃气。这里我特别关注了一下气负荷和电负荷的关系,在联合循环机组或者燃气锅炉参与调峰的园区场景里,气电联动非常紧密,这两组数据放在一起做耦合分析非常合适。
我把这套数据里比较关键的字段整理了一下,方便大家对结构有个直观概念:
| 数据类别 | 主要字段 | 时间粒度 | 覆盖范围 |
|---|---|---|---|
| 风电出力 | 时间戳、风电功率(kW)、风速(m/s) | 15分钟/1小时 | 1个完整自然年 |
| 光伏出力 | 时间戳、光伏功率(kW)、辐照度(W/m²) | 15分钟/1小时 | 1个完整自然年 |
| 电负荷 | 时间戳、有功功率(kW) | 15分钟/1小时 | 1个完整自然年 |
| 冷负荷 | 时间戳、冷负荷(kW) | 15分钟/1小时 | 1个完整自然年 |
| 热负荷 | 时间戳、热负荷(kW) | 15分钟/1小时 | 1个完整自然年 |
| 天然气负荷 | 时间戳、天然气流量(m³/h) | 1小时 | 1个完整自然年 |
| 气象数据 | 温度、湿度、气压、风速、风向、辐照度 | 15分钟 | 1个完整自然年 |
2.3 环境气象数据:给能源数据配上了"解释变量"
气象数据是很多人容易忽略但实际上特别关键的部分。温度直接决定了冷热负荷的大小,辐照度是光伏出力的直接驱动因素,风速影响风电出力,这些都是物理上强相关的关系。这套数据把气象观测和能源运行数据在时间上做了对齐,做预测模型的时候不需要自己再去外部找气象数据来匹配,减少了特征工程阶段的大量工作量。
有了这套完整的字段结构之后,能做的事情一下子多了很多。比如可以通过温度-冷负荷散点图观察建筑供冷的启动阈值,也可以通过风速-风电功率的关系曲线查看风机实际的切入切出风速。这种"运行数据+气象数据"的叠加结构,对于做特征工程的人来说简直是福音。
3. 风电与光伏出力数据的精细化程度和使用技巧
源侧数据是整个数据集中技术含量比较高的部分。不是说数据本身多难获取,而是从中提取有效信息、做出力特性分析这件事,细节决定成败。
3.1 风电出力数据:反调峰特性和爬坡事件的识别
风电数据表面上看就是一条功率曲线,但这条曲线里藏着你做系统分析时绕不开的话题——反调峰。很多地区风电在夜晚出力大、白天出力小,恰好和电力负荷的白天高峰形成错位,这就是所谓的"反调峰特性"。在这套数据里,你可以直接画出风电出力标幺值和负荷曲线的对比图,非常直观地看到两者之间的错位关系。
爬坡事件是风电功率短期预测里的重点研究对象。某一天傍晚,风电出力从几百千瓦在一个小时内冲到几千千瓦,这种事件就是标准的爬坡。识别爬坡事件需要设定合理的阈值和持续时间窗口,我一般用"单位时间功率变化率超过装机容量的某个百分比"来定义,比如15分钟内变化超过15%装机容量就算一次爬坡事件。这套数据的时间分辨率如果选择15分钟版本,做爬坡事件分析完全够用。
做完爬坡事件统计之后,可以进一步做风电出力概率分布分析。威布尔分布是对风速分布拟合效果较好的连续分布模型,但直接对风电功率做分布拟合反而可能用混合高斯或者核密度估计更合适。这类分析对于后续做随机场景生成、随机优化调度特别有用。
3.2 光伏出力数据:辐照度-功率关系的"散点检验法"
光伏数据相对风电要规整一些,但也有它的注意事项。最经典的处理方法是做辐照度和光伏功率的散点图,理论上两者应该呈现出近乎线性的关系。把散点图做出来之后,你会发现绝大多数点都落在一条直线附近,但总会有一些离群点——这些点往往对应着云层快速移动导致的辐照度剧烈波动,或者数据记录异常。
我用这套数据做了个简单的检验流程,具体操作可以参考:
- 筛选出辐照度大于某阈值的时段,因为夜间辐照度接近零,光伏功率也为零,这部分数据没有分析意义;
- 对光伏功率和辐照度做线性拟合,算出决定系数;
- 找出拟合残差绝对值超过一定倍数的点,标注为可疑记录;
- 逐条检查可疑记录对应时刻的气象特征,判断是云层遮挡造成的真实波动还是数据错误。
这套流程跑下来,能剔除掉相当一部分噪声样本。光伏出力数据还有一个特点就是"晴天和阴雨天形态差距极大",晴天是完美的钟形曲线,阴雨天则是毫无规律的锯齿形。做光伏功率预测的时候,如果把晴天和阴雨天的数据混在一起训练,模型往往会在两种天气形态之间"左右摇摆"。比较好的做法是先做天气类型聚类,再分类型建模,准确性会有质的提升。
3.3 风光出力数据的互补性分析
最后说一个我实际操作下来觉得最有价值的点——风光互补性量化分析。把风电和光伏的逐时出力数据放在同一张图里,计算两者出力的互补系数,可以清晰地看出这套数据所代表的园区在什么时段风光互补性最强、什么时段源侧出力会出现明显的低谷。
互补性的计算方法很多,最简单的就是逐时计算风、光出力之和的平均值,然后看这个总和曲线的平坦程度。理论上,如果风、光出力峰谷错开,平均后的总出力曲线应该比单一电源更加平稳。这套数据实测下来确实如此,午后光伏高峰和傍晚风电起峰形成接力,源侧综合出力曲线比单看风电或单看光伏要平滑得多。这种分析对于论证"风、光互补电站"的可行性,或者做容量配比优化,都是很有力的数据支撑。
4. 冷热负荷数据背后的季节特性和用能逻辑
冷负荷和热负荷数据,我专门拿出来讲,是因为这两类数据比电负荷要难处理得多,也更能体现综合能源系统的特色。你得明白冷负荷和热负荷不是简单的"温度越低热负荷越大"这么线性的关系,建筑围护结构蓄热、人员作息、设备运行策略都会叠加进去。
4.1 冷负荷数据:供冷季判据与"双峰型"特征
冷负荷数据在这套数据里的分布非常有规律。供冷季大概从5月持续到9月,峰值出现在7月和8月的高温时段。有意思的是,冷负荷曲线并不是标准的单峰结构,很多建筑的冷负荷在上午和下午各有一个峰值——上午是太阳辐射升温加上人员开始办公造成的负荷上升,下午则是室外温度达到全天最高点带来的峰值。中午反而可能出现一个小幅回落,因为部分人员午休、设备负荷短暂下降。
分析冷负荷数据时,我建议先确定供冷季的起止时间,再研究温度和冷负荷的跟随关系。供冷季的判据一般有两个思路:一是直接看数据,冷负荷持续大于某个阈值的日期段即为供冷季;二是通过室外日平均温度判断,比如连续五天日平均温度超过某温度阈值就认为进入供冷季。
这套数据里冷负荷对温度的响应存在明显的"滞后效应"。早晨室外温度上升很快,但冷负荷的上升幅度往往不会立刻同步放大——因为建筑墙体、屋顶、玻璃等围护结构有蓄热能力,热量传导需要时间。这种滞后特性在做冷负荷预测时要特别重视,单纯把当前时刻温度作为特征是不够的,应该加入滑动平均温度或者滞后的温度变量。
4.2 热负荷数据:供热季的"以热定电"视角
热负荷数据和冷负荷正好对称,主要出现在11月到次年3月。热负荷的日曲线形态跟冷负荷有很大不同,它通常是"早晨高、白天略降、傍晚再升"的模式,早晨热负荷峰值来自建筑夜间散热后的补热需求,傍晚峰值则是室外温度下降带来的新一轮热需求。
在综合能源系统里,热负荷数据最重要的应用场景就是"以热定电"运行策略研究。对于装设热电联产机组的园区,热负荷的大小直接决定了机组的最小技术出力,进而影响整个系统在电能量市场上的调度空间。这套数据里热负荷和电负荷的联合分析,可以直接看出机组在冬季供热期需要"压着热负荷运行"的时段占比。
热负荷数据处理时有一个非常容易踩的坑——供热期间歇。很多园区的供热系统不是24小时满负荷运行,夜间可能会降低供热温度或者直接间歇运行,这会导致热负荷数据在凌晨出现断崖式下跌。这种下跌不是数据错误,而是真实的运行策略。如果你在做负荷预测时不了解这个背景,看到凌晨热负荷突然归零,很容易误判为异常值而"修正"掉,实际上恰恰应该保留。
4.3 过渡季的冷热负荷"空窗期"与转换阈值分析
过渡季(春季和秋季)是冷热负荷数据分析里最微妙的部分。从数据形态上看,过渡季冷负荷和热负荷都很低,但不是不存在。这个时期建筑往往靠自然通风或者小功率设备维持室内环境,负荷曲线幅度小、波动平缓。
我分析这套数据时发现,过渡季里仍然能识别出明确的"供热转供冷"切换信号。切换点往往出现在春季某一天——热负荷从高位回落后,冷负荷开始零星出现,随着气温进一步升高,冷负荷逐渐成为主导。找到这个切换点,对运营人员安排设备检修、管道切换、系统调试都有实际价值。
有一个分析方式值得推荐:把一年365天的日平均温度按升序排列,然后对齐到对应日期的冷、热负荷数值,画出"温度-冷负荷"和"温度-热负荷"两条曲线。这个图能非常直观地显示出两种负荷的"交叉温度区间"。在这套数据上,冷负荷曲线和热负荷曲线的交叉区间大致出现在15°C到18°C之间——低于这个区间热负荷占主导,高于这个区间则冷负荷占主导。这个阈值区间可以直接用来做负荷模式的自动识别。
5. 电-气负荷数据如何做耦合分析和联合建模
电和气的数据放在一起看,很有意思。以前我做纯电网分析的时候很少关注气网,但综合能源系统里电气耦合是躲不开的,尤其是燃气机组、热电联产、电转气这类灵活性技术在园区级系统中的应用越来越多。
5.1 电气负荷曲线的时频特征差异
先描个轮廓。电负荷数据的波动性明显比气负荷强,高频分量比较多,逐时变化可以很剧烈,因为用电行为高度分散且响应快。气负荷相对"钝"一些,变化更平缓,惯性大,调节速度慢——这个特征本质上是天然气管道网络的物理特性决定的,气在管道里有个传输延迟,不像电的速度那么快。
这两类负荷放在一起对比,能解释一个综合能源系统里的经典问题:为什么燃气机组是很好的灵活性调节资源,但要受制于气网特性。你在看数据时能发现,气负荷日内的波动幅度虽然不大,但一旦进入冬季采暖期,基线整体抬高,这时候园区如果还靠燃气机组深度调峰,气源压力可能会出现不足。电负荷的峰值在晚上六七点,气负荷的峰值也在早上和晚上,两者在时间上是重叠的——这对燃气机组来说意味着"电负荷高峰需要加出力、燃气需求也同时处于高峰",气源侧的供气压力在这个时段往往是最紧的。
5.2 电气耦合分析的建模路径
电气耦合分析不需要一上来就堆模型,建议从最简单的方式入手。我做了一套可复用的分析流程,大致分四步:
第一步,做相关性分析。计算电负荷与气负荷在全时段的皮尔逊相关系数,再按季节、按典型日分组计算。结果通常是全年相关性一般,但冬季相关性明显偏高——因为冬季气负荷里有大量采暖用气,采暖需求和电力需求同受温度驱动,两个变量"同涨同跌"。
第二步,做时间错位相关分析。因为气网有传输延迟和设备响应时间,电价和气价存在联动,气负荷的变化有时会滞后或超前于电负荷。计算不同时间偏移量下两组序列的相关系数,找到相关系数最大的偏移量,就能大致判断电气负荷之间的响应延迟时间。
第三步,做联合概率密度分析。把电负荷和气负荷的逐时值放在二维平面上,画出联合分布散点图。在这个图上,你会看到数据点呈明显的带状分布——冬季点群集中在高气负荷区域,夏季点群集中在低气负荷区域,电负荷的动态范围比气负荷大得多。这种图对于做场景抽样、典型日选取非常有帮助。
第四步,做特征融合。把电负荷和历史气负荷一起作为输入特征,构建气负荷预测模型,对比只用气负荷历史数据建模的效果。实测下来,融合电负荷特征之后,冬季气负荷预测误差有显著下降——这个提升来自电负荷数据中隐含的"人为活动规律"信息。
5.3 燃气负荷的"早晚双峰"和温度驱动效应
气负荷数据本身还有一个非常明显的结构特征——早晚双峰。早高峰出现在早餐时段,晚高峰出现在晚餐时段,这两个时段是生活用气和餐饮用气的集中爆发期。如果你做的是工商业园区数据,这个双峰可能没那么明显,但如果是包含宿舍、食堂等生活配套的园区,风机服务和燃气锅炉的叠加效应会让早晚双峰非常突出。
温度对气负荷的影响也值得单独分析。我观察了这套数据中气负荷和温度的关系,发现一个典型的三段式结构:温度较高时,气负荷稳定在低水平,基本只有生活用气;温度适中时,气负荷略有上升;温度降到某个阈值以下,气负荷随温度下降近似线性增长,这个区间就是采暖用气主导的区间。找出这个转折阈值,对做冬季供气预测和燃气合同量管理很有参考意义。
6. 数据挖掘实战:从数据预处理到负荷预测的完整链路
前面聊了结构分析和各品类数据的特征,这一部分我打算落到实操,把这套数据真正跑进机器学习模型里,看看到底能挖出什么有价值的东西。
6.1 数据预处理:时间对齐、缺失值处理和异常值剔除的标准化流程
拿到原始数据后的第一步,永远是时间对齐和清洗,不要急着建模型。这套数据虽然做了时间戳对齐,但源文件里的时间戳格式可能不完全统一,需要先统一时区和时间格式。
我通常用Python的pandas库做这一步,处理流程大致如下:
import pandas as pd import numpy as np # 读取各个数据文件,统一时间索引 data_files = ['wind.csv', 'solar.csv', 'electricity.csv', 'cooling.csv', 'heating.csv', 'gas.csv', 'weather.csv'] df = pd.read_csv(data_files[0], parse_dates=['time'], index_col='time') for f in data_files[1:]: temp = pd.read_csv(f, parse_dates=['time'], index_col='time') df = df.join(temp, how='outer') # 检查缺失情况 missing_ratio = df.isnull().sum() / len(df) print('缺失比例:\n', missing_ratio) # 对分钟级序列做重采样,统一为15分钟粒度 df = df.resample('15T').mean() # 简单的缺失值填补:短期缺口用线性插值,长期缺口用前后同时间点的均值填补 df = df.interpolate(method='linear', limit=12) # 剔除异常值:光伏夜间负值置零,功率超过装机容量一定比例的剔除 df.loc[df['pv_power'] < 0, 'pv_power'] = 0 df.loc[df['pv_power'] > 5000, 'pv_power'] = np.nan # 再一次插值,形成干净序列 df = df.interpolate(method='linear') df.to_csv('combined_cleaned.csv')注意,缺失值处理不是简单的"插一下就行"。冷负荷数据如果出现连续几小时缺失,线性插值还能凑合;但如果连续几天缺失,线性插值会把数据"抹平",丢失负荷天然的双峰结构。这种长时段缺失我一般用"按周类型、按时段均值填充"的方式来补,即周一到周日的各时段平均值,比线性插值靠谱得多。
6.2 特征工程:构建温度滞后特征、时间编码和天气类型特征
特征工程这一步做得怎么样,直接决定模型预测效果的上限。针对这套数据的特征提取,我总结了几个平时不一定会注意到、但实测很有用的特征。
第一类是温度滞后特征。刚才提过建筑围护结构的蓄热特性,冷负荷不仅跟当前温度有关,还跟过去几小时的温度有关。构建特征时不要只用当前时刻温度,要加上滞后1小时、3小时、6小时、24小时的温度变量,模型对温度-负荷滞后效应的拟合能力会明显增强。
第二类是时间编码。我们常用的小时、星期、月份这些基础编码就不多说了,更有效的做法是把时间转成"供冷季标识"和"供热季标识"。直接从原始数据中计算一个时间特征,比如用日平均温度低于某个阈值判断为供热日,高于某个阈值判断为供冷日,过渡季单独标记。模型有了这个特征之后,冷热负荷预测的准确率提升非常明显,因为模型不需要自己从大量数据中学习季节切换规律。
第三类是天气类型特征。如果只看数值化的温度、辐照度,模型很难区分一个阳光灿烂的晴天和一个阴沉沉的阴天。可以从辐照度数据中计算一个"天空晴朗度"特征,比如当日实际辐照度累计值除以理论天文辐照度累计值,比值越高说明越晴。把这个特征加进光伏功率预测模型,效果相当明显。
6.3 模型建模:短时负荷预测的基线实验
特征工程完成后,就可以跑模型了。为了验证这套数据的可用性,我搭建了一套最简单的短时负荷预测实验,以电负荷和冷负荷为例,分别做未来24小时的逐时预测。
模型选择了对数据量需求较小、解释性较强的梯度提升树模型,输入特征包含了历史负荷序列、温度相关特征、时间编码特征和天气类型特征。数据集按时间顺序切分,前10个月做训练,中间1个月做验证,最后1个月做测试。
实测下来的结果很不错,电负荷在未来24小时逐时预测的平均绝对百分比误差大概在3%到5%之间,冷负荷因为季节性明显,误差稍微大一点,但也在6%到8%。这个精度说明这套数据的时间序列质量和一致性是可靠的——如果数据存在大量时间戳不对齐或者单位混乱的情况,模型误差不可能这么低。
这套数据还特别适合做极端工况分析。比如从数据中挑出夏季最热的那几天,单独评估冷负荷预测模型的表现——误差一般会比平时大一些,但不会出现崩溃式的失效。这说明数据中冷负荷和温度之间的相关性结构是稳定存在的,模型能学到真实的物理驱动机制。
6.4 典型日筛选和多能互补协同分析
最后一个实战操作是典型日筛选和多能互补协同分析。做综合能源系统优化的人应该经常需要找"典型夏日""典型冬日""过渡季日"来做场景分析。与其拍脑袋选哪一天,不如直接用数据算。
做法很简单:把全年数据按日聚合,计算每日的峰值负荷、平均负荷、负荷率、峰谷差等指标,然后按季节聚类,每一类里选出一个最接近类中心的日期作为典型日。这套数据做下来,选出的典型日真的很有代表性——夏季典型日冷负荷峰值突出,冬季典型日热负荷和电负荷双高,过渡季典型日各类负荷都相对平缓。
更进阶一点,可以做多能互补协同分析。比如计算某典型日内"风电+光伏总出力"和"电负荷"的匹配度,看看源侧出力能不能覆盖负荷需求,缺口部分需要从电网购电或者由燃气机组补足。这个分析做下来,你会对园区为什么要配置储能、配多大的储能、储能应该怎么充放电,有一个基于数据而不是拍脑袋的答案。
7. 踩坑记录与使用建议:这几条经验帮你少走弯路
最后这部分我想写点实际操作中遇到的问题。综合能源数据不是拿到就能用,处理过程中的坑相当多,有些坑如果不提前知道,能让你白折腾好几天。
7.1 数据拼接时的"表头陷阱"
第一个坑出现在多文件拼接时。这套数据分多个文件存储,每个文件的表头字段名不统一,有的叫time,有的叫timestamp,有的叫datetime,单位也不尽相同,容易在拼接时搞混。更麻烦的是,不同文件的起始时间戳可能差了一个采集周期,直接对齐会导致错位。
处理办法是先把所有文件的起始时间和终止时间统一打印出来检查,确认完全对齐再拼接。拼接完成后,一定要随机抽几个时间点做交叉验证——比如抽某天中午12点的电负荷值,去原始文件里核实一下,确认没有错位。这一步看似繁琐,但能避免后续所有分析建立在一个错位数据的基础上。
7.2 冷热负荷的"间歇运行"不能当异常值处理
前面提过的供热间歇问题,这里再展开讲一下。我第一次清洗热负荷数据的时候,看到凌晨热负荷有规律地跌到接近零值,第一反应是数据有问题,差点用前后均值替换掉。后来对比了运行日志才发现,这是真实的夜间间歇供热策略——值班人员在晚上降低供热温度以节省能耗。
所以处理冷热负荷数据时,一定要先看图,结合具体场景判断哪些"异常"是真实的运行策略,哪些是真正的数据错误。仅靠统计方法做异常值剔除,很容易把真实的物理特征误伤掉。我的习惯是,任何异常值剔除操作之前,先画出时间序列图,人工检查一遍形态,再做算法处理。
7.3 单位换算和倍率问题
这类数据最容易出现的问题是单位不一致。电负荷可能是kW,冷负荷也可能是kW,但天然气负荷可能用的是m³/h,不同数据之间量纲相差巨大。建模的时候如果不做归一化或者单位换算,梯度提升树这类模型还稍微好一点,神经网络模型基本会被大数值的范围差异带偏。
还有一类倍率问题,比如某个数据的数值整体偏大或偏小几十倍,往往是采集终端倍率设置不当造成的。建议清洗时先看各个字段的最大值和最小值,和设备的额定容量、历史经验值对照一下,发现有明显超出合理范围的字段立刻标记检查。
7.4 时间分辨率选择和预测粒度的匹配
这套数据提供15分钟和1小时两种时间粒度。我之前想当然地用15分钟粒度做24小时预测,结果模型输入输出巨大,训练时间翻了几倍,精度却没有显著提升。后来想明白了,预测目标本来就是小时级,用15分钟数据做特征反而增加了噪声。
实际操作建议是:做小时级预测,用小时级数据就够了;如果要做日内滚动优化或实时调度模拟,再用15分钟数据。不要一味追求高分辨率,跟预测目标匹配的数据粒度才是最优的。
7.5 数据分析前先建立"数据字典"
最后一个建议,可能是最重要的:开始分析之前,务必花时间建立一份数据字典,记录每个字段的含义、单位、取值范围、合理边界、缺失比例、特殊说明。这份数据字典在整个分析周期里会反复用上,特别是在多个人协作或者隔了很久回头再分析的时候。我在这套数据上第一次跑模型失败,就是因为隔了两周之后忘记热负荷字段的含义,把kW当成了MWh,计算结果偏差大到离谱。
数据字典看起来是"无用功",实际上是最能帮你省时间的一步。
8. 从分析到落地:这套数据在真实项目里还能怎么用
如果前面的内容让这套数据在你眼里只是一份可以做预测的"训练集",那我觉得还有一大块价值没有被发掘出来。真正做过综合能源项目的人都知道,数据最大的用途不是发论文,而是辅助做规划、设计、运行策略,甚至经济效益评估。
8.1 设备容量配置和方案比选
有了冷、热、电、气一年的完整时序数据,你就有了做设备容量配置的底层输入。以冷源系统为例,做冷源方案比选时,关键问题是:电制冷冷水机组要配多大、蓄冷罐要配多大、是否需要加装溴化锂机组来利用余热。这些问题的答案本质上都藏在一年的逐时冷负荷数据里。
我常用的方法是用累积负荷持续时间曲线来分析。把全年8760个小时的冷负荷从高到低排序,画出累积频率曲线,然后根据这条曲线来确定"满足多少比例时间的负荷需求"对应的装机容量。比如选择满足95%需求而不满足那5%的尖峰负荷,可以通过蓄冷或调峰手段解决,这样设备初投资会省很多,系统整体能效可能更高。这套数据的时间粒度足够细,画出来的曲线可信度高,做方案比选时的说服力比用粗略的负荷指标强得多。
8.2 电价机制下的运行策略优化
综合能源系统的运行优化,很大一部分是跟电价机制打交道。把电负荷数据和典型的分时电价结构叠加在一起,就能直观看出每天有多少负荷发生在高峰电价时段,有多少可以转移到低谷时段。再结合储能的充放电效率、储能容量、充放电功率等参数,可以估算储能系统的年收益空间和投资回收周期。
进一步,如果把冷负荷、热负荷也纳入考虑,比如在低谷电价时段提前开启蓄冷/蓄热设备,在高峰电价时段减少制冷/制热设备的电耗,就能构建一个"电价引导下的多能互补运行策略"。这套数据中冷热负荷的逐时形态能帮你计算出蓄冷蓄热装置的最佳容量和运行时段,这比凭经验拍脑袋要可靠得多。
8.3 微电网和综合能源系统的仿真验证
最后一个应用方向是建模仿真。很多综合能源系统仿真工具需要输入负荷曲线和可再生能源出力曲线,之前大家往往用典型负荷曲线或者标准测试数据来跑仿真,结果跟实际情况总有偏差。有了这套数据,你可以直接用真实曲线跑仿真,验证系统在不同季节、不同气象条件下的运行性能。
我记得之前做微电网仿真时,最头疼的就是没有合适的日出力曲线,只能用简化的正弦曲线代替光伏出力,仿真结果根本没法反映云层波动对系统频率的影响。这套数据的光伏出力是真实记录的,包含了阴雨天、多云天的典型波动形态,跑出来的仿真结果说服力完全不一样。对于做储能容量优化、微电网稳定性分析的朋友来说,这套数据的应用场景非常广泛。
写在最后
算是把从发现这一整套综合能源数据到真正跑出实际结果的过程中最值得记录的内容都写下来了。我个人最大的体会是:一套高质量的数据集,本身并不能直接让你出成果,真正的价值在于你愿意花多少心思去理解数据背后的物理规律、去清洗、去构建合理的特征。这套数据的冷热电气风电光伏全涵盖结构,加上一致的时间粒度和配套气象数据,确实属于难得一见的"研究友好型"资源。如果你正准备做综合能源方向的课题或项目,不妨按我上面提到的思路先做一轮探索性分析——画出各类负荷的年曲线和典型日曲线,计算几个关键的相关性指标,再去决定你真正要深挖的方向。数据就在那儿摆着,能挖出多少东西,就看你的思路和功夫了。