change-detection-tutorial, 在时间序列数据中,关于更改检测的教程

分享于 

5分钟阅读

GitHub

  繁體 雙語
Tutorial on change detection in time series data
  • 源代码名称:change-detection-tutorial
  • 源代码网址:http://www.github.com/amanahuja/change-detection-tutorial
  • change-detection-tutorial源代码文档
  • change-detection-tutorial源代码下载
  • Git URL:
    git://www.github.com/amanahuja/change-detection-tutorial.git
    Git Clone代码到本地:
    git clone http://www.github.com/amanahuja/change-detection-tutorial
    Subversion代码到本地:
    $ svn co --depth empty http://www.github.com/amanahuja/change-detection-tutorial
    Checked out revision 1.
    $ cd repo
    $ svn up trunk
    
    change-detection-tutorial

    目标

    我们要检测信号的变化,以有序/按时间顺序收集数据点。 我们将考虑每个数据点都是标量值的情况。

    教程方法

    我们将从最简单的信号开始,最简单的变化检测 method(s)。 这将使我们能够简单地介绍一些基本概念。 在基本的基础上,我们将尝试解决一些由"真实世界"问题引起的问题。 这可能会迅速增加大量复杂性,并且会问我们早期做的一些假设,但希望有足够的上下文。

    我们要么制作数据,要么免费使用可用的public 数据源。 python ( python 2.7 ) 将用于编码和可视化,从IPython笔记本中。 虽然这些原则对编程语言的选择是不。 我们可以在这里使用开源 python 库。

    如何使用本教程

    使用本教程的最简单方法是( 仅限仅限) 查看输出。 你将无法编辑或者实验代码,但是你将能够跟随。

    ***Simply 跟随到 nbviewer.ipython.org的链接来查看IPython笔记本。 这些链接位于本自述文件的"教案"部分。 ***

    但是,使用本教程推荐的方法是将 repo 克隆到你的机器并在本地运行ipython笔记本。 按以下步骤操作:

    
    ## 1. Clone this repo to a new directory on your machine
    
    
    
    ## 2. Set up a virtual environment using virtualenv or conda, and activate it. 
    
    
    
    ## 3. Install prerequisites listed under requirements.txt
    
    
    
    ## 4. Start an ipython notebook server and navigate to the notebooks in your browser
    
    
    
    

    你可以随着教程进行跟踪和编辑代码,像任何,笔记本一样。 有关详细信息,请参阅 http://ipython.org/ipython-doc/stable/notebook/index.html

    课程计划

    包含指向 nbviewer.ipython.org的链接以联机查看教程。

    • 第 00节:脚手架 [View in ipynb nbviewer] 1

    • 脱机 vs 在线更改检测

    • ChangeDetector用于教程的自定义类

    • 第 01节:介绍 [View in ipynb nbviewer] 2

    • 简介( 什么是更改检测)

    • 对正( 为什么更改检测内容)

    • 第 02节 [View in ipynb nbviewer] 3

    • "static 平均值"更改检测器

    • 最近( 振幅) vs 全局( 均值) 检测器

    • 第 03节:Windows [View in ipynb nbviewer] 4

    • 异常值

    • 噪声

    • 流媒体 Windows

    • 基于z 得分的检测器

    • 第 04节:welford [View in ipynb nbviewer] 5 方法

    • welford方法

    • 第 05节:累积 [View in ipynb nbviewer] 6

    • hyperparameter灵敏度

    • 累积

    • ( 用例) 06: 心电图 [View in ipynb nbviewer] 7

    • 心电图信号异常检测

    • @tdunning's 方法:

      • 将信号分割为 Windows
      • 使用kmeans聚类从正常信号构建 Windows的"词典"
      • 使用字典重建信号
      • 基于重构错误设计触发器

    更多内容

    如果有兴趣,我可以添加其他章节来讨论这些主题:

    • 似然比和cumalative和检验。
    • 页面hinkley停止规则
    • 使用本地方法和移动 Windows 降低计算成本。
    • 接收信号的光谱特性
    • 累积
    • 峰值检测 vs 漂移检测

    设计检测算法的标准( 或者分析它们的性能)

    • 平均时间b/w false 警报
    • 错误检测 [false positives ]的问题
    • 检测的平均延迟
    • 非检测 [false negatives ]的问题
    • 故障起始时间和变化幅度估计的准确性

    命令行参考:

    文件/书籍:

    
    Michèle Basseville
    
    
     -"Statistical methods for change detection" (2002)
    
    
     -"Detecting Changes in Signals and Systems: A Survey" (1988) Automation, Vol. 2,t, No. 3, pp. 309-326
    
    
    Aggarwall. 
    
    
     -"Outlier Detection" (2013 **check** )
    
    
    
    

    另请参阅:


    数据  时间  教程  Detect  检测  Series