基于加权组合模型的红外时间序列预测

2021-11-20 01:56康巧琴
计算机工程与设计 2021年11期
关键词:权值残差差分

杨 霞,袁 丁,严 清,康巧琴

(四川师范大学 计算机科学学院,四川 成都 610101)

0 引 言

物联网设备[1]用于房间监测时可通过人体传感器收集数据,然后对传感器数据进行分析和预测。传感器监测常用的监测设备为被动红外(PIR)运动探测器,PIR与摄像机相比,价格低廉、抗电磁干扰、更易于安装、更加隐蔽,因此它对人来说不具有干扰性[2]。虽然摄像机能提供更准确的监测,但摄像可能遭遇网络攻击,同时使用摄像机进行监测价格昂贵[3]。这些优势使得PIR传感器在监测和预测方面也越来越受欢迎。但是PIR不能检测静止的人体,当人处于静止状态时,PIR不会产生监测数据;只有当人运动时,PIR才会产生数据[4],这使得PIR得到的统计信息误差较大。如何通过预测算法来帮助用户获取更准确的房间使用情况,包括获取静止人体对房间的使用情况,是非常有价值的事情。预测算法在拟合模型的同时可以对未来一段时间的趋势进行预测,对人体红外时间序列数据的预测有利于用户及时规划使用方案、房间节能和提高房间的使用率。因此研究出一种准确率比较高的红外时间序列预测模型具有十分重要的意义。

本文深入研究了Prophet模型、季节性差分自回归滑动平均(seasonal autoregressive integrated moving average,SARIMA)模型、三次指数平滑法(Holt-winters)模型、长短时记忆网络(long short-term memory,LSTM)模型,对比了不同模型的优缺点,提出一种加权组合的Prophet-SARIMA预测模型,将预测模型用于人体红外时间序列的统计分析上,该模型在人体红外时间序列的预测上比其它预测模型更加准确。

1 相关工作

时间序列模型非常适合对不易建立精确数学模型和具有不确定性的系统建模。其中Box和Jenkins提出的求和自回归移动平均模型(autoregressive integrated moving ave-rage,ARIMA)[5]是非常经典的模型。ARIMA模型从时间序列自身出发,建立相应的模型进行分析,该方法计算简单、操作方便、定义了过去数据与现在数据的关系[6],但ARIMA模型对于既有季节性又有长期趋势的时间序列,不足以提取其中的季节信息[7]。因此,为了能够对季节性组件建模,又提出了季节性差分自回归滑动平均模型SARIMA模型[8]。该方法在ARIMA模型的基础上,充分考虑了周期性特征,并且使用外部信息来增强模型的预测能力,时间推理能力强[9,10]。

时间序列最常用的机器学习的模型是:Hochreiter提出的长期短期记忆网络(LSTM)方法[11]。LSTM算法作为一类特殊设计的循环神经网络结构,可以学习时间序列中隐含的长期有用信息,并能实现样本输入和输出的非线性关系,对噪声具有较强的鲁棒性和容错能力,但是该方法的参数复杂,训练难度较大、时间长且容易失败[12-14]。

Taylor[15]等提出的Prophet预测模型,不同于传统的时间预测模型,Prophet具有操作简单、参数易于解释、自动化处理、拟合速度快、自动处理缺失值和数据非等距问题、可将结果按不同维度分解的特点[16,17],同时一个有效的预测模型将同时考虑目标序列过去的行为数据和近期某些特殊点的影响,而一般的时间序列将这些特殊点视作离群点被剔除掉,忽略了其对目标序列估值的作用,Prophet模型考虑了这些特殊点对趋势变化的影响[18,19]。但是Prophet模型没有考虑残差的自相关性对预测性能的影响,并一定程度上舍弃了时间维度的推理能力。

组合预测模型是由Bates和Grange等提出[20,21],组合模型可以克服单一模型造成的偏颇,基于组合思想将单一的模型通过不同的方式组合起来,使之得到的预测结果比单一模型得到的结果更加准确[22,23]。

