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

news2024/10/7 14:23:57

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

最近我们被要求解决时间序列异常检验的问题。有客户在使用大量的时间序列。这些时间序列基本上是每10分钟进行一次的网络测量,其中一些是周期性的(即带宽),而另一些则不是(即路由流量)点击文末“阅读原文”获取完整代码数据)。

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

相关视频

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

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

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

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

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

读取数据

data1=read.table("正常数据.txt")

data2=read.table("异常数据.txt")

data3=read.table("异常数据第二组.txt")

#查看数据

head(data1)

head(data2)

head(data3)

绘制时间序列图

plot.ts(data1)

0daa08e00a12746bb0a5bbaaebd70d6b.png

394e960346439db22924e3e22d822160.png

临时变化的离群值

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

c4597b7dc2ddb1c182c2dc8d391047a0.png


点击标题查阅往期内容

e43061d66cc4c8678f5c9467a148c66e.png

python深度学习实现自编码器Autoencoder神经网络异常检测心电图ECG时间序列

outside_default.png

左右滑动查看更多

outside_default.png

01

e8d063ee8aec1bb069d3b90d1e17f358.png

02

ef377b5dddd76bf2c0d3f2d83180454d.jpeg

03

e6a08f45f0cb545b4364c0c056a3485c.png

04

eb52783290418ba30b4127993cc60144.jpeg

拟合arima模型,得出最优参数

fit=auto.arima(data1,trace=T)

Fit

f429279980a39d6c8a99ab43925e367f.png

7782d76c3b889ceec6dbe1fbb0c1c917.png

得出最优的arima模型p=1 q=1

a2e5ff4702b1f93944585dad127c59c0.png

将数据转换成time series格式

使用函数检测异常点 参数比照上面autorima得出的参数p=1 q=1

to(tsmethod = "auto.arima"

                  ,argethod=list( stepwise=FALSE ))
                  #设置环境参数 时间窗口和异常点范围阈值

window <- 30

threshold <- 3


#求出中位数几倍范围之外的样本点作为异常点

ut <- function(x) {

m = median(x);

 median(x) + threshold * median(abs(x - m))

}

#移动时间窗口查看时间序列中的符合条件的时间点

 

z <- rollaly(zoo(data2))

找出data2中符合条件的时间点作为异常序列 f39f4d5683a5d848d786e4e2a78400a5.png


ca9482ed8b66159ad8ee591e615532fc.png

点击文末“阅读原文”

获取全文完整代码数据资料。

本文选自《R语言用ARIMA模型滑动时间窗口识别网络流量时间序列异常值》。

点击标题查阅往期内容

python用ARIMA模型预测CO2浓度时间序列实现

R语言ARIMA-GARCH波动率模型预测股票市场苹果公司日收益率时间序列

R语言中的时间序列分析模型:ARIMA-ARCH / GARCH模型分析股票价格

R语言多元Copula GARCH 模型时间序列预测

python中的copula:Frank、Clayton和Gumbel copula模型估计与可视化

R语言中的copula GARCH模型拟合时间序列并模拟分析

matlab使用Copula仿真优化市场风险数据VaR分析

R语言多元Copula GARCH 模型时间序列预测

R语言Copula函数股市相关性建模:模拟Random Walk(随机游走)

R语言实现 Copula 算法建模依赖性案例分析报告

R语言ARMA-GARCH-COPULA模型和金融时间序列案例

R语言基于copula的贝叶斯分层混合模型的诊断准确性研究

R语言COPULA和金融时间序列案例

matlab使用Copula仿真优化市场风险数据VaR分析

matlab使用Copula仿真优化市场风险

R语言多元CopulaGARCH模型时间序列预测

R语言Copula的贝叶斯非参数MCMC估计

R语言COPULAS和金融时间序列

R语言乘法GARCH模型对高频交易数据进行波动性预测

R语言GARCH-DCC模型和DCC(MVT)建模估计

Python使用GARCH,EGARCH,GJR-GARCH模型和蒙特卡洛模拟进行股价预测

R语言时间序列GARCH模型分析股市波动率

R语言ARMA-EGARCH模型、集成预测算法对SPX实际波动率进行预测

matlab实现MCMC的马尔可夫转换ARMA - GARCH模型估计

Python使用GARCH,EGARCH,GJR-GARCH模型和蒙特卡洛模拟进行股价预测

使用R语言对S&P500股票指数进行ARIMA + GARCH交易策略

R语言用多元ARMA,GARCH ,EWMA, ETS,随机波动率SV模型对金融时间序列数据建模

