首页 > 其他分享 >R语言对用电负荷时间序列数据进行K-medoids聚类建模和GAM回归|附代码数据

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

时间:2024-04-28 17:47:45浏览次数:28  
标签:medoids 提取 负荷 模型 GAM 聚类 序列 我们

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

原文出处:拓端数据部落公众号

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

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

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

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

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

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

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

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

让我们绘制评估的结果。

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

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

 

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

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

  text
## [1] 50 53

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

让我们绘制 评估的结果。

 

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

 

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

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

  r

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

让我们绘制评估的结果。

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

 

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

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

  r

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

  

让我们绘制评估的结果。

 

 

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

块未命名块17的图

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

结论

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


最受欢迎的见解

1.用SPSS估计HLM层次线性模型模型

2.R语言线性判别分析(LDA),二次判别分析(QDA)和正则判别分析(RDA)

3.基于R语言的lmer混合线性回归模型

4.R语言Gibbs抽样的贝叶斯简单线性回归仿真分析

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

6.使用SAS,Stata,HLM,R,SPSS和Mplus的分层线性模型HLM

7.R语言中的岭回归、套索回归、主成分回归:线性模型选择和正则化

8.R语言用线性回归模型预测空气质量臭氧数据

9.R语言分层线性模型案例

标签:medoids,提取,负荷,模型,GAM,聚类,序列,我们
From: https://www.cnblogs.com/tecdat/p/18164192

相关文章

  • Games 101: 旋转矩阵
    旋转矩阵本文主要介绍了旋转矩阵的推导,分为两种方式:旋转坐标旋转坐标轴以下坐标系都是右手坐标系旋转坐标已知坐标点\(A(x_a,y_a)\),旋转\(\theta\)角后变为坐标点\(B(x_b,y_b)\),求解旋转矩阵.\[{\large\begin{align*}\begin{split}x_a&=r_a\cdotcos(\alpha)=......
  • R语言银行信用数据SOM神经网络聚类实现可视化
    原文链接:http://tecdat.cn/?p=3231原文出处:拓端数据部落公众号  当今社会,“信用”越来越多的人们关注个人或企业,有望获得最高的信用评分,以享受更多的信贷额度,更优惠的利率。 那么我们如何评分信用,并使我们的客户可视化?自组织地图( SOM )是一种无监督的数据可视化技术,可用......
  • My Rhythm Game Journey
    我不是一个很老牌或者很强的音游人,入坑最早也就2022.2,但是我还是想在这里,记录一下我的进步史。ADanceofFireandIce(ADOFAI)(2022.2)最早是在B站上看到一些相关视频,然后就花了20来块买了下来(对于我而言当时还是很少paytoplay的),随便玩了玩,现在游戏时长刚刚200h。......
  • Games101:绕任意轴旋转
    Overview对于任意坐标\(S_1=(S_x,S_y,S_z)^T\),绕任意轴线\(\vec{n}=(n_x,n_y,n_z)^T\)旋转\(\alpha\)度,推导变换矩阵\(R(\vec{n},\alpha)\),使得变换后的坐标\(S_2=R(\vec{n},\alpha)\cdotS_1\)本文使用向量运算,推导该变换矩阵。注意:轴线经过坐标系原点基本公式以列向量表......
  • Pygame - Special Flags 文档翻译
    PygameSpecialFlags官方文档链接什么是SpecialFlags?​ SpecialFlags是一种控制如何将一个Surface绘制到另一个Surface的方法。它们可以用来创造视觉效果,如发光粒子,或执行表面掩蔽或操作。它们的使用方法如下:pygame.Surface.blit()pygame.Surface.blits()pygame......
  • 复杂网络社区发现算法聚类分析全国电梯故障数据和可视化:诊断电梯“安全之殇”|附代码
    参考原文:http://tecdat.cn/?p=2186最近我们被客户要求撰写关于复杂网络社区发现算法的研究报告,包括一些图形和统计输出。物业工程肩负着维持项目各类设施设备的正常运作,保障全体业主的正常生活,令物业保值升值,是项目的心脏部门。拓端数据(tecdat)研究人员根据全国电梯故障上报汇总......
  • D. Card Game
    链接:https://www.luogu.com.cn/problem/CF1932Dhttps://codeforces.com/problemset/problem/1932/D总的来说,就是把每副牌分开存储,然后如果长度是奇数,那么就从万能牌中拿过来一张;如果是偶数就不需要判断是否是impossible?每组对2求余之后加起来,如果比万能牌长度长就impossible......
  • 为什么说降维是超越聚类的无监督学习
    降维通常被视为超越聚类的无监督学习技术,因为它不仅仅是将数据分组。降维的目标是发现数据中的底层结构,通过减少数据的维数来简化数据,同时尽可能保留重要的信息。这使得降维成为一种更为基础和广泛的数据探索方法。以下是降维超越聚类的几个方面:数据压缩:降维可以减少数据集的大......
  • gamebar开启fps报错-解决方法
    是“PerformanceLogUsers”权限没加的原因。 1、WIN10家庭版:WIN10家庭版默认是没有用户和组的,所以需要手动添加:管理员模式打开CMD;先输入:netuser在列表中找到你的用户名,比如“andy”,每个人电脑的用户名都不一样,找到自己电脑的用户名后记下来,在CMD中再次输入(其中“an......
  • YetAnotherBoardGame
    Topcoder#搜索经典套路,我们发现枚举第一行后剩余的其实是确定的那么枚举并爆搜即可时间复杂度是\(3^k\)因为列的限制//Author:xiaruizeconstintN=13+10;intn,m;bools[N][N],bck[N][N];intop[N];voidupd(intx,inty,intty){if(ty==1)......