python 时间序列异常值_时间序列异常检测(一)—— 算法综述

更新:

2020/09/02:新增一篇写的很好的关于视频监控异常检测的学报http://jst.tsinghuajournals.com/CN/rhhtml/20200609.htm​jst.tsinghuajournals.com

一. 介绍

异常检测(Anomaly detection)是目前时序数据分析最成熟的应用之一,定义是从正常的时间序列中识别不正常的事件或行为的过程。有效的异常检测被广泛用于现实世界的很多领域,例如量化交易,网络安全检测、自动驾驶汽车和大型工业设备的日常维护。以在轨航天器为例,由于航天器昂贵且系统复杂,未能检测到危险可能会导致严重甚至无法弥补的损害。异常随时可能发展为严重故障,因此准确及时的异常检测可以提醒航天工程师今早采取措施。

1.1 判断异常的方法异常类型:异常检测:

- 直接检测:针对点异常,直接定位离群点

- 间接检测:上下文或集合异常先转化成点异常,然后再求解

时间跨度: ARIMA, MA, 回归模型,指数光滑等

序列跨度:许多传感器应用程序产生的时间序列通常彼此紧密相关。例如,在一个传感器上的鸟叫通常也会被附近的传感器记录下来。在这种情况下,经常可以使用一个序列来预测另一个序列。与此类预期预测的偏差可以报告为异常值。隐式马尔科夫链HMM等

1.2 ARIMA类算法详解:预处理

a) 对于纯随机序列,也称为白噪声序列,序列的各项之间没有任何的关系, 序列在进行完全无序的随机波动, 可以终止对该序列的分析。

b) 对于平稳非白噪声序列, 它的均值和方差是常数。ARMA 模型是最常用的平稳序列拟合模型。

c) 对于非平稳序列, 由于它的方差和均值不稳定, 处理方法一般是将其转化成平稳序列。 可以使用ARIMA 模型进行分析。预处理流程建模

a) AR 自回归模型:描述当前值与历史值之间的关系, 用变量自身的历史时间数据对自身进行预测。自回归模型必须满足平稳性的要求。

公式定义:

自回归模型的限制:

1.自回归模型是使用自身的数据进行预测的

2.必须具有平稳性

3.必须具有相关性,如果相关性小于 0.5 , 则不宜使用

4.自回归模型只适用于预测与自身前期相关的预测。

b) MA(移动平均模型):•移动平均模型关注的是自回归模型中的误差项的累加

•移动平均法能有效地消除预测中的随机波动。

c) ARIMA(p,d,q)差分自回归移动平均模型(Autoregressive Integrated Moving Average Model ,简称ARIMA)

自回归和移动平均的结合。

AR 是自回归, p 是自回归项, MA 是移动平均, q 为移动平均项, d 为时间序列称为平稳时 所做的差分次数。

原理: 将非平稳时间序列转换成平稳时间序列, 然后将因变量仅对它的滞后值(p阶)以及随机误差项的现值和滞后值进行回顾所建立的模型。实例:使用ARIMA 模型对某餐厅的销售数据进行预测

#coding=gbk

#使用ARIMA 模型对非平稳时间序列记性建模操作

#差分运算具有强大的确定性的信息提取能力, 许多非平稳的序列差分后显示出平稳序列的性质, 这是称这个非平稳序列为差分平稳序列。

#对差分平稳序列可以还是要ARMA 模型进行拟合, ARIMA 模型的实质就是差分预算与 ARMA 模型的结合。

#导入数据

import pandas as pd

filename = r'D:\datasets\arima_data.xls'

data = pd.read_excel(filename, index_col = u'日期')

#画出时序图

import matplotlib.pyplot as plt

plt.rcParams['font.sans-serif'] = ['SimHei'] #定义使其正常显示中文字体黑体

plt.rcParams['axes.unicode_minus'] = False #用来正常显示表示负号

# data.plot()

  • 0
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值