为了充分发挥不同模型各自的优势,本文在Prophet模型的基础上引入SARIMA模型,提出一种动态加权组合的Prophet-SARIMA预测模型。在兼顾Prophet模型的自动化、参数简单、易于操作、考虑节假日特殊点的影响的特点的同时,解决了Prophet模型对残差考虑的缺失,提升了Prophet模型的时间推理能力,克服了单一模型反映的规律不全面问题。动态获取权值,通过计算得到最优权值组合,从而大幅提升预测精度。实验结果表明,所提出的Prophet-SARIMA组合预测模型考虑了残差自相关性检验,时间推理能力更强,并且该组合预测模型的性能均优于单项预测模型。

2 Prophet+SARIMA预测模型

2.1 Prophet算法原理

Prophet是Facebook公司于2017年开发的一种新的时间序列预测模型,不同于传统的时间序列预测方法,Prophet本质上是对时间序列曲线的拟合[15]。它采用广义加性模型或乘法模型来拟合预测函数,且模型预测速度快,同时Prophet还对含有异常值、节假日和趋势变化的日常周期数据具有很强的适应性,尤其对缺失值、趋势的转变和大量的异常值具有很强的鲁棒性[16]。Prophet模型构建的流程如图1所示。

图1 模型构建流程

Prophet模型由4部分组成,包括growth(趋势性)、seasonality(周期性)、holidays(节假日)、error(误差项)[17]。Prophet模型通过拟合这4项,然后将结果叠加得到预测值,加法组合的基本形式如式(1)所示,乘法组合的基本形式如式(2)所示

F(t)=g(t)+s(t)+h(t)

(1)

F(t)=g(t)*s(t)*h(t)

(2)

其中,趋势项g(t)用于拟合时间序列的非周期持续性变化,它是整个Prophet模型的核心。从数据中选择变化点来实现趋势的变化,变化点的增长率服从δ~Laplace(0,τ) 分布,τ负责控制增长率的调节强度[18]。趋势项g(t)有两种表达形式,一种基于逻辑回归函数,另一种基于分段线性函数。基于逻辑函数的精确形式如下

(3)

其中, C(t) 表示随时间变化的模型容量,k表示增长率,m表示偏移量,δ、γ表示调整量,A表示指示向量。基于分段线性函数的精确形式如下

g(t)=(k+Aδ)*t+(m+Aγ)

(4)

s(t)表示周期性变化,例如:每周、每月、每年的季节性变化,采用离散傅里叶级数来建模周期性分量[19],具体表达式如下

(5)

其中,L表示季节性的周期长度;N表示模型具有的周期个数。若要拟合复杂的季节性,N的取值就要越大,得到的拟合效果就会越好,但可能会出现过拟合的情况。N值的确定需要参考L的具体值,如果是年周期性,可将L设置为365.25,N设置为10;如果是周季节性,可将L设为7,N设置为3。

h(t)是节假日项,每年的节假日或大事件会对时间序列产生趋势很大的影响,例如每年的国庆节、春节等。因此将节假日效应纳入模型,以便提升模型预测的准确率。考虑到不同时刻下的节假日影响,由于不同的节假日可作为独立的模型,因此可通过设置时间窗的方式来模拟每个节假日前后的几天对时间序列产生的影响。节假日模型具体表达形式为

(6)

Z(t)=[1(t∈M1),…,1(t∈ML)]

(7)

h(t)=Z(t)*k,k~Normal(0,γ2)

(8)

其中,Wi表示预测值受时间窗口内的节假日的影响;i表示节假日;Mi表示时间t属于该时间窗口,Mi是第i个虚拟变量值,1为Mi的值,如果时间变量t不属于Mi,则值为0。模型的最后一部分为误差项,表示模型未预测到的波动,并且假设它服从高斯分布。

2.2 ARIMA算法原理

Jenkins和Box于20世纪70年代初提出求和自回归移动平均ARIMA模型,也称为Box-Jenkins法,该模型是研究时间序列的著名方法[5]。ARIMA模型适用于平稳时间序列,如果为非平稳时间序列,需要先将时间序列通过差分转化为平稳时间序列再建模,之后再通过反变换还原时间序列。ARIMA模型包括自回归(AR)模型和移动平均(MA)模型[6]。 ARIMA(p,d,q) 模型的数学表达形式如下所示

