对用电负荷时间序列数据进行K-medoids聚类建模和GAM回归|附数据代码

简介: 对用电负荷时间序列数据进行K-medoids聚类建模和GAM回归|附数据代码


通过对用电负荷的消费者进行聚类,我们可以帮助客户提取典型的负荷曲线,提高后续用电量预测的准确性,检测异常或监控整个智能电网(Laurinec等人(2016),Laurinec和Lucká( 2016))点击文末“阅读原文”获取完整代码数据


第一个用例通过K-medoids聚类方法提取典型的电力负荷曲线。

相关视频

image.png

image.png


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

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

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

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



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




Kaizong Ye

拓端分析师



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

让我们绘制评估的结果。

74e31087a421a74c417d3cc2e43d186a.png

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

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

4cbc2765ef2a00170420930dbd35db8f.png

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

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

## \[1\] 50 53

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

让我们绘制 评估的结果。

dd7b8b959c13e72d6d4f1e61832dc265.png

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

9a5f15cfe2639a828bdc9eb0131c7e74.png

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

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

dim(data_dft)
## \[1\] 50 48

让我们绘制评估的结果。


e8e7797feed675d752c2d419f21e8129.png

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

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

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

 dim(data_feaclip)
## \[1\]  50 112

让我们绘制评估的结果。

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

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

结论

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




相关文章
|
Android开发 开发者
Android Split APK介绍
【2月更文挑战第5天】
|
运维 搜索推荐 数据安全/隐私保护
什么是C端 什么是B端 这里告诉你
C端产品早已将运营专业化,并细化到各维度的运营了,比如运营的工种可以细分为“活动运营岗、用户运营岗、增长裂变岗、内容运营岗”等等。
21017 0
什么是C端 什么是B端 这里告诉你
|
Ubuntu 定位技术 API
python 通过图片(原图)精确获取图片拍摄的位置,时间,设备等信息
python 通过图片(原图)精确获取图片拍摄的位置,时间,设备等信息
python 通过图片(原图)精确获取图片拍摄的位置,时间,设备等信息
|
1月前
|
人工智能 安全 数据可视化
不止是聊天!深度解析OpenClaw“养龙虾”:技能扩展与多Agent协作
本文围绕 OpenClaw “养龙虾” 展开,解析其技能扩展与多 Agent 协作机制。作为 LLM 执行中间层,它通过可插拔技能为 AI 拓展工具调用与操作能力,借助多智能体分工协作完成复杂任务。文章揭示 AI 从单纯对话向自主执行、协同工作演进的核心趋势,展现智能体工程化落地的关键路径。
1258 7
|
安全 关系型数据库 MySQL
|
机器学习/深度学习 算法 数据挖掘
【机器学习】在使用K-means聚类算法时,如何选择K的值?
【5月更文挑战第11天】【机器学习】在使用K-means聚类算法时,如何选择K的值?
|
Java 测试技术
一文读懂如何用Java编写单元测试用例?
一文读懂如何用Java编写单元测试用例?
1407 0
|
人工智能 自然语言处理 安全
claude国内怎么用?教你两种claude国内使用方法!
Claude AI 是由 Anthropic 公司开发的一款新一代 AI 助手,旨在成为更安全、更友好、更可靠的 AI 系统。它基于 Anthropic 对 AI 安全性的深入研究,并采用 “Constitutional AI” (宪法式 AI) 的训练方法,使其行为更符合人类价值观,并减少有害输出的可能性。 🛡️
|
存储 API iOS开发
苹果手机iOS如何使用http代理
我们使用苹果手机访问网络时,有时候需要配置代理服务器。下面就来介绍一下。
苹果手机iOS如何使用http代理

热门文章

最新文章