阅读--2020-5-27 云数据中心环境下集成工作负载预测方法研究_张立波

link

link2

 

1、摘要

2、介绍:背景、相关工作

现状:

数据驱动        REFERENCE 13、14、17-20

  • 13 基于神经网络和最速下降学习算法的负载预测模型
  • 14 基于模型集成和减模糊聚类神经网络的自适应预测方法
  • 18 基于预测的云资源供应策略,加入滑动窗口的神经网络和线性回归结合

基于模型        REFERENCE 21 22 23 24

  • 23 根据谷歌数据中心的数据建立了一种负载分类模型,实现细粒度任务调度和容量规划
  • 24 获取负载瞬时行为特征后,借助时域队列模型构造了一个资源供应模型,该模型可动态将每一个应用的资源需求映射到负载特征中,提高负载预测精度,增强预测值的可解释性

集成学习 --基于某种规则将各学习器的结果进行整合  REFERENCE 11 12 16 25 26

  • 12 基于自回归差分 移动平均算法ARIMA的预测器,实现主动提供虚拟机实例
  • 11 将负载预测模型与分布式非线性优化技术相结合
  • 16 包括 指数平滑、Holt-Winters和ARIMA在内的几种不同负载预测模型的有效性,提出了一种可以在不同场景下选择最优的算法的自动决策模型

--------------------------------------------------------------------------------------

        数据驱动类型,采用神经网络或者线性回归方法,在时间序列趋势平稳或规律明显的时候产生较好的预测效果,当时间序列变化趋势呈现规律不明显的非线性变化时,则预测精度下降,所以这种方法可以较好预测负载变化的均值和中值,并不能预测波动较大的真实负载。

        基于模型的类型,采用排队模型估计下一时间段的队列长度,不适合云数据中心的在线实时负载预测

        集成学习类型,使用前两类方法建立多个学习器

 

文章方法: 云数据中心的特点导致常常有突发事件导致的请求峰值,常规方法得到的结果往往有一步延迟,不具有参考价值

        将解决过程分为两个阶段: 数据预处理和特征建模:

                数据预处理: 分析数据规律,获得负载序列隐藏特征

                特征建模:基于特征的预测结果最终还原下一时段的负载预测值

    

        主要贡献:

  • 过滤原始序列噪声

            突发状况使得负载序列中存在突发极值点,使得整体负载更加负载、不规律、增加了预测难度。

            文章采用多种平滑算法处理,期望能消除噪声同时不影响序列中的有效信息,

            Savitzky-Golay(SG)滤波处理后的时间序列,有更加好的预测表现

  • 时间序列特征提取

            借鉴信号处理领域内的信号分析方法,采用傅里叶变换和小波变换,可有效反应复杂信号所包含的特征

            相比较于傅里叶变换,小波变换可以更好地处理非平稳过程

只要产生随机过程的主要条件不随时间的推移而改变,就可以近似地把它看作平稳过程

            通过商都有限的、会衰减的小波基,可以更加准确得到某一频率下的特征在时域中的分布。经过实验,小波变换对负载序列进行处理得到的特征序列,可以极大增强负载预测的精度

  • 特征序列建模

            实现ARIMA、深度神经网络、长短期记忆神经网络LSTM、随机配置神经网络SCNs,以及传统回归算法的特征预测模型

----------------------------------------------------------------------------------------------------

ARIMA回归模型是由固定数量的基函数线性构成的,当需要拟合的数据量过于庞大,在训练阶段会产生维度灾难

SCNs    神经网络可以很好的实现对非线性时间序列的你和,但是不足之处是其结构往往需要手工设定,并且不存在理论指导,

             在实践中往往需要耗费许多时间进行参数调优。该模型最大的特点在于设定一种将随即输入的权重和偏执限定在数据

             相关区域的监督机制,然后逐步构建网络模型。最大优点: 加速神经网络的训练过程,当训练模型过拟合时,有别于

             其他传统的神经网络彻底放弃当前网络结构,该算法通过隐层节点数目的调整实现学习模型的快速重建,具有高度灵活性。

3、实验---数据集与序列平滑

数据集:         Google云数据中心负载记录集

----------------------------------------------------------------------------------------------------

1,数据预处理:原因--异常状况使得资源需求量激增,影响负载预测的规律性

                    方法--采用平滑算法去除包含在序列中的噪声,采用控制变量法

                              使用同一种方法对经过不同过滤算法处理的平滑序列进行预测

数据内容:  1.2w台及其组成,覆盖29天25462157条任务的到达记录以及当前任务所需要的内存、存储需求等计算资源

                   根据任务的运行延迟限制、任务归属者身份、任务属性等因素,将其划分为三个优先级:用户部署的应用、

                   系统监控程序、延迟不敏感程序。

2,根据任务优先权实现负载的粗细粒度划分,对三类子序列进行预测,将惹怒我按照优先权划分为三类后,按照总负载的

     处理方式提取任务到达趋势。

     利用滤波算法消除信号中的噪声(滤波算法也称平滑算法)

数据标准化:目的:按照比例进行缩放,在文本中使用拟合算法,可以很大程度上加速训练的过程,实现更加精准的求解

                     方法: z-score(

真实的反应一个分数距离平均数的相对标准距离) ===》 (原始数据-平均值)/方差

    

3,序列平滑算法--- 中值滤波和均值滤波

