R语言对用电负荷时间序列数据进行K-medoids聚类建模和GAM回归

news/2024/5/2 21:38:57/文章来源:https://blog.csdn.net/tecdat/article/details/128066898

通过对用电负荷的消费者进行聚类,我们可以提取典型的负荷曲线,提高后续用电量预测的准确性,检测异常或监控整个智能电网(Laurinec等人(2016),Laurinec和Lucká( 2016))。第一个用例通过K-medoids聚类方法提取典型的电力负荷曲线。

最近我们被客户要求撰写关于电负荷预测的研究报告,包括一些图形和统计输出。

 【视频】KMEANS均值聚类和层次聚类:R语言分析生活幸福质量系数可视化实例

KMEANS均值聚类和层次聚类:R语言分析生活幸福质量系数可视化实例

,时长06:05

视频:R语言广义相加模型(GAM)在电力负荷预测中的应用

拓端tecdat:R语言广义相加模型(GAM)在电力负荷预测中的应用

有50个长度为672的时间序列(消费者),长度为2周的耗电量的时间序列。这些测量数据来自智能电表。

维数太高,会发生维数的诅咒。因此,我们必须以某种方式降低维度。最好的方法之一是使用时间序列表示,以减少维数,减少噪声并提取时间序列的主要特征。

对于用电的两个季节性时间序列(每日和每周季节性),基于模型的表示方法是提取典型用电量的最佳方法。

让我们使用一种基于模型的基本表示方法- 平均季节性。在此还有一个非常重要的注意事项,对时间序列进行归一化是对时间序列进行每次聚类或分类之前的必要步骤。我们想要提取典型的消耗曲线,而不是根据消耗量进行聚类。

维数上已大大降低。现在,让我们使用K-medoids聚类方法来提取典型的消耗量。由于我们不知道要选择合适的簇数,即先验信息,因此必须使用验证指数来确定最佳簇数。我将使用Davies-Bouldin指数进行评估,通过Davies-Bouldin指数计算,我们希望找到其最小值。

我将聚类数的范围设置为2-7。

让我们绘制评估的结果。

聚类的“最佳”数目是7。

我们绘制有7个聚类的聚类结果。

我们可以看到5个典型的提取轮廓 (簇的中心)。接下来的两个簇可以称为离群值。

现在,让我们尝试一些更复杂的方法来提取季节 GAM回归系数。 我们可以提取每日和每周的季节性回归系数 。 

## [1] 50 53

由于GAM方法中使用样条曲线 。让我们对数据进行聚类并可视化其结果。

让我们绘制 评估的结果。

聚类的最佳数目为7。让我们绘制结果。

提取的消费数据比平均季节性数据更平滑。 现在,K 中心提取了4个典型的轮廓,并确定了3个簇。

我展示了一些自适应表示的聚类结果,让我们以DFT(离散傅立叶变换)方法为例,并提取前48个DFT系数。


dim(data_dft)
## [1] 50 48

让我们绘制评估的结果。

我们可以在4个簇中看到“肘部”。

这些结果可以较好解释。因此,基于模型的时间序列表示在此用例中非常有效 。

建议在每天的时间序列中使用与FeaClip一起的窗口方法。最大的优点是不需要与FeaClip方法一起进行标准化。 

dim(data_feaclip)
## [1]  50 112

  

让我们绘制评估的结果。

我们可以看到现在出现了2个“肘部”。最大的变化是在2到3之间,因此我选择3。

块未命名块17的图

可分离性好于DFT。但是也可以检查具有不同数量聚类的其他结果。

结论

在本教程中,我展示了如何使用时间序列表示方法来创建用电量的更多特征。然后,用时间序列进行K-medoids聚类,并从创建的聚类中提取典型的负荷曲线。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_37792.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

使用vue脚手架快速搭建vue 2项目

简单了解vue-cli 官网地址:https://cli.vuejs.org/zh/guide/browser-compatibility.html 前提 1.安装node(js代码的运行环境)、npm; 2.全局安装vue-cli; 命令创建项目 vue create hello-word 等待项目创建成功即可 开发工具打开刚刚创建的项目 项目结构如图…

TMS Sphinx Alexandria Full Source

TMS Sphinx Alexandria Full Source 用于身份访问管理的TMS Sphinx Delphi框架,包括授权和身份验证。 TMS Sphinx允许您为多个应用程序实现单点登录(SSO):web、本机、移动或机器到机器API通信。它可用于通过登录表单、类似的用户界面和基于服务的身份验证…

Spring - BeanPostProcessors 扩展接口

文章目录PreBean的生成过程org.springframework.beans.factory.config.BeanPostProcessor 介绍ApplicationContext注册Bean PostProcessor源码解析AbstractApplicationContext#refreshAbstractApplicationContext#registerBeanPostProcessorsPostProcessorRegistrationDelegate…

[LeetCode周赛复盘] 第 92 场双周赛20221015

[LeetCode周赛复盘] 第 92 场双周赛20221015 一、本周周赛总结二、 [Easy] 6249. 分割圆的最少切割次数1. 题目描述2. 思路分析3. 代码实现三、[Medium] 6277. 行和列中一和零的差值1. 题目描述2. 思路分析3. 代码实现四、[Medium] 6250. 商店的最少代价1. 题目描述2. 思路分析…

77.【JavaWeb文件上传和邮件发送04】