Yi=θ0+φ1yt-1+φ2yt-2+…+φpyt-p+εt-θ1εt-1-
θ2εt-2-…-θqεt-q

(9)

其中,yt代表不同样本的值;εi为服从正态分布的白噪声序列;φi(i=1,2,…,p) 和θi(i=1,2,…,q) 分别为自回归系数、移动平均系数。p、d、q分别为ARIMA(p,d,q) 模型的自回归阶数、平稳处理时的差分次数、移动平均阶数。

将Box-Jenkins法应用于时间序列建模、预测的步骤见表1[7]。

表1 ARIMA模型建模步骤

2.3 SARIMA算法原理

SARIMA模型是ARIMA模型的一种变形,该模型主要针对具有季节性或周期性规律变化的时间序列[8]。SARIMA模型在ARIMA模型的基础上添加了3个新的超参数,以指定序列的季节性分量的自回归、微分和移动平均值,以及季节性周期的附加参数[9]。SARIMA模型核心要点是对数据的处理,将拟合后的误差作为分析要素,充分考虑残差信息。SARIMA模型可表示为SARIMA(p,d,q)×(P,D,Q)S, 该模型在平稳化处理时除了使用差分还可以使用季节性差分。SARIMA模型的数学表达式为

(10)

表2 SARIMA建模步骤

2.4 Prophet-SARIMA模型构建

为了充分发挥Prophet模型和SARIMA模型的优势,提高预测的准确性,克服单一模型的偏颇,本文在Prophet模型的基础上引入SARIMA模型,提出基于Prophet和SARIMA的动态加权组合预测模型。该模型既保留了Prophet模型简单、拟合速度快、自动化建模、充分考虑节假日等特殊点对趋势影响的优势,又保留了SARIMA严谨的模型检验与较强的推理能力,解决了Prophet对残差自相关性检测的缺失问题,使得模型推理能力更强。Prophet-SARIMA组合预测模型具体建模流程如图2所示。

图2 Prophet-SARIMA组合预测模型

首先分别使用Prophet模型和SARIMA模型,将分组得到的每小时统计数据进行建模,假设Prophet模型在t时刻的预测值是F(t),SARIMA模型在t时刻的预测值为R(t),t=1,2,…,N, 然后分别为两个模型赋予动态权值ω1、ω2。最后通过计算两个模型的加权融合后的值,最终得到Prophet-SARIMA房间使用时长预测模型。此时,Prophet-SARIMA组合预测模型可以表示为

Y(t)=ω1F(t)+ω2R(t),ω1+ω2=1,
t=1,2,…,N

(11)

Y(t)为Prophet模型与SARIMA模型的预测数据通过加权求和得出。通过计算两种模型的最优权值组合,得到Prophet-SARIMA组合预测模型。

组合模型最重要的就是权值的确定,为了寻找Prophet-SARIMA组合模型的最优权值系数ω1、ω2,首先需要初始化参数ω1、ω2,使ω1、ω2满足

ω1+ω2=1

(12)

ω1的取值范围为[0,1]中顺次递增0.1的11个数值,ω2的取值范围为[1,0]中顺次递减0.1的11个数值,然后将不同时刻下的权值系数ω1、ω2分别与该时刻下的Prophet模型和SARIMA模型的预测结果相乘,接下来将同一时刻的两个预测结果求和,该和值就是组合模型的预测结果。通过迭代求解出11组中最优的权值组合。确定权值的流程如图3所示。

图3 权值确定流程

Prophet-SARIMA模型的构建步骤见表3。

表3 Prophet-SARIMA模型建模步骤

3 实验结果与分析

3.1 数据来源与预处理