两者都能实现良好的噪声的过滤

  • 均值滤波:一种线性过滤器,首先指定求出指定大小窗口内的所有数据的平均值,窗口大小必须为奇数,
                     用均值替换窗口中心的数值,然后沿着序列发展方向滑动窗口,直到序列尽头。
                     该方法只能作为一种对比算法,其去噪效果不佳
  • 中值过滤:与均值过滤类似,选择窗口内数据的中位数替换窗口中心的数值。其对分布均匀的高斯噪声的过滤效果不佳
  • Savitzky-Golay(SG)滤波:   可用于一组数字序列的平滑,在不扭曲信号趋势的情况下提高数据 精度,通过一个低阶多
                     项式拟合指定窗口内的数据点,根据最小二乘法实现低阶多项式的参数估计,然后用拟合函数算出的值代替
                      真实值,通过卷积过程实现序列的平滑
    • 文章给出的数学表达式是错的,看 link link2

----------------------------------------------------------------------------------------------------

滤波算法实验:

  • 选择总负载序列前二十天数据作为训练数据,第二十一天的数据验证模型的预测性能
  • 基于Matlab仿真,实现三种滤波算法对负载时间序列的平滑操作,采用ARIMA对所有平滑的序列进行预测建模,通
    过模型的预测精度来衡量滤波算的平滑效果,选择平滑效果最好的作为负载预测模型的平滑模块
    • 表明:窗口大小为5,拟合多项式为3阶时,SG滤波平滑效果最佳

----------------------------------------------------------------------------------------------------

负载序列的特征提取:

  • 去除噪声之后,得到的曲线是一条更阿吉具有普遍规律的负载变化曲线,可认为是一条单因素序列,ARIMA方法要求
    序列具有稳定的统计特性,然而现实世界中大部分时间序列都是不平稳的,所以建模之前需要对数据进行平稳化。
  • 从数学上来讲,可以将平稳时间序列理解为一个弱平稳过程,均值和方差稳定于一个常数且协方差函数仅仅与时间差
    有关,这种随机遍历可以看作是有用信息和噪声的组合。ARIMA模型可以看作是一个滤波器,将有用信息与噪声分离
  • ARIMA模型可以通过有限长度数据学习到时间序列的特征

ADF检验

        被广泛应用于检验序列是否平稳,该方法首先通过一个高阶自回归过程拟合时间序列,通过自回归过程是否存在单位根

        来判单序列平稳性,如果不存在单位根,则认为序列是平稳的。 反之不平稳,则需要对序列进行平稳处理。

  • 具体做法:首先对Google负载时间序列进行数据标准化,对一次差分后的标准化序列使用ADF检验,判断其平稳性
    • ADF统计值需要小于置信度为1%的显著性水平
    • p值需要接近0

哈尔小波变换

  • 类似于音乐中多个具有固定频率的音符构成一个和弦,该方法将时间序列分解成多个不同频率的时间序列。
  • 小波变换是傅里叶变换的改进算法,通过有限长的小波基可确定默写频率的信号发生时间
  • 可以降低时间序列的非平稳性,增强序列的可预测性
  • 有很多种小波算法:Morlet、Mexican Hat、Daubechies 可实现更高的分辨率,从而实现时间序列的分解
    但是和哈尔小波计算相比更加耗时,哈尔小波计算只需要加法运算。
    • 文中采用哈尔小波分解负载时间序列,得到序列再一阶分辨率下的两种特征,文章中称为趋势特征、
      细节特征 link
    • 过程:
      一阶哈尔小波变换:每相邻两个数字排成一组,此时序列是原始序列长度的一半, 计算每一组的差与和,
      并分别用所有结果组成一组新的序列,每个序列代表原始序列的不同特征。通过两个新生成的序列可以
      还原原始序列。

----------------------------------------------------------------------------------------------------

评价方法

  • 本质上是利用一系列数据点拟合一个回归模型,经过大量数据的学习,得到各项参数,训练好的模型可以实现对
    下一个时间点数据的预测
  • 衡量标准
    • 最均方误差 MSE     
      • 反应全局误差,并不能反应某一区间的模型拟合程度
    • 确定系数 R-Square
      • 描述模型的拟合性能,衡量预测值和真实值的相关性,可以在不同测试集上预测表现
      • 系数越大,意味着模型有很好的拟合性能
    • 平均绝对百分比误差 MAPE
      • 统计学上衡量模型预测精度的指标
      • 较小的MAPE意味着模型对遍历的解释力更强

----------------------------------------------------------------------------------------------------

实验过程:

  1. 时间序列预测建模之前,要求时间序列平稳,各项统计特征稳定于一个常熟,所以,需要对负载序列做
    平稳性分析。根据时间推进,得到负载序列的均值和方差变化,显然是不平稳的,不适合ARIMA预测建模
  2. 使得数据平稳化
    • 首先采用z_score对负载数据进行标准化,降低原始数据的变化幅度
    • 采用SG滤波算法对序列进行去噪处理
    • 数据进行一次差分
    • 采用ADF检验来验证自回归过程特征函数是否存在单位根,不存在,则认为平稳

 

  • 具体执行过程中,平滑数据经过一次差分后通过ADF检验
  • 预测建模过程如下:

 

4、之后的研究点

  • 可以尝试不同的小波基
  • 平滑算法在对呀u你是数据进行处理的时候,有一定概率不会去除噪声点,也有一定概率会去除数据中的有用信息

 

 

5、相关知识

        数据处理方法

6、与我相关

        数据集

 

 

 

 

 

 

 

 

 

 

 

 

 

 

来自 <https://baike.baidu.com/item/%E9%9D%9E%E5%B9%B3%E7%A8%B3%E8%BF%87%E7%A8%8B/22719275?fr=aladdin>

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值