当前位置: 首页 > news >正文

拐点检测常用算法总结

目录

  • 概览
    • 问题定义
    • 符号定义
    • 研究方法
    • 损失函数

概览

问题定义

拐点检测名为 change point detection,对于一条不平缓的时间序列曲线,认为存在一些时间点 ( t 1 , t 2 , . . . , t k ) ( t_1 , t_2 , . . . , t_k ) (t1,t2,...,tk) ,使得曲线在这些点对应的位置发生突变,这些时间点对应的曲线点称为拐点,在连续的两个拐点之间,曲线是平稳的。
在这里插入图片描述
拐点检测算法的质量,通过算法输出拐点与实际观测到的拐点的差值绝对值除以样本数来评估。
在这里插入图片描述
理想情况下,当样本数 T 无穷大时,误差应该减少到 0,这种性质称为满足渐近一致性 (asymptotic consistency.)
在这里插入图片描述

符号定义

y a . . b y_{a..b} ya..b 表示时间点 a a a b b b 之间的时间序列,因此完整信号为 y 0.. T y_{0..T} y0..T

对于给定的拐点索引 t t t,它的关联分数 associate fraction 称为拐点分数 change point fractions ,公式为 :
在这里插入图片描述
拐点分数的集合 τ = τ 1 , τ 2 , … \pmb{τ} = { τ_1 , τ_2 , … } τ=τ1,τ2,,写作 ∣ τ ∣ \boldsymbol{|\tau|} τ

研究方法

一般思路是构造一个对照函数 contrast function,目标是将对照函数的值最小化。
在这里插入图片描述
其中 c ( ⋅ ) c(\cdot) c() 表示用来测量拟合度 goodness-of-fit 的损失函数 cost function,损失函数的值在均匀的子序列上较低,在不均匀的子序列上较高。

基于离散优化问题 discrete optimization problem,拐点的总数量记为 K

如果 K 是固定值,估算的拐点值为:
在这里插入图片描述
如果 K K K 不是固定值,估算的拐点值为:
在这里插入图片描述
其中 p e n ( t ) pen(t) pen(t) 为对 t t t 的惩罚项

在这种方法论下,拐点检测的算法包含以下三个元素:

  1. 选择合适的损失函数来测算子序列的均匀程度 homogeneity,这与要检测的变化类型有关
  2. 解决离散优化问题
  3. 合理约束拐点的数量,确定使用固定的 K 还是用 pen() 来惩罚 penalizing 不固定的数量

损失函数

相关文章:

  • ui设计到底能不能学/厦门seo全网营销
  • wordpress 置顶 插件/网站排名怎么做上去
  • 江门网站建设 卓华/广州seo运营
  • wordpress中文手册/产品网络推广怎样做
  • 长沙网站优化公司/网络营销策略分析方法
  • 网站优化推广/app怎么开发出来的
  • YonBuilder 应用构建教程之移动端扩展
  • 文本处理工具
  • Virtualbox设置固定IP
  • 基于云计算与深度学习的常见作物害虫识别
  • 数据量大也不卡的bi软件有哪些?
  • springboot整合log4j2
  • c++11 标准模板(STL)(std::forward_list)(九)
  • 速度为单GPU1.6倍,kaggle双GPU(ddp模式)加速pytorch攻略
  • SpringMVC DispatcherServlet源码(1) 注册DispatcherServlet流程
  • 带你认识QOwnNotes
  • git 创建远程仓库
  • 装修--避坑--窗帘