R语言股票市场指数:ARMA-GARCH模型和对数收益率数据探索性分析

R语言多元Copula GARCH 模型时间序列预测

R语言使用多元AR-GARCH模型衡量市场风险

R语言中的时间序列分析模型:ARIMA-ARCH / GARCH模型分析股票价格

R语言用Garch模型和回归模型对股票价格分析

GARCH(1,1),MA以及历史模拟法的VaR比较

matlab估计arma garch 条件均值和方差模型

R语言ARMA-GARCH-COPULA模型和金融时间序列案例

88e316e4e68d46193365c4bcf8ae326a.png

86ec8b352514704b9cb3ea1da85ff7d6.jpeg

6429802561a36df4abddcb6eb1772ddd.png

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/45633.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Android Jetpack Compose——一个简单的聊天界面

Jetpack Compose——聊天界面前言效果视频引入RowColumnTextImage聊天界面效果左边布局右边布局插入数据总结前言 目前声明式UI已经成为前端开发趋势&#xff0c;除了一开始的跨端开发React,Flutter等以及Web支持外&#xff0c;后续Android和IOS平台也相继推出声明式开发&…

零基础快速开发Vue图书管理系统—登录注册篇(一)

零基础快速开发Vue图书管理系统—登录注册篇&#xff08;一&#xff09; 一、图书管理系统项目功能 二、项目技术选型 前端主要采用&#xff1a;Vue3.x (vuex/vue-router)、Ant Design Vue、Axios等服务端主要采用&#xff1a;Node.js、Koa、Mongoose等数据库主要采用&#x…

Docker安装Redis集群失败经历汇总

在程序员的开发过程中&#xff0c;Redis可以说基本上是必不可少的缓存中间件。不管是二进制包还是docker安装Redis的文章在网上都是数不胜数。我之前自己玩Redis的时候基本不是二进制包安装就是docker安装&#xff0c;也没有尝试过集群方式。每次需要的时候&#xff0c;网上百度…

DataFrame转化为json的方法教程

网络上有好多的教程&#xff0c;讲得不太清楚和明白&#xff0c;我用实际的例子说明了一下内容&#xff0c;附档代码&#xff0c;方便理解和使用 DataFrame.to_json(path_or_bufNone, orientNone, date_formatNone, double_precision10, force_asciiTrue, date_unitms, defau…

考研数据结构大题整合_组一(ZYL组)

考研数据结构大题整合 目录考研数据结构大题整合一、ZYL组ZYL组一ZYL组二ZYL组三ZYL组四ZYL组五ZYL组六ZYL组七ZYL组八一、ZYL组 ZYL组一 1.一棵树有度为i的结点ni 个(i1,2,3,…m), 求叶结点的个数.&#xff08;10分&#xff09; 2、已知带权连通图G(V,E)的邻接表如图所示&am…

rubbitmq 图形界面使用 常用六种通信模式 Simple-Work-fanout-direct-topic-headers

阿里云服务器添加rubbitmq需要开启端口:rabbitmq阿里云服务器开放端口号 Rubbitmq地址: 服务器地址:15672 1.简单模式Simple 一个生产者、一个消费者&#xff0c;不需要设置交换机&#xff08;使用默认的交换机&#xff09; 2.工作队列模式Work Queue 一个生产者、多个消费者&a…

windows操作系统双网卡问题处理办法

windows操作系统双网卡问题处理办法&#xff08;详解&#xff09;一、命令说明二、处理办法1.设置外网网关为默认网关2.查看当前路由表3.删除缺省路由4.添加访问外网的缺省路由5.添加访问内网的路由信息一、命令说明 显示 IP 路由表的信息 route print显示 IP 路由表中以 192…

3.7.3、ARP协议(网际层)

地址解析协议 ARP 1、工作原理 在共享总线型的以太网中 为了简单起见&#xff1a;只有各主机所配置的 IP 地址和其网卡上固化的 MAC 地址 假设主机 B 要给主机 C 发送数据包 主机 B 知道主机 C 的 IP 地址&#xff0c;但是不知道 C 的 MAC 地址 因此&#xff0c;主机 B 的…

使用 Bytebase 管理 Rainbond 上的应用数据库

在应用的发布过程中数据库的结构变更一直是最复杂也是风险最大的环节&#xff0c;而 Bytebase 可以对这一过程进行全生命周期的管理。在 Rainbond 中安装 Bytebase&#xff0c;轻松管理部署在 Rainbond 上的所有数据库。 Bytebase 是什么&#xff1f; Bytebase 是一个开源的数…

