论文精读——基于模式序列相似度的大数据时间序列预测及其在电力需求中的应用


精读论文可参考

[基于机器学习的越南生活固体废弃物预测](https://blog.csdn.net/m0_47267927/article/details/112916753)

A b s t r a c t

本文基于成熟的基于模式序列的预测算法,提出了一种预测大数据时间序列的新颖算法。这种新方法对现有研究有两个主要贡献。 首先,对原始算法的预测准确性进行了改进,其次,将其转换为大数据形式,在可伸缩性方面取得了有意义的结果。 该算法使用Apache Spark分布式计算框架,它是一个现成的应用程序,几乎不需要调整任何参数。 目前已使用物理和云集群进行将该算法应用于来自乌拉圭电力需求的真实数据实验。


1 Introduction

基于模式序列的预测算法(PSF)是一种有效的通用多输出方法,专门设计用于处理任意长度的预测范围的时间序列。

这种多输出功能使PSF变成了一种灵活的工具,已在不同的研究领域中使用。 PSF主要基于识别在整个数据集中搜索的某些模式。 通过任何聚类技术(原始工作中使用K-Means)计算此类模式,然后,形成聚类序列以表征目标时间序列。

在这项工作中,提出了一种新算法,以下称为bigPSF。它受到原始PSF算法中引入的模式搜索策略的启发,但是bigPSF对文献有两个主要贡献,首先,它具有可扩展性,这要归功于其在Apache Spark框架下的分布式计算。也就是说,与PSF相比,bigPSF适合处理大数据时间序列并挖掘数百万条记录,报告执行时间减少。 其次,在bigPSF中对原始PSF进行了一些修改,从而改善了预测结果并实现了更高的准确性。 因此,该算法主要涵盖了行之有效的4-Vs大数据范例的体积和速度维度。

2 Methodology

2.1 The original PSF algorithm

PSF旨在使用可在单台计算机(如具有标准CPU性能的计算机)上运行的中小型历史数据来预测时间序列。具体的算法流程图如图1所示:
在这里插入图片描述
具体可表示如下:

  1. PSF应用聚类算法将原始时间序列值转换为标签序列,每个标签都标识用户确定的尽可能多的样本(例如整天,一周等)。再使用轮廓系数等方法,确定最佳聚类数值K。
  2. 一旦获得K,就将聚类方法(通常选择KMeans)应用于整个数据集,以标记历史数据,将时间序列转变为一系列标记,对应于它们已分配给的聚类。
  3. 然后,计算第二个输入参数的值:窗口的最佳值(W)。 此参数确定紧接在目标值之前提取的窗口的长度,并包括由长度W的聚类过程生成的标签序列。在训练阶段,同时进行K和W变化的网格搜索以确定最佳值。
  4. 使用最佳的W长度,可以在整个数据集上进行顺序搜索,以搜索模式序列SW和历史数据之间的重合(或匹配)。 识别出匹配项后,将提取紧接所有符合项的h值,即h为预测问题的预测范围或bigPSF每次迭代时的预测样本数。 值得一提的是,bigPSF是一种多步预测算法,可以同时预测多个样本。
  5. 在找到SW后,基于立即找到的h值计算预测。
  6. 最后,通过应用第一步的相反操作对输出进行归一化。 如果有更多值可以预测,则将预测值添加到数据集,并重复步骤5和6,直到完成所有预测为止。

2.2 bigPSF介绍

2.2.1 Data pre-processing

即进行离群值的剔除与初始数据集的归一化,便于使用聚类算法进行处理。将h值与索引变量(即h待预测的未来值的数量)组成一组来对其进行转换。当h = 24时,具体的流程可表示为:
在这里插入图片描述

2.2.2 超参数调整:最佳K和W值

在这项工作中,提出了一种可扩展的网格搜索,用于估计bigPSF算法的输入参数。 由于要优化的输入参数的整数性质,因此可以进行网格搜索(网格搜索法是指定参数值的一种穷举搜索方法)。

鉴于Apache Spark技术为大型数据集提供的速度和较高的计算性能,整个数据集在计算机集群中的分布使进行详尽的搜索以找到K和W的最佳值成为可能。

这项研究将着重于通过一个完整的值网格进行检查,其中使用验证数据集将K簇数和W窗口大小的组合报告在准确性方面的最佳预测。

为此,首先,将完整的数据集按70%-30%的比例分为对应于训练集(TRS)和测试集(TES)的两个RDD。 因此,这两个变量还将分布在要使用的群集中的不同节点上。 反过来,TRS按70%-30%的比例分为训练子集(STRS)和测试子集(STES),以应用上述K和W值的网格。 从图3中可以看出,在集群的不同节点中分布有四个RDD变量:STRS和STES用于最佳W和K值的网格搜索,TRS和TES用于最终预测的计算 。

网格搜索在于将建议的bigPSF算法应用于所有可能的值K和Was输入参数对。

以这种方式,一旦完成所有bigPSF步骤,当使用STRS作为训练来预测STES子集时,具有最小误差的值K和W的组合将用于最终预测阶段。

2.2.3 聚类:并行KMeans ++算法

在Apache Spark的MLlib库中为分布式计算环境实现了k-means ++集群的并行化变体[2],它是bigPSF算法中用于集群化步骤的一种。
具体步骤如下:
在这里插入图片描述
每个标签 l i l_i li对应于时间序列的h个值,即h作为预测范围。每次在历史数据中找到该模式后,就会立即检索与模式序列紧接出现的与标签 l i l_i li对应的h值,并将其用于做出最终预测。

2.2.4 基于模式序列的预测

必须使用Apache Spark中可用的可伸缩操作将标签序列转换为模式矩阵,以便搜索匹配的模式。

通过对所有可能的长度为W的标签序列进行分组来生成此矩阵,其中Wis是在超参数调整中获得的最佳窗口大小。 该矩阵由具有索引的元组,Wlabels序列和与相应序列的下h个值相关联的标签组成。

图5说明了RDD变量的设置,该变量包含通过聚类算法获得的标签序列中的模式矩阵。 从模式矩阵中,提取要预测的h值之前的标签序列,从而形成要搜索的模式序列。 随后,将Apache Spark的过滤器转换功能应用于模式矩阵RDD。 该过滤器提取与搜索序列和相应索引的所有符合项。
在这里插入图片描述
然后,从原始大数据时间序列中恢复与匹配的这些索引中的每个索引相关联的真实h值,并使用加权平均值获得预测,如图6所示。
在这里插入图片描述
图7提供了涉及bigPSF算法所用数据结构的每个步骤的描述。
在这里插入图片描述
可以在图8中找到一个数值示例,其中图7中描述的最相关的步骤用实际值。

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值