在本次夏令营中,需要学习的是ABM(Agent-Based-Modeling)这一简洁而有趣的建模复杂世界的方法。
> 学习如何结合博弈论、市场经济、时间序列挖掘等知识,帮助解决复杂的电力现货市场定价问题,体验计算社会科学的神奇之处。
赛题背景
此次比赛主要针对“电力现货市场”(可以类比证券交易市场),泛指短时间内的电能量交易市场。
市场中有大量发电机组(供给者,会发电并卖出电力)按照交易规则,在指定的平台上采取集中竞价的方式确定电能的交易量和价格。这些电能会被输送给个体户、商业用户等,从而利用市场机制实现资源优化配置。
在最理想的情况下,市场完全竞争(市场参与者众多,以至于没有任何一方能够影响价格,不存在控制价格的可能性),没有任何博弈行为。每个发电机组都诚实报价,市场出清价格稳定可靠,达到最优效率。
因此,本次比赛要求针对电力现货市场价格和市场博弈主体(549个发电机组)的信息,用ABM方法建模这些机组在报价上的博弈行为,使最终模拟的市场出清报价接近现实中的市场出清价格。
赛题数据
electricity price.csv
:电力市场的市场出清价格,市场需求等信息。
unit.csv
:存放市场供给者(各发电机组)的参数信息。
比赛任务
比赛本质是一个回归(预测目标为连续值,例如根据年龄预测身高)问题,需要预测2023年7月1日到2024年4月18日每15分钟的市场出清价格。
注:比赛方称期待参赛成员使用ABM模型建模获取市场出清价格。
Task1: 跑通Baseline1
Baseline1本质上并不复杂,是将赛题数据进行了预处理后,用ABM进行运算。
当然,ABM是后面要研究的东西,这里先研究预处理。
对electricity price.csv
文件,
将time一栏的24:00转化成00:00并将日期加一。
筛选出clearing price一栏存在的数据。
将这些数据格式化成需要的样式。
对unit.csv文件,
根据实际成本进行升序排序,力求找出低成本的对象。
这之后,就是利用ABM对预处理好的数据进行操作了。