JavaWeb(二十五)、文件上传1.准备工作2.实用类介绍3.思维导图:4.正戏开始5.完整代码(二十六)、邮箱发送1.邮箱发送的原理:2.服务器的原理3.下载两个jar包4.基本类:5.全部代码(二十七)、网站注册发送邮件实现(二十五)、文件上传 1.首先创建一个empty项目 2.配置project项目中的…

【配送路径规划】基于matlab遗传算法求解静态外卖骑手路径规划问题【含Matlab源码 2248期】

⛄一、遗传算法求解静态外卖骑手路径规划问题 1 模型假设 外卖配送的实际运行是一个复杂的过程, 受诸多因素影响, 为了建立调度模型, 本文做如下假设。 (1) 外卖配送更多的是服务特殊群体, 所以本文认为外卖配送是一种预约型配送, 即在进行调度安排前, 己经获取了所有顾客的地…

版本控制利器——changelog

问题描述 当前,我们项目需要进行版本的确定,人工审核代码已接近尾声,但为了防止后续继续出现该问题,我希望能够做到在每次push到master时,更新changelog 将每一个版本的commit记录下来,类似于下列 解决…

C++_串口编程_官方示例:监视通信事件

这是微软官方的一个例子,这个例子中,如果不做修改,那么他是可以异步运行的,会出现一个错误:官方也说了一下,但是不太好懂,我拷贝过来放在这里,作为参考。 如果无法立即完成重叠的操作…

【Canvas】js用Canvas绘制阴阳太极图动画效果

学习JavaScript是否兴趣缺缺,那就需要来一个兴趣学习,问一下有没有兴趣用Canvas画图呢,可以画很多有趣的事物,自由发挥想象,收获多多哦,这里有一个例子,如何用canvas画阴阳太极图动图效果&#…

【博客544】golang pprof性能调试:寻找memory瓶颈

golang pprof性能调试:寻找memory瓶颈 1、前置 pprof的使用与输出列解析看姐妹篇:golang pprof性能调试:寻找cpu瓶颈 2、引入pprof到程序中,以调试memory瓶颈 给程序加入: import _ "net/http/pprof"go…

【Android App】实现在线语音合成功能(使用云知声平台和WebSocket 超详细 附源码)

需要源码和Jar包请点赞关注收藏后评论区留下QQ~~~ 一、在线语音合成 虽然国产智能机大多集成了中文语音引擎,但是系统自带的语音工具无法满足商用要求,功能单一,所以势必引入第三方的语音引擎,依靠第三方提供的开发包统一支撑语音…

缓存穿透、缓存击穿、缓存雪崩及其解决方案

缓存(cache),大家都非常熟悉,几乎每个系统乃至整个计算机体系中都会用到。在分布式系统架构中,主要用于减轻数据库的压力,提高系统的响应速度和并发吞吐,即空间(内存)换时间。当大量的读、写请求…

2023年天津财经大学珠江学院专升本经济学专业课考试大纲

天津财经大学珠江学院2023年高职升本科专业课考试《经济学》考试大纲一、本大纲系天津财经大学珠江学院2023年高职升本科《经济学》课程考试大纲。所列考试范围出自郑健壮、王培才主编的教材《经济学基础(第二版)》,清华大学出版社&#xff0…

React - Ant Design4.x版本安装使用,并按需引入和自定义主题

React - Ant Design4.x版本安装使用,并按需引入和自定义主题一. 安装使用 antd二.antd 高级配置安装 craco,对 create-react-app 的默认配置进行自定义自定义主题安装 babel-plugin-import ,按需加载组件代码和样式Ant Design官网…

mycat-3-实战篇

1 总结: 1:用的表必须在mycat的配置文件中配置。 2:mycat默认分片策略中,都是针对表的主键,默认是id,如果主键不是id的,请去rule.xml自己复制一份修改 3: 2 注意细讲解 1:schem…

车辆大全和车牌识别系统毕业设计,车牌识别系统设计与实现,车牌AI识别系统论文毕设作品参考

功能清单 【后台管理员功能】 系统设置:设置网站简介、关于我们、联系我们、加入我们、法律声明 广告管理:设置小程序首页轮播图广告和链接 留言列表:所有用户留言信息列表,支持删除 会员列表:查看所有注册会员信息&a…

TypeScript开启

TypeScript是什么? typescript是以JavaScript为基础构建的语言,是一个Javascript的超集,可以在任何支持JavaScript的平台中执行,typescript扩展了JavaScript,并添加了类型。 注意:ts不能被js直接解析执行&…

27个超实用Chrome DevTools 调试技巧 source 全局搜索(持续更新)

谷歌开发者工具提供了一系列的功能来帮助开发者高效 Debug 网页应用,让他们可以更快地查找和修复 bug。在谷歌的开发者工具中,有非常多有用的小工具,但是很多开发者并不知道。通过这篇文章,我把我常用的那些高效 Debug 的 Chrome …

大数据(9f)Flink双流JOIN

文章目录概述开发环境使用状态列表实现 INNER JOIN(双流connect后CoProcessFunction)基于间隔的JOIN(Interval Join)基于窗口的JOIN(Window Join)概述 Flink双流JOIN可用算子或SQL实现,FlinkSQ…

Flutter 5 大本地数据库解决方案

Flutter 5 大本地数据库解决方案 原文 https://levelup.gitconnected.com/top-5-local-database-solutions-for-flutter-development-6351cd494070 前言 这里列出了最流行的数据库解决方案以及代码示例。 选择正确的数据管理系统对于提高效率和可 extension 性以及影响可用性和…