实验数据来源于四川省某高校智能监测平台监控中心产生的每日传感器数据,采集日期从2019年9月1日~2020年2月10日,数据真实有效。每条数据由编号、设备号、设备类型、状态标记、和触发时间组成,该数据集记6个月内32间房间的实时使用情况。数据记录从每天7∶00点开始直至23∶00结束。本文主要研究1 h的时间尺度房间使用时长预测。因此将数据集按每小时进行分组,得到16组实测数据,共3 216 189条时间序列。这些数据是传感器的实时数据,每当有人进入、离开或走动时,就会触发传感器,传感器就会产生一条数据记录。其中一组数据格式见表4。

表4 传感器数据采集

为了符合模型的输入参数格式要求,再将以上采集的数据按房间分组并按每小时为单位重新统计,计算1 h内的实际使用时长,定义1 h使用时长计算公式为

(13)

hOffi表示Off状态对应的时间戳、hOni-1表示On状态对应的时间戳、lengthD表示当前分组的样本长度。以每天12时为例,重新分组统计得到的数据格式见表5。serial number为数据编号,ds为时间戳,y为统计计算得到的使用时长,单位为s。将得到的每组原始数据按3∶1划分为训练集与测试集,其中训练集共2 412 141条数据,测试集共804 047条数据。并指定2020年1月21日~2020年2月10日为预测区间。

表5 时长统计

3.2 评价指标

为了评价各模型对房间使用时长的预测效果,本文使用均方误差(RMSE)和平均绝对误差(MAE)两个指标作为评估指标。当RMSE与MAE越小时,模型预测效果越好,误差越小。RMSE、MAE指标计算公式如下

(14)

(15)

其中,y(t)是t时刻对应的实测值,g(t)是t时刻对应的预测值,n是样本数。

3.3 Prophet-SARIMA组合预测模型

3.3.1 Prophet模型构建

Prophet模型可以将时间序列经特定的函数变换为每日、每周、每月、每年等不同时间维度的组合形式,本文按“天”为粒度来进行建模,对每天固定时间段的数据进行建模和预测。同时本文考虑了节假日对趋势变化的影响,因此在h(t)中设置采集区间包含的主要节日,具体设置见表6。

表6 主要节假日

由于季节性不是恒定因子,而是随着趋势在变化,所以根据以上设置,使用默认参数配置和Prophet乘法模型建模,得到初始模型,为了更好的预测,将Prophet的重要参数通过循环迭代得出最优解。Prophet模型最终的参数配置见表7。

表7 Prophet参数设置

Prophet模型会得到分解的增长趋势(trend)、每周趋势(weekly)和每天趋势(daily),以及节假日影响(holiday)。由于空间的局限和结果的相似,本文仅展示其中一组时间序列的建模结果。图4给出了其中一间房间的每天12时统计数据,被Prophet乘法模型分解得到的结果。由图4中的趋势图可知,房间使用时长在12月末、1月初是最长的,且使用趋势在不断地变化,2020年2月趋势明显下降,是受春节节假日效应的影响。并且从每周趋势中可以看出,一周中周六、周天的使用时长最低,工作日的使用时长高于周末。从每日趋势上可以看出,上午的房间使用时长高于下午和晚上。

图4 预测结果分解

Prophet模型预测房间使用时长的结果如图5所示。图5中小黑点代表原使用时长数据,实线代表预测值,阴影区域是80%的置信区间,没有小黑点的阴影区域表示对房间使用时长的预测区间。此时预测值的均方误差为18.71,平均绝对误差为6.84。

图5 Prophet预测结果

3.3.2 SARIMA模型构建

使用statsmodels工具中的SARIMAX方法建立SARIMA模型。由分解法可知数据具有月度周期。由于SARIMA模型是通过寻找历史数据之间的自相关性,来预测未来,要求数据必须是平稳的,因此使用ADF检验对数据进行平稳化判断,ADF检验结果见表8。由结果可以看出P值大于0.05,说明原始序列不平稳。因此首先需要对原始序列进行季节性差分处理,进行一阶差分后,再次使用ADF检验判断一阶差分后的数据是否平稳。

表8 原始序列ADF检验

一阶差分后的ADF检验结果见表9。检验结果表明,在1%的显著性水平下拒绝原假设,说明一阶差分处理后的序列是平稳的。可进行SARIMA模型建模分析。

