登录注册
请使用微信扫一扫
关注公众号完成登录
我要投稿
枯藤老树昏鸦,小桥流水人家。语文老师给我讲这首诗的时候,说这个只是名词的堆砌,但给人一种直指内心的感觉。
——以上是这篇技术文章的核心思想。
(来源:微信公众号“兰木达电力现货”作者:王超一)
一.两种决策树的差异对比
在讲正题之前,先简要讲一下 scikit-learn(以下简称sklearn)决策树的主要实现逻辑。另外,这一块代码位于 sklearn/tree 目录下,而 ensemble 里的随机森林依赖 tree 目录代码。
首先,构造一棵决策树有两种逻辑,一种是深度优先搜索DepthFirstTreeBuilder,即每次找到最优的分裂节点,然后在左右子树中按同样逻辑构建;另一种是类似宽度优先搜索的贪心策略BestFirstTreeBuilder,之所以说是类似宽度优先搜索,是因为每次都找到当前的最优分裂,而不是按层分裂,即把宽搜用的队列换成优先级队列。用哪一种方式建树取决于是否指定了最大叶子节点数T,如果指定了就用BestFirstTreeBuilder,因为这样即使无脑搜索也是O(T2)复杂度,当然sklearn用了基于堆的优先级队列可以将复杂度降低为O(TlogT)。
其次,除了构建树的方法外,剩下的逻辑核心在于 Splitter, Splitter也保存了原始的X、y、 sample_weight,Splitter主要有4个方法:
1)init 方法,保存原始X、y、sample_weight,生成一个对样本(行)的索引表,并利用X和行索引表和一个特征的缓存数组生成一个Partitioner 对象;
2)node_reset方法,利用 y,sample weight和行索引构造 Criterion 对象,分类树的熵、基尼系数,回归树的MSE,MAE都是在这个Criterion的实现;
3)node_impurity方法,调用self.criterion.node_impurity计算一个节点的纯度,这个数越小越好;
4)node_split 方法,本方法是核心,有两个更基础的方法,分别为 node_split_best 和 node_split_random,这两个方法都调用了 Splitter、Partitioner、Criterion 3个对象,同时有很多性能上的优化,如在行索引上操作,对快速排序的优化,对常量特征的优化等。
上边这一段看不懂没有关系,大致就是说,sklearn用cython写了个树的构建,并把api暴露给python,然后每个关键点都有几种选择,这些一般都传入字符串参数,然后sklearn有内置的字典来找到对应的类,这些类用 Cython 实现来确保效率。
二.电力市场交易的优化目标是收益而不是偏差
问题在于,拿电力交易为例,我们最终的目标是收益最大化,一般来说这个收益取决于当前价格和未来价格之差,后文简称价差,如果我们构造一个回归树,y为价差,那么可以选择 MAE、MSE或其变种作为一个纯度的度量,这样就是把收益最大化问题转换为价差的回归了。这个数学建模的问题在于,虽然逻辑上更优的价差预测会带来更好的策略收益,但实践中也不绝对,有可能把MAE降低了,策略收益没有提高反而降低了。
能否给出一个直面目标函数(策略收益)的决策树呢?
首先,回过头再看一下决策树为我们提供了什么,决策树给出了一些条件下的样本集合,这些条件是分层的,可以定义这个样本集合的一个指标,代表这个分层好不好,即决策树是否恰当划分。那么这个指标就可以直接定义为这个集合下按照某种交易策略下的利润。
比如,我们有一种策略,只看预测价差的符号,不论价差大小,都申报同样多的电量,那么这个集合的利润就是所有价差之和的绝对值。
其次,还得重新实现proxy_impurity_improvement和children_impurity这两个方法,限于篇幅原因不再赘述。这里面有个坑,这个纯度即node_impurity 越小越好,那么我们利润最大化得乘以-1,然而在sklearn中,默认纯度为正数,我们开头讲的树构建过程中,如果纯度小于一个极小正数时认为当前节点已经是叶子节点了,所以得改树构建的逻辑,具体而言就是加上3个#注释掉3行即可。
经过这样的改造,在山东日前交易中,回测利润是MSE的3倍或更多。
接下来,我们更进一步,注意到我们这里要用-1倍的利润作为节点纯度,对新能源电站,计算利润需要更多的数据,比如装机容量、实际发电和预测发电,而实际发电在sklearn框架中是一个尴尬的存在。
我们不能把这个数值当做X,因为这个是个未来数据。然而在回归中,如果把这个数当做y,在代码逻辑上勉强能跑通,但会在代码中把真正的y与辅助性的数据混在一起,代码结构化变差,比如在predict会得到一个二维矩阵。所以我们尝试了修改 sklearn 的 api,分别给 BaseDecisionTree.fit、TreeBuilder.build、Splitter.init, Criterion.init 中增加相同的辅助计算节点纯度的参数,加上这个机制,就可以任意修改(节点纯度)目标函数了。
自定义的目标函数让我们可以直面交易利润,把价差预测的学习直接升级到交易策略的学习,然而,这也给我们提出了更高的决策树后处理要求,对策略的过拟合也得有更多的控制手段。
最后吐槽一下,Pycharm 对 Cython 的支持太差了,右边一堆红(提示代码错误),代码折叠也有问题,可能逼着我们去用 vs code 了。
特别声明:北极星转载其他网站内容,出于传递更多信息而非盈利之目的,同时并不代表赞成其观点或证实其描述,内容仅供参考。版权归原作者所有,若有侵权,请联系我们删除。
凡来源注明北极星*网的内容为北极星原创,转载需获授权。
加快建设全国统一大市场是畅通国内大循环、推动构建新发展格局的必然要求,也是释放内需潜力、巩固经济回升向好基础的重要抓手。省能源局深刻认识到构建全国统一大市场工作的紧迫性和必要性,多措并举,推动能源领域加速融入全国统一大市场。建制度,顶层推进。对标《国务院办公厅关于印发贯彻落实建设
北极星售电网获悉,湖北电力交易中心近日转发了湖北省能源局关于征求湖北省电力现货市场试运行相关规则意见的函。湖北省电力现货市场风险防控实施细则(V1.0征求意见稿)中提到,本细则适用于湖北电力现货市场的风险识别、评估和处置管理。电力市场风险包括电力供需风险、市场价格异常风险、电力系统安
北极星售电网获悉,湖北电力交易中心近日转发了湖北省能源局关于征求湖北省电力现货市场试运行相关规则意见的函。湖北省电力市场结算实施细则(V3.0征求意见稿)中提到,湖北电力市场结算由电力交易机构负责出具结算依据,电网企业负责电费结算,各市场主体保持与电网企业的电费结算收付方式不变。电力
北极星售电网获悉,上海电力交易中心发布关于转发现货结算试运行有关工作方案的通知,于11月14日-11月27日组织开展为期两周的电力现货结算试运行,期间选取一天进行实际结算。详情如下:关于转发现货结算试运行有关工作方案的通知各市场主体:按照政府主管部门部署,上海电力调度机构在上海电力交易平
北极星售电网获悉,湖北电力交易中心近日转发了湖北省能源局关于征求湖北省电力现货市场试运行相关规则意见的函。湖北省电力现货市场交易实施细则(V3.0征求意见稿)中提到,现阶段,参与现货市场的市场主体包括:(1)统调公用燃煤电厂及余量上网的统调自备燃煤电厂。(2)接入公用电网的集中式新能源
北极星售电网获悉,近日,上海电力现货市场实施细则(结算试运行2024年修订版)修订条款发布,其中提到,文件新增虚拟电厂、独立储能等新兴经营主体参与现货市场。虚拟电厂:通过先进的控制、计量、通信等技术和软件系统,实现分布式电源、储能系统、可调负荷等多种分布式资源的聚合和协同优化。独立储
北极星售电网获悉,近日,《上海电力现货市场第一次结算试运行工作方案》正式印发,根据上海电力现货市场建设实际情况,于2024年11月组织开展为期两周的结算试运行,并选择一天进行实际结算,其他试运行日开展模拟结算并出具模拟结算单。本次结算试运行时间定于2024年11月14日-11月27日。竞价日:11月1
11月4日至10日,新疆电力现货市场首次完成整周调电试运行,标志着新疆电力现货市场迈进关键一步。为做好本次整周调电试运行工作,国网新疆电力有限公司协同发电企业、电力用户、售电公司,利用自治区电力现货市场建设工作专班机制,集中研讨电力现货市场建设关键问题,细致开展调电试运行工作方案编制
北极星售电网获悉,江苏电力交易中心发布关于江苏电力现货市场第六次结算试运行经营主体市场注册、现货专项注册、入市等相关工作的通知,经营主体包括已参与江苏电力中长期市场交易的存量发电企业(不含参与绿电交易的光伏、风电)、一类用户、售电公司。拟首次参与本次现货结算试运行的统调新能源(风电
消纳问题从何而来?如何解开?(来源:微信公众号“能源新媒”文/武魏楠))10月15日,经历近1000天的实践检验,省间电力现货市场转入正式运行。这一从跨区域省间富余可再生能源现货交易起步的省间交易模式,从2022年1月开始试运行,有力地促进了省间电力互济、保供和清洁能源消纳。从中国开始大规模建
11月12日,内蒙古自治区政府新闻办举行“进一步全面深化改革着力推动内蒙古高质量发展”系列主题新闻发布会“深化能源领域改革做好现代能源经济这篇大文章”专场发布会。据介绍,今年3月内蒙古成为全国首个新能源装机突破1亿千瓦的省区,到年底将达到1.3亿千瓦以上,提前一年实现超过火电装机的目标。
加快建设全国统一大市场是畅通国内大循环、推动构建新发展格局的必然要求,也是释放内需潜力、巩固经济回升向好基础的重要抓手。省能源局深刻认识到构建全国统一大市场工作的紧迫性和必要性,多措并举,推动能源领域加速融入全国统一大市场。建制度,顶层推进。对标《国务院办公厅关于印发贯彻落实建设
北极星售电网获悉,湖北电力交易中心近日转发了湖北省能源局关于征求湖北省电力现货市场试运行相关规则意见的函。湖北省电力现货市场风险防控实施细则(V1.0征求意见稿)中提到,本细则适用于湖北电力现货市场的风险识别、评估和处置管理。电力市场风险包括电力供需风险、市场价格异常风险、电力系统安
北极星售电网获悉,湖北电力交易中心近日转发了湖北省能源局关于征求湖北省电力现货市场试运行相关规则意见的函。湖北省电力市场结算实施细则(V3.0征求意见稿)中提到,湖北电力市场结算由电力交易机构负责出具结算依据,电网企业负责电费结算,各市场主体保持与电网企业的电费结算收付方式不变。电力
北极星售电网获悉,内蒙古自治区能源局国家能源局华北监管局发布关于公开征求《内蒙古电力多边交易市场规则体系(征求意见稿)》意见建议的公告,《内蒙古电力多边交易市场规则体系(征求意见稿)》,包含“1+8”系列规则,即1个基本规则和8个实施细则。内蒙古电力多边交易市场准入注册实施细则(征求
北极星售电网获悉,海南电力交易中心11月14日发布关于规范电力市场交易行为的提醒函。其中提到,
北极星售电网获悉,湖北电力交易中心近日转发了湖北省能源局关于征求湖北省电力现货市场试运行相关规则意见的函。湖北省电力现货市场交易实施细则(V3.0征求意见稿)中提到,现阶段,参与现货市场的市场主体包括:(1)统调公用燃煤电厂及余量上网的统调自备燃煤电厂。(2)接入公用电网的集中式新能源
11月12日,四川电力交易中心联合四川省电力行业协会共同举办四川电力市场2024年发电企业信用评价培训会,旨在鼓励发电企业提升信用意识,引导发电企业规范交易行为,促进电力市场健康有序发展。省内85家发电企业共120余人参培。培训聚焦四川电力市场发电企业信用体系建设,从现阶段电力市场发电企业管
北极星售电网获悉,近日,昆明电力交易中心发布电力市场典型法律案件分析,其中提到了伪造公司印章、电力零售合同签订显失公平、中介合同履行等典型案例。详情如下:电力市场典型法律案件分析01伪造公司印章典型案例使用抠图软件将公司印章抠出并粘贴至合同文本中使用、伪造公司合同专用章,构成“伪造
北极星售电网获悉,福建能源监管办发布关于转发《国家能源局综合司关于进一步规范电力市场交易行为有关事项的通知》的通知,各经营主体应依法合规参与电力市场交易,自觉维护公平公正电力市场秩序,拥有售电公司的电网企业,不得利用自然垄断优势,通过主业资源协助开展、参与竞争性售电业务。拥有售电
北极星售电网获悉,近日,上海电力现货市场实施细则(结算试运行2024年修订版)修订条款发布,其中提到,文件新增虚拟电厂、独立储能等新兴经营主体参与现货市场。虚拟电厂:通过先进的控制、计量、通信等技术和软件系统,实现分布式电源、储能系统、可调负荷等多种分布式资源的聚合和协同优化。独立储
北极星售电网获悉,昆明电力交易中心发布关于电力用户规范参与电力市场的法律风险提示,详情如下:关于电力用户规范参与电力市场的法律风险提示各电力用户:随着电力市场建设的逐步深入,电力市场的法律纠纷持续增加。为了更好防范法律风险,昆明电力交易中心提醒各电力用户严格执行电力交易规则、规范
北极星售电网获悉,湖北电力交易中心发布关于收取2025年售电履约保函或履约保险事项的通知,明确提交标准及上浮比例。详情如下:
2024年10月,组织省内发电企业与售电公司(批发用户)、电网企业开展月度及月内电力直接交易成交电量11.37亿千瓦时,成交均价354.24元/兆瓦时。2024年累计开展省内发电企业与售电公司(批发用户)、电网企业电力直接交易成交电量1487.25亿千瓦时,成交均价382.35元/兆瓦时。2024年10月省内批发侧电力直
北极星售电网获悉,海南电力交易中心11月14日发布关于规范电力市场交易行为的提醒函。其中提到,
北极星售电网获悉,上海电力交易中心发布关于转发现货结算试运行有关工作方案的通知,于11月14日-11月27日组织开展为期两周的电力现货结算试运行,期间选取一天进行实际结算。详情如下:关于转发现货结算试运行有关工作方案的通知各市场主体:按照政府主管部门部署,上海电力调度机构在上海电力交易平
11月12日,四川电力交易中心联合四川省电力行业协会共同举办四川电力市场2024年发电企业信用评价培训会,旨在鼓励发电企业提升信用意识,引导发电企业规范交易行为,促进电力市场健康有序发展。省内85家发电企业共120余人参培。培训聚焦四川电力市场发电企业信用体系建设,从现阶段电力市场发电企业管
北极星售电网获悉,首都电力交易中心受理了异地推送业务范围变更的山西智邦能源集团有限公司、山东鑫瑜能源科技有限公司,共计2家售电公司的注册申请。公示期为2024年11月13日至2024年12月12日,时间1个月。详情如下:首都电力交易中心关于公示第八十批售电公司信息的通知依据《国家发展改革委国家能源
北极星售电网获悉,江苏电力交易中心公示2024年第一批(总第一批)受理注册虚拟电厂相关信息的公告。江苏电力交易中心受理了5家虚拟电厂提交的注册申请,对虚拟电厂提交的注册材料完成了资料条款和格式的校核工作,并通过了政府主管部门及监管机构的评估,现将企业名单及基本情况予以公示。公示期为202
北极星售电网获悉,安徽电力交易中心发布关于2024年10月华东调峰市场安徽购买调峰费用分摊情况公示的通知。根据华东能源监管局《关于修订印发华东电力调峰辅助服务市场运营规则的通知》(华东监能市场〔2022〕7号)及《华东能源监管局关于扩展华东电力调峰辅助服务市场交易至日内实施的通知》(华东监
北极星售电网获悉,甘肃电力交易中心发布关于2024年甘肃省电力用户与发电企业直接交易12月份第二批新增准入电力用户名单公示的通知,新增电力用户共91家。详情如下:
北极星售电网获悉,山东电力交易中心发布第九十八批售电公司注册公示结果的公告。山东电力交易中心于2024年10月12日至2024年11月11日对山东国研电力股份有限公司等8家售电公司的注册申请材料进行了公示。公示期间,市场有关方面未提出异议。根据《国家发展改革委国家能源局关于印发售电公司管理办法的
11月12日,随着鄂尔多斯市东胜铁西区923新区三回线、越山941万正路Ⅲ线配网改造工程项目顺利竣工,标志着内蒙古自治区首个县域配电网“零计划停电”示范区正式建成。内蒙古自治区首个县域配电网“零计划停电”示范区建设面积约1860平方千米,覆盖了鄂尔多斯市装备制造基地工业板块和鄂尔多斯动物园、九
请使用微信扫一扫
关注公众号完成登录
姓名: | |
性别: | |
出生日期: | |
邮箱: | |
所在地区: | |
行业类别: | |
工作经验: | |
学历: | |
公司名称: | |
任职岗位: |
我们将会第一时间为您推送相关内容!