Datawhale AI 夏令营社市场博弈第三弹:

时间存在的意义就是就是任何事都不可能立刻实现——阿尔伯特•爱因斯坦

序言

第三次打卡开启,第三弹笔记随之而至~

还是老朋友,更多详情可以看Datawhale的baseline文档:https://linklearner.com/activity/12/2/14

看到baseline中的强化学习和时间序列挖掘比较感兴趣,接下来将针对这两个方法做一些简单的分析。

时间序列挖掘

什么是时间序列挖掘?

第14章 挖掘时间序列数据 - 《Data Mining》中文版 (dm-trans.github.io)

时间序列挖掘是数据挖掘的一个分支,它专注于从时间序列数据中提取有价值的信息和知识。大部分模型都可以分为以下两种类型:

实时分析:在实时分析中,实时分析一个或多个序列中的数据点,进行预测。 通常,在不同的数据流上使用近期历史的小窗口进行分析。 这种分析的例子包括预测,偏差检测或事件检测。 当多个系列可用时,通常以时间同步的方式分析它们。 即使在诸如聚类的数据挖掘应用被应用于这些问题的情况下,分析通常也是实时进行的。

回顾性分析:在回顾性分析中,时间序列数据已经可用,随后进行分析。 数据库中不同时间序列的分析有时不会随时间同步。 例如,在ECG读数的时间序列数据库中,数据可能已经在不同时期记录。

当然,Task2中使用的EDA并不属于以上两种类型的任何一种。它可以被视为一个预处理步骤或一种探索性技术,帮助分析师更好地理解和熟悉时间序列数据的特点。

Baseline中对数据做了一些预处理,其中比较重要的就是特征工程,附代码:

train_data["hour"] = electricity_price.index.hour
train_data["day"] = electricity_price.index.day
train_data["month"] = electricity_price.index.month
train_data["year"] = electricity_price.index.year
train_data["weekday"] = electricity_price.index.weekday
# 根据月份信息,判断是否为风季(1-5月和9-12月),创建布尔型 "is_windy_season" 列
train_data["is_windy_season"] = electricity_price.index.month.isin([1, 2, 3, 4, 5, 9, 10, 11, 12])
# 根据小时信息,判断是否为低谷时段(10-15点),创建布尔型 "is_valley" 列
train_data["is_valley"] = electricity_price.index.hour.isin([10, 11, 12, 13, 14, 15])
train_data["quarter"] = electricity_price.index.quarter
# 对时间特征进行独热编码(One-Hot Encoding),删除第一列以避免多重共线性
train_data = pd.get_dummies(
    data=train_data,        # 需要进行独热编码的 DataFrame
    columns=["hour", "day", "month", "year", "weekday"],  # 需要独热编码的列
    drop_first=True         # 删除第一列以避免多重共线性
)

强化学习

如果大家对强化学习懵懵懂懂,也欢迎查看datawhale的教程:https://github.com/datawhalechina/easy-rl

ABM与强化学习的理念非常相像,agent通过策略与环境数据的交互进行分析,生成更精准的判断。当然,这也是本次赛题最困难的地方之一。需要分析的数据时间量太长,涉及的分析体量过大,仅靠task1中的边际定价很难实现复杂的行为分析。在baseline中也提到了两种算法:

  • Wolf-PHC(Win or Learn Fast - Policy Hill Climbing)

  • A3C(Asynchronous Advantage Actor-Critic)

欢迎大家自行查阅(真的是有点复杂)

最后简单写点总结~

这次的赛道虽然可以是说和我的专业领域完全不搭嘎,涉及到很多经济学领域的模型和思路,但是也坚持到了最后,对ABM与时间序列有着更深刻的了解

  • 8
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值