基于机器学习的流量波动趋向预测实际
作者头像
  • 黑石动态
  • 2019-10-24 09:32:15 1

1. 概述

本文基于苏宁易购电商平台的访问流量数据,深入挖掘流量变化趋势,并通过机器学习或统计算法建立模型,实现离线分析和实时预测,从而达到智能化的异常流量预警。

1.1. 流量预测的重要性

流量预测是流量控制的关键环节,也是实现流量控制智能化的重要步骤。对于苏宁易购来说,准确预测业务系统的流量趋势和及时预警异常流量至关重要。这可以帮助及时识别CC攻击、黄牛刷单、爬虫等威胁企业网络安全的行为。

1.2. 流量预测面临的挑战

流量预测和异常流量检测面临以下几个主要挑战:

  • 流量系统种类繁多,特征各异:苏宁易购的多个系统每分钟产生的流量大小和趋势各不相同,访问的业务系统数量也在不断变化。

  • 流量受业务活动影响大:促销活动频繁或力度大时,流量会显著增加;而促销活动少或力度小,流量波动也会增大。不同的业务系统对流量的影响也不同。

  • 不同用户关注点不同:运维人员、用户和安全人员对流量异常的关注点各不相同。例如,运维人员关心系统压力,用户关心经济损失,安全人员则关心潜在的安全威胁。

  • 需要实时高效计算:流量预测必须具备高实时性,以便及时发现异常流量并采取措施。苏宁易购的大流量和大促时期的流量暴增需要实时计算框架的支持。

2. 流量趋势分析

2.1. 日常流量波动

流量受到用户行为的影响,不同时间段的流量阈值和峰值不同。白天(08-18点)流量较大,夜间(00-08点)流量较小。

2.2. 阶段性流量规律

  • 夜间流量小,波动大:如夜间00-06点的流量图所示。
  • 白天流量大,波动小:如白天11-18点的流量图所示。

2.3. 按分钟分析周特征

通过对某一系统每天同一时间点的流量数据进行一周分析,发现一周内的流量波动很大,没有明显的规律,不利于预测未知流量。

2.4. 按分钟分析月特征

同样地,对某一系统每天同一时间点的流量数据进行一个月分析,发现一个月内的流量波动依然很大,没有明显的时间规律,也不利于未知流量的预测。

3. 异常流量预测算法

本文探讨了基于时间序列的流量预测方法,具体包括ARMA(自回归滑动平均模型)、LSTM(长短期记忆网络)和MAD(相对中位差)+Mean(均值)模型。

3.1. ARMA模型

  • 算法简介:ARMA模型结合了自回归模型和移动平均模型,用于预测随时间变化的数据序列。
  • 拟合误差方程:通过ARMA模型计算预测值和真实值之间的误差。
  • 特征工程:选取某一业务系统在特定时间段的流量数据进行训练,并通过差分处理使序列趋于平稳。
  • 效果查看:通过按分钟预测,评估不同时间段的预测效果。
  • 优缺点
    • 优点:成熟的预测接口,间隔当前时间越近,准确率越高。
    • 缺点:间隔当前时间越远,准确性越差;处理波动大的序列时,效果不佳;训练耗时长,不适合大规模实时预测;不同系统的流量特性差异大。

3.2. LSTM模型

  • 算法简介:LSTM是一种改进的循环神经网络,适用于处理长时间依赖问题。
  • 拟合误差方程:通过LSTM模型计算预测值和真实值之间的误差。
  • 特征工程:选取某一业务系统的流量数据进行训练,并进行差分处理、监督式转换和标准化转换。
  • 效果查看:通过有监督学习后的预测结果和多步预测效果进行评估。
  • 优缺点
    • 优点:间隔当前时间越近,准确率越高。
    • 缺点:间隔当前时间越远,准确性越差;无多步预测接口;训练耗时长,不适合大规模实时预测;不同系统的流量特性差异大。

3.3. MAD估计值模型

  • 算法简介:采用统计学习方法,计算MAD估计值来预测流量。
  • 误差方程:通过MAD估计值计算预测值和真实值之间的误差。
  • 特征工程:选取某一业务系统的流量数据进行训练。
  • 效果查看:通过预测2分钟、4分钟和8分钟的数据拟合情况评估模型效果。
  • 优缺点
    • 优点:特征工程简单,支持实时快速计算。
    • 缺点:预测步长越长,准确性越差;依赖当前总量的关联性。

4. 总结

本文主要介绍了流量预测的横向分析,因为横向数据与当前时间点的流量关联最密切。纵向数据虽然具有一定的规律性,但实时关联性较低。苏宁易购的业务系统流量主要有两大特征:白天流量波动大,夜间流量波动大但数量较少;以天为单位,流量呈现规律性波动。

最终选择统计模型进行流量预测,因为其特征工程简单、时效性强、拟合准确率高。ARMA和LSTM模型虽然复杂,但在多步长预测方面效果较差。此外,本文未使用传统的均方误差等统计指标评价模型,而是采用了自定义的误差计算方法,以更好地适应不同业务系统的流量特性。

5. 展望

未来,针对异常流量的检测可以通过机器学习分类和统计学模型来实现。借助Flink、Spark等大数据分析框架,可以实现快速的异常定位,这是流量预测下一阶段的重要研究方向。

    本文来源:图灵汇
责任编辑: : 黑石动态
声明:本文系图灵汇原创稿件,版权属图灵汇所有,未经授权不得转载,已经协议授权的媒体下载使用时须注明"稿件来源:图灵汇",违者将依法追究责任。
    分享
趋向波动流量实际基于机器预测学习
    下一篇