表9 一阶差分序列ADF检验

使用处理后的序列建立SARIMA模型,为了使模型简单化,更轻松准确地获取参数值,使用网格搜索法并结合赤池信息量准则(AIC),确定阶数p、q、P、Q。最终确定的模型为SARIMA(1,1,0)×(1,1,0)12。 SARIMA模型充分考虑到残差的自相关性,在预测之前,需要对模型进行显著性检验,使用残差密度图、QQ图和DW检验来检验模型学习效果,判断残差是否存在自相关性与残差是否满足白噪声。残差密度如图6所示,可以看出分布密度呈正态分布。如图7所示的QQ图可知,QQ图呈线性分布则残差服从正态分布,并且DW值为2.069,可知残差不存在自相关性,并且为白噪声序列。因此模型有效。最后使用该模型对预测区间的数据进行预测。

图6 残差密度

图7 QQ图

3.3.3 Prophet-SARIMA模型构建

为了充分利用Prophet模型与SARIMA模型的优势,文本提出了基于Prophet和SARIMA模型的优化组合模型。

在分别获得Prophet模型和SARIMA模型的预测值后,本文使用3.2节中的评估指标来评估不同权重系数对应的Prophet-SARIMA模型预测结果的效果,将得到的11组加权预测结果记录在表10中,根据表10可知,当权值系数ω1=0.5、ω2=0.5时,预测结果的均方误差和平均绝对误差均为最小,并且结果显示,Prophet-SARIMA组合模型的预测效果均优于Prophet和SARIMA单项模型的预测效果。

表10 不同权值对应的评估结果

为了进一步验证本模型的性能,对另一组房间的使用时长数据进行建模并预测,将Prophet-SARIMA模型的预测结果分别与SARIMA模型、Prophet模型、LSTM模型、Holt-winters模型的预测结果进行了对比,各个模型的评估结果见表11,由表11可知,与LSTM模型、Holt-winters模型相比,Prophet-SARIMA组合预测模型的预测效果更佳,其次是LSTM模型。同时Prophet-SARIMA组合预测模型的预测效果优于Prophet、SARIMA单项模型。因此在房间使用情况的预测方面,Prophet-SARIMA组合预测模型具有更高的准确性和更强的适用性。

表11 不同模型的评估结果对比

4 结束语

统计传感器采集的公共场所使用时长,并分析时长数据特征,对提升公共场所使用效率和应急准备有重要的指导作用。本文提出了一种基于Prophet模型和SARIMA模型的加权组合预测模型,解决了Prophet模型对残差自相关性检测的缺失,提升了Prophet模型的时间推理能力。该模型充分利用Prophet模型和SARIMA模型各自的优点,并与Prophet和SARIMA单项模型、LSTM模型、Holt-winters模型、不同权值系数下的组合模型进行了对比实验。实验结果表明,Prophet-SARIMA组合模型对人体红外时间序列预测的性能明显优于单项的SARIMA预测模型与Prophet预测模型,同时优于LSTM模型和Holt-winters模型。加权组合模型中权值的取值对预测结果的影响很大,如何设计算法获取最优权值是加权组合模型的关键。本文提出的Prophet-SARIMA组合预测模型,只涉及了两种单项模型,未来将结合多个模型的优势进行预测,以便获取更高的预测准确率。同时Prophet模型在非线性预测上的精度较差,而神经网络在预测非线性部分的性能更优,未来还将考虑结合神经网络的模型来进一步研究,从而寻找出更优的建模方案。

猜你喜欢
权值残差差分
一种融合时间权值和用户行为序列的电影推荐模型
基于双向GRU与残差拟合的车辆跟驰建模
数列与差分
CONTENTS
基于残差学习的自适应无人机目标跟踪算法
基于递归残差网络的图像超分辨率重建
基于权值动量的RBM加速学习算法研究
基于多维度特征权值动态更新的用户推荐模型研究
平稳自相关过程的残差累积和控制图
基于差分隐私的大数据隐私保护