一,时序数据的重要性
    步入21世纪以来,有越来越多的企业开始向信息化企业转型。信息化是指以现代通信、网络、数据库技术为基础,对所研究对象各要素汇总至数据库,供特定人群生活、工作、学习、辅助决策等和人类息息相关的各种行为相结合的一种技术,使用该技术后,可以极大的提高各种行为的效率,为推动人类社会进步提供极大的技术支持。
    67e3e784e8083a29304740cde8569428.jpeg
    在企业进行信息化的过程中,必然会涉及到两个问题:
    1 怎么收集数据。
    2 收集上来的数据能产生什么样的价值。

    对于不同的企业来说,因为接触到的信息源不同,所以面对的数据形式也不尽相同,常见的数据形式有图像,文本,数字等。通常而言,面对不同的数据形式,我们需要采取不同的收集数据的方式,和分析数据的方法。这些数据随着时间的推移,就会产生不同类型的时间序列数据。因此,时间序列数据的分析与监控对企业来说就显得十分重要。

    二,时间序列数据的分析与监控
    时间序列分析的基本思想,就是根据系统的有限长度的运行记录(观察数据),建立能够比较精确地反映序列中所包含的动态依存关系的数学模型,并借以对系统的未来进行预报。其基本原理是:一是承认事物发展的延续性,应用过去数据,就能推测事物的发展趋势。二是考虑到事物发展的随机性。任何事物发展都可能受偶然因素影响。
    对时序数据的监控,可以应用在众多业务场景,如对网站访问量的分析,对气候温度的预测,对股票走势的分析,对销售数据的分析,对路口人流量的监控等等。有效的分析方法,是保证业务能够稳定快速增长的关键。
    examples_notebooks_generated_autoregressions_13_0.png
    不同数据类型的时间序列数据,有不同的分析方法:
    1 如果输入的信息是图像,视频,则主要用到 CV算法(计算机视觉)。
    2 如果输入的信息是文本,则主要用到NLP算法(自然语言处理)。
    3 如果输入的信息是纯数字,则主要用到TS算法(时间序列)。

    驻云目前主要是对计算机上的各种软硬件的指标进行监控与分析,主要涉及数字和文本信息。针对不同的业务需求,我们可以设计如下使用场景:
    1 某台服务器的某个指标显著高于正常值(阈值检测)。
    2 某台服务器的某个指标和过去的表现明显不一样(变更检测)。
    3 某台服务器的某个指标出现不应该出现的值和表现模式(异常检测)。
    4 集群中某台服务器的某个指标明显和其他服务器的相同指标不一样(离群检测)。
    5 某台服务器的某个指标未来可能出现问题(预测)。
    6 服务器中哪些指标是相互影响,相互关联的(关联分析)。
    7 已知的问题是由什么引起的(根因分析)。

    在实际的建模过程中,我们面对的情况往往非常复杂。建模从来就不是一个单纯的技术问题,一个好的模型需要与系统和业务深度结合。为了设计出实际可用的算法,我们需要考虑一下因素:

    1 通过降维减小数据维度
    通常,我们的时间序列数据是多维的,多维时间序列可用于描述受监测事物的多个方面状态与情况,然而随着维度的增长,多时间序列异常异常检测的计算时间会快速增加。通过观察发现当时间序列存在与异常发生原因无关的维度时,进行一些相关性分析,去除无关维度不会对异常检测的准确性产生决定性影响。

    2 使用简单的线性判别
    在时间序列的研究当中,很多时候少即是多,时间序列受随机性,趋势性影响较大,往往越多的参数,越复杂的模型意味着很难去长时间,更泛化的拟合真实的数据。而模型的复杂通常也意味着复杂度的提升,因此我们提倡在大数据算法的设计当中,可以适当的为了泛化能力以及时间效率,选择较为简单的线性方法进行粗略的异常判别,后续再使用更精确的算法对子区间进行判别。

    3 尽量设计在线的算法
    目前大多数异常检测方法均为静态方法,即对历史中特定段落的时间序列进行分析并得出结果。静态的时间序列方法不能应用于实时的时间序列异常检测。然而在许多应用场景中时间序列是不断增长的,因此我们对于实时获得的时间序列中的异常的需求同样迫切。而且在线的算法也意味着效率近似于线性,是一件非常让人愉悦的事情。

    4 通过并行的思想改善耗时部分的性能
    大数据的异常检测对于检测方法提出了存储能力与计算能力的新要求。单个计算结点的存储能力与计算能力无法满足这些要求,我们需要利用并行化计算的方法改善异常检测方法的检测性能。如何设计 Master 和 Slaver 结点的算法,以及它们划分,合并的关系,将哪个部分正确的,有效的用于并行计算,是这个方向上的研究重点。

    5 做好时间与检测效果的 Trade Off
    针对于大数据所设计出的算法,应该有相应的调整系数,能够平衡效率和检测效果的不同侧重。对于某些不需要高精度检测,但是实时性较强的环境,可以通过调整参数来达到相应的需求。

    6 以框架的方式设计算法
    以上所提出的几点,均是这个方向上的算法的设计思路,或者说期望达到的目标,一个算法想要很好的结合这三点是很困难的。因此我们认为或许可以使用框架的方式,将各种手段或者技术进行合理的整合,比如异常序列的粗预警,细预警的分离,多维数据,多指标检测的并行分离,等等手段,都可以通过框架的方式进行有机的整合,最终形成一个良好可用的算法。
    截屏2021-05-31 下午4.57.52.png