当前位置:   article > 正文

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

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

原文链接:http://tecdat.cn/?p=4146


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

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

相关视频

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

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

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

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

546123229c4e29b3d340d98a7b3b2984.png

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

4f7bc400688ff39af51d9ed88a6c3e8a.png

Kaizong Ye

拓端分析师

1ab2b146cb6b8b2104bcb92a24c1bab2.png

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

让我们绘制评估的结果。

07a0631fc6221ed8e68815168fc81faa.png

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

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

ad03e75a3197304ec8d8c41587c20da9.png

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

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

## \[1\] 50 53

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


点击标题查阅往期内容

b4c77899da5c6f017b90e9468d6d5b89.jpeg

Python用广义加性模型GAM进行时间序列分析

outside_default.png

左右滑动查看更多

outside_default.png

01

a6ccf78c330395f9608482761315e571.png

02

f422ed43459d026f8d72702206eb9798.png

03

15848a71d37225174c494800bc326c28.png

04

b6ca6899500d9eda34306629450be94e.png

让我们绘制 评估的结果。

e9884a1ac8745d676fc4dab6054c4899.png

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

c34cb5c558b2d5fe9d143fd9112b17fb.png

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

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

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

让我们绘制评估的结果。

8fceb86bdf7bfc4340353253dbc9a9ef.png

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

8b45a075a87c119b9b2f5aa630f2a0d3.png

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

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

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

让我们绘制评估的结果。

8fee0a17d793bf44f9953ab04e225daa.png

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

3ff4da371201b84f01f612a89bdece92.png

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

结论

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


5d750d12e9f83fd1162c801e66ad440c.jpeg

本文摘选对用电负荷时间序列数据进行K-medoids聚类建模和GAM回归,点击“阅读原文”获取全文完整资料。

35c4e8426d0822a094a34b1d495d7a0a.jpeg

ea9a0ac4b9d7f5cf79369510d631cde9.png

点击标题查阅往期内容

分位数回归、GAM样条曲线、指数平滑和SARIMA对电力负荷时间序列预测

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

R语言里的非线性模型:多项式回归、局部样条、平滑样条、 广义相加模型GAM分析

R语言用标准最小二乘OLS,广义相加模型GAM ,样条函数进行逻辑回归LOGISTIC分类

R语言ISLR工资数据进行多项式回归和样条回归分析

R语言中的多项式回归、局部回归、核平滑和平滑样条回归模型

R语言用泊松Poisson回归、GAM样条曲线模型预测骑自行车者的数量

R语言中的多项式回归、B样条曲线(B-spline Curves)回归

R语言广义相加模型 (GAMs)分析预测CO2时间序列数据

R语言中实现广义相加模型GAM和普通最小二乘(OLS)回归

在r语言中使用GAM(广义相加模型)进行电力负荷时间序列分析

R语言用泊松Poisson回归、GAM样条曲线模型预测骑自行车者的数量

Python用广义加性模型GAM进行时间序列分析

R语言广义线性模型GLM、多项式回归和广义可加模型GAM预测泰坦尼克号幸存者

R语言中的广义线性模型(GLM)和广义相加模型(GAM):多元(平滑)回归分析保险资金投资组合信用风险敞口

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

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

eefe07d8e2c7fe40bf88905cbf9bd616.png

8cc7d9187cf23d1ee86ae72987726091.jpeg

dd6744bb10a0c9e01367cda7700e0468.png

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/羊村懒王/article/detail/584367
推荐阅读
相关标签
  

闽ICP备14008679号