linux驱动 usb转串口ch344 改变读取缓冲区大小

开发环境 核心板&#xff1a;IMX6 内核版本&#xff1a;linux4.1.5 问题 通过USB扩展出来的串口接收数据会出现截断现象&#xff0c;而且每次截断的大小都一样。而核心板提供的串口UART就没有这个现象。 核心板自带串口正常的现象&#xff1a; 扩展串口异常现象&#xff1a…

【软件测试】8年资深测试说出来我们的心声......

目录&#xff1a;导读前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结&#xff08;尾部小惊喜&#xff09;前言 执着于手动的功能测…

VLAN划分-----计算机网络

拓扑图 LSW1与LSW2都是三层交换机&#xff0c;现在两台交换机分别连着两台pc。 其中&#xff1a; LSW1的0/0/1端口连着pc1&#xff0c;0/0/2连着pc2&#xff0c;0/0/3端口连着lsw2。 LSW2的0/0/1端口连着pc3&#xff0c;0/0/2连着pc4&#xff0c;0/0/3端口连着lsw1。 不同vlan…

pycharm opencv无法自动补全

我的环境 python 3.6.9opencv-python 4.4.0.42opencv-contrib-python 4.6.66ubuntu 18.04 LTSpycharm 2020.3.2 解决方案 首先找到cv2的site-packagespip3 show opencv-python进入到该目录, 复制so结尾文件至上级目录: cp cv2.cpython-36m-x86_64-linux-gnu.so ../等待pych…

基于粒子群算法和遗传算法优化的高速列车横向悬挂

目录 前言 1.高速列车模型 2.优化算法优化模糊PID流程 3.普通PID、优化算法模糊PID仿真对比 3.1 模糊控制器设计 3.2 仿真结果 3.2.1粒子群优化PID 3.2.2粒子群优化模糊PID 3.2.3遗传算法优化模糊PID 4.总结 前言 高速列车&#xff0c;是指最高行驶速度在200km/h 及以…

二、【React-Router5】路由的基本使用

文章目录1、写在前面的总结2、效果图3、项目结构4、CODE4.1、index.js4.2、App.js4.3、About.jsx4.4、Home.jsx5、Result6、路由组件与一般组件7、Link 升级 NavLink8、封装NavLink8.1、MyNavLink.jsx8.2、修改上面4.2部分代码1、写在前面的总结 明确好界面中的导航区、展示区…

火山引擎数智平台:CDP产品要能与多方联动

更多技术交流、求职机会&#xff0c;欢迎关注字节跳动数据平台微信公众号&#xff0c;回复【1】进入官方交流群 CDP&#xff08;Customer Data Platform&#xff0c;客户数据平台&#xff09;市场将迎来新一轮的高速增长。 国际数据公司&#xff08;以下简称“IDC”&#xff0…

[附源码]Python计算机毕业设计SSM流浪猫狗救助站(程序+LW)

项目运行 环境配置&#xff1a; Jdk1.8 Tomcat7.0 Mysql HBuilderX&#xff08;Webstorm也行&#xff09; Eclispe&#xff08;IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持&#xff09;。 项目技术&#xff1a; SSM mybatis Maven Vue 等等组成&#xff0c;B/S模式 M…

ofxTimeMeasurements——OpenFrameworks插件,可以轻松测量C++代码任何部分的执行时间

一、简介 ofxTimeMeasurements是一款用于OpenFrameworks 开源C框架的插件&#xff0c;可以让使用者轻松测量C代码任何部分的执行时间。其优势在于以图形化的方式显示代码执行时间。效果如下&#xff1a; 只是它必须依赖OpenFrameworks&#xff0c;所以如果你不用这个框架&…

《Head First HTML5 javascript》第10章 自定义对象

2022.11.23 第10章 自定义对象 面向对象OOP(Object Oriented Programming) 对象是一个包含相关数据和方法的集合&#xff08;通常由一些变量和函数组成&#xff0c;我们称之为对象里面的属性和方法&#xff09;对象是存储在单个分组中的相关功能的集合。在 JavaScript 中&…

第二证券|多只公募基金损失惨重;储能板块低开高走

今天早盘&#xff0c;A股大幅低开&#xff0c;上证50指数直接跳空跌破2500点&#xff0c;最多跌逾3%&#xff0c;创业板指亦跌破2300点整数关口。 盘面上&#xff0c;酒店餐饮、旅游、储能、ST等板块逆势活跃&#xff0c;酿酒、工程机械、互联网、证券等板块跌幅居前。北上资金…