Multivariate workload prediction using Vector Autoregressive and Stacked LSTM models
1 摘要:
- 向量自回归+堆叠LSTM
- VAR用于过滤多元时间序列之间的线性相互依赖
- 堆叠LSTM捕获非线性趋势(从VAR模型计算得到的残差)
- 对比模型:AR-MPL,RNN-GRU、ARIMA-LSTM
- 文章提出多变量负载预测模型,使用向量自回归模型分析多元时间序列并预测未来的值。
根据VAR模型计算残差并将其作为下一个stacked LSTM模型的输入,同时预测未来的资源值- VAR预测多元时间序列,处理线性问题
- Stacked LSTM捕获数据集中非线性趋势
- 这两个模型被连续地组合以在模型中同时包含线性和非线性趋势。
- 使用GWA-T-12 Bitbrains提供的真实负载
2 相关工作:
- 【1】 解释Web和数据中心工作负载的行为可以通过时间序列模型来建模。
- 【2】一种新的使用增强型模糊神经网络的预测方法
- 【3】使用神经网络(NN)和线性回归(LR)算法以及滑动窗口技术来开发新的工作量预测策略。
- 【4】提出了一种新颖的预测方法,该方法可以对工作量进行分类,
并根据工作量特征在支持向量回归(SVR)模型和线性回归(LR)模型中选择一个预测模型 - 【5】使用自动回归综合移动平均值(ARIMA)模型来预测软件即服务(SaaS)提供商的云工作负载。
- 【6】提出了一种使用ARIMA和ANN模型进行时间序列预测的混合方法
- 【7】提出混合模型,长期短期记忆神经网络(LSTM)和ARIMA模型[7]用于CPU工作量预测
- 【8】指出LSTM模型可以解决云系统所面临的问题,,诸如资源动态扩展和能耗之类的问题。
可以确定服务器未来精确的工作量,根据需求动态调整,继而保持服务器质量且降低能耗
时间序列分解:
,时间t时刻得线性数据+非线性数据+误差项
3 模型建立
- 用两个量分别表示CPU和内存使用
- 用赤池AIC准则来估计阶数 一般情况表示: AIC=2k-2In(L) k为参数数量,L是似然函数
- 用最小二乘法估计参数
4 算法流程
- 算法输入是CPU和内存使用率,
- 用ADF方法检测时间序列平稳性,如果不平稳则差分处理得到平稳序列
- 采用滞后最小的阶数来进行拟合
- 计算残差
- 第二部分包含四步骤
- 数据预处理
- 在输入进LSTM之前必须要进行归一化
- 定义模型参数
- 模型拟合与评价
- LSTM预测
- 数据预处理
训练集测试集的划分方式没看懂
文章的数据集选择,大概是选择了一条曲线的2800个观察点,涵盖特征为CPU和内存
-----------------------------------------------------------------------------------------
补充知识:
VAR: 是由单变量AR模型推广到多变量组成的向量的自回归模型
- 在平稳条件下,参数估计与最小二乘估计一致,并且在许多统计上性质优良,便于区间估计、误差分析和模型诊断。 VAR可以刻画变量之间相互影响的动态线性相关性。
- 主要用于 预测和分析随机扰动对系统的动态冲击,冲击的大小、正负和持续时间。模型定义:设Yt=(y1t,y2t....ynt)^T是Nx1阶时序应变力列向量,则p阶VAR模型记为VAR(p)
- 建模过程需要确定两件事:
- 哪些变量应该进入模型(要求变量间具有相关关系--格兰因果关系)
- 滞后阶数p的确定(保证残差刚好不存在自相关)
- 用赤池信息准则AIC和施瓦茨准则SC--在增加p值得过程中,使得AIC和SC值同时最小
- 用似然比统计量LR选择P
- VEC:向量误差修正模型,是含有协整约束的VSAR模型,可应用于具有协整关系得非平稳时序建模