文章目录
写在前面:计算机应用;主办方:中国科学院成都分院、四川省计算机学会;中文核心期刊;月刊;C类
0 封面
- 这篇文章采用【精读】:
- 阅读顺序:title - author - abstract - keyword - conclusion - introduction - fugures and results - method - references
1 标题(title)
- 基于滑动窗口预测的水文时间序列异常检测
- 滑动窗口是一个点,现在有很多的技术都是基于滑动窗口的(这篇文章是2014年见刊的,但是滑动窗口依旧很热)
- 水文时间序列异常检测,就是挖掘水文时间序列中的异常点。
2 作者(author)
- 是三位老师,这篇文章应该不错
3 摘要(abstract)
- 水文时间序列的【分析和决策】过程中,存在数据质量问题。
- 划分时间序列,以子序列为基础建立预测模型,对未来值进行预测,如果差异值大于预设阈值,则判定异常。
- 滑动窗口大小如何设置?参数设置?预设阈值设置?
- 本文贡献:①挖掘水文时间序列中的异常点;②将异常检测的灵敏度和特异度分别提高到80%和98%+
4 关键词
时间序列; 异常检测; 预测模型; 置信区间; 滑动窗口
5 结论
- 提出滑动窗口的预测算法,以检测水位时间序列中异常;
- 采用动态参数选择方法选择最优参数模型
- 作者说,能够及时、准确的发现时间序列的异常点
6 论文中的图表
6.1 图一:基于滑动串口的异常检测算法流程
6.2 图二:测站的数位、流量数据集
6.3 图三:算法异常检测结果
- 这个是没看懂的,图有点复杂看不清楚
7 引言(introduction)
时间序列挖掘
作为数据挖掘领域的研究问题之一,已经被广泛应用于水文时间序列相似性搜索、序列模式挖掘和周期分析等领域。- 发现并减少水文时间序列中的异常点,对数据分析具有一定促进作用。
问题描述:给定一个包含n个数据点或对象的集合,以及预期的异常点数目k,发现与剩余的数据相比是显著异常的、孤立的或不一致的前k个对象的过程。
-
异常检测需要解决两个问题:
(1)在给定的数据集合中,定义什么样的数据是异常的。(提出自己的想法:如何确定哪些是异常点?这是一个监督学习的过程,那么预先打标签的工作如何完成?总不能是手动打标签吧)
(2)找到一个有效的方法来检测这样的异常数据 -
时间序列异常可以分为三种:
序列异常、点异常和模式异常
-
结果表明,单层线性网络预测模型能够获取最理想的检测效率
8 基于活动窗口预测的时间序列异常检测
8.1 相关定义
-
定义——水文时间序列
-
定义——k-最近邻居窗口(严格的说,这个是2k)
定义——**异常点 **
-
总结—— k k k 的值和 τ \tau τ 的值需要动态调整,达到最优
8.2【最重要】算法描述
-
算法思想不难:①
one-step-ahead
预测模型,输入是i个前驱序列,输出是第i+1
的预测值;②如果 d i + 1 d_{i+1} di+1在置信区间内,则滑动窗口后移1,如果不在置信区间内,则用预测值替换掉原来的值,滑动窗口后移一位。 -
注意:文字和图稍微有点不对应
-
假设t时刻的观测值,是其前驱邻接窗口的线性组合:
8.3 滑动窗口的定义
8.4 one-step-ahead预测模型
- 总结一下,最后使用的是单层线性网络
8.1 异常点判定
- 置信度阈值 τ \tau τ(希腊字母,tao)、置信区间( P C I PCI PCI)如下所示: