趋势预测在很多应用场景中都会起到至关重要的作用,比如淘宝商家会考虑库存量应该保持在多少才能够满足客户需求,商场希望得知假期会迎来多大的客流量以安排系列活动,机场想要预测五一黄金周会有多大的客运量来做相应的应急部署等。在智能运维领域,趋势预测同样具有一定的理论意义和实际应用价值。
趋势预测在运维场景中的应用背景
在实时监控系统中会采集到大量的数据,有些数据具有周期性等时间特征,也称之为时间序列。如果能挖掘出时间序列中所蕴含的信息,实现辅助人工决策,甚至是自动决策,都会为运维工作带来事半功倍的效果。比如KPI异常检测可以衡量服务的健康程度,分析出CPU、交易量、响应时间等指标的历史规律后,设置动态阈值,得到更加准确的异常报警,减少漏报误报情况的发生,提高应急响应效率;通过对历史事件单的分析,预测出下次系统告警可能发生的时间或者指定时间内可能发生告警的系统等,就可以根据分析结果做出相应的响应措施,为后续运维工作带来极大的指导意义。类似这样的应用场景还有很多,如何充分挖掘出时间序列中所蕴含的信息,成为智能运维领域研究中的一大热点。那么时间序列一般会有哪些比较明显的特征呢?一般来讲具有趋势性、季节性、周期性和随机性四种特征。但是对于时间序列预测,想要找到一个适用所有场景的通用模型几乎是不可能的,因为现实中每个预测问题的背景不同,影响预测值的因素与程度也往往不同,针对不同的问题就要采用不同的方法和模型进行统计分析,这都会给建模人员和数据分析师带来极大的难度,也使得时间序列预测问题变得复杂。
不同的模型会有各自的优势和劣势,本文将对传统时间序列预测模型ARIMA、经典神经网络模型LSTM以及Prophet模型展开具体介绍,并在事件单数据集上做了初步的探索。
常用的趋势预测算法
2.1、ARIMA模型ARIMA模型,全称为自回归积分滑动平均模型(Autoregressive Integrated Moving Average Model),是由博克思(Box)和詹金斯(Jenkins)于20世纪70年代初提出的一种时间序列预测方法。ARIMA模型并不是一个特定的模型,而是一类模型的总称。通常用p,d,q值来确定,记做ARIMA(p,d,q)。其中p代表自回归模型阶数,d代表差分