首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

R语言用ARIMA模型滑动时间窗口识别网络流量时间序列异常值

全文链接:http://tecdat.cn/?p=30597

他想要一个简单的算法来进行在线“异常值检测”。基本上,想将每个时间序列的整个历史数据保存在内存(或磁盘上),并且想检测实时场景中的任何异常值(每次捕获新样本时)。实现这些结果的最佳方法是什么?

相关视频

目前正在使用移动平均线来消除一些噪音,但接下来呢?简单的事情,如标准差,...针对整个数据集效果不佳(不能假设时间序列是平稳的),想要更“准确”的东西,理想情况下是黑匣子。我们提出一些方案,例如:

将查找时间序列异常值(并选择性地在图中显示它们)。它将处理季节性和非季节性时间序列。基本思想是找到趋势和季节性成分的可靠估计并减去它们。然后找出残差中的异常值。残差异常值的检验与标准箱线图的检验相同 - 大于或低于上下四分位数的点大于1.5IQR 是假定的异常值。高于/低于这些阈值的 IQR 数量作为异常值“分数”返回。因此,分数可以是任何正数,对于非异常值,分数将为零。

异常值检测取决于数据的性质以及您愿意对它们做出的假设。 通用方法依赖于可靠的统计信息。这种方法的精神是以不受任何异常值影响的方式表征大部分数据,然后指出不符合该特征的任何单个值。

由于这是一个时间序列,因此增加了需要持续(重新)检测异常值的复杂性。如果要在系列展开时执行此操作,那么我们只能使用旧数据进行检测,而不能使用未来的数据。此外,为了防止许多重复测试,我们使用一种误报率非常低的方法。

这些注意事项建议对数据运行简单、可靠的移动窗口异常值测试。有很多可能性,但一种简单、易于理解和易于实现的是基于运行ARIMA:与中位数的中位数绝对偏差。这是数据中变异的强稳健度量,类似于标准差。离群峰将比中位数大几个ARIMA或更多。

读取数据

绘制时间序列图

临时变化的离群值

在识别异常值和建议一个合适的ARIMA模型方面做得很好。见下面应用auto.arima。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20221128A05T0C00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券