分享
Task2:时间序列挖掘+ABM构建学习
输入“/”快速插入内容
💹
Task2:
时间序列挖掘+ABM构建学习
2024年7月17日创建
7334
9331
6
0
💡
教程贡献者说:
前面我们介绍了
基本的赛题理解和背景知识,以及一些ABM基础概念,并提供了一键可运行的Baseline。相信大家都已经跑出了自己的第一个分数,并且急切想提分冲刺前排了。
本次比赛具有自身的特殊性,既可以用时间序列解决,也可以尝试使用赛方推荐的ABM,因此在这里我们尝试挖掘更多时序上的信息,帮助找到更多提分点。
此外,这里还会深入介绍ABM模型的构建方法,借助实际的案例和代码实践,让大家感受到ABM的有趣之处,最后手把手带大家跑通一个经典ABM模型:玻尔兹曼财富模型:模拟现实中的财富不平等
话不多说,开始今天的学习吧( ^∇^)
深入理解赛题——探索性数据分析
📌
首先我们先介绍一下什么是EDA:
探索性数据分析(Exploratory Data Analysis, EDA)
是一组数据分析技术,旨在总结其主要特征,通常通过可视化手段来实现。EDA 的目标是通过数据的统计摘要和图形展示来
发现数据的结构、异常值、模式、趋势、关系以及变量之间的相互作用
。
现在的数据挖掘类比赛中,模型和方法选择空间往往很小,同时存在不少自动机器学习框架(如AutoGulon、AutoSKLearn)会基于一定规则,自动构造特征,采用尽可能多的模型组合来获得好分数。因此最后的
关键涨分点落在了对数据的理解上,并由此构造的强特征(对结果有关键影响的变量)。
因此在拿到一个数据集后,需要对数据做尽可能多的探索,了解数据所在的领域先验知识,数据本身的特性等,并总结为一系列有用的信息。
下面,就让我们对本次比赛的数据做进一步的探索吧(ง •̀_•́)ง。
T
ask2运行完不会输出submit,只提供了上分关键信息,需要根据EDA信息优化自己代码上分
由于篇幅限制没有黏贴代码在这里,但提供了EDA的代码和数据,可在下方下载:
请将electricity_price_parsed放在EDA.ipynb同级的data文件夹路径
EDA.ipynb
1.61MB
50%
electricity_price_parsed.csv
2.68MB
50%
基本信息
数据基本介绍已经在
从零入门AI for Science(AI+经济)
中,这里不再赘述。
进一步查看数据我们可以发现,
出清价格在一小时中是保持不变
的,也就是实际上交易时间是1小时而不是15分钟,但总负荷会在一小时中变化。
统计指标分析
其次我们从
单变量数值关系
入手,探究其统计指标的表现。具体来说可以关注(其中df是pandas的dataframe,
df[feature]
能够选中一行):
•
数据的集聚趋势
◦
均值:
df[feature].mean()
◦
中位数
df[feature].median()
◦
最大值
df[feature].max()
◦
最小值
df[feature].min()
◦
众数
df[feature].mode()