变点问题的公式推导

背景与关键定义

  1. 变点检测问题

    变点检测的目标是在给定的观测序列 y 1 , y 2 , ... , y T y_1, y_2, \dots, y_T y1,y2,...,yT 中,找到一个或多个点(变点),使得每段子序列(即变点划分的区间)能被一个较简单的模型(比如常数均值模型)很好地拟合。

  2. 代价函数 C \mathcal{C} C
    C \mathcal{C} C 表示给定一段子序列(如 y ( t + 1 ) : s y_{(t+1):s} y(t+1):s)的拟合代价(cost)。代价越小,说明这段序列被拟合得越好。

  3. 引入变点的目标

    通常我们希望通过引入变点,使得划分后的子序列总代价减少。公式 (2) 的假设反映了这一点:
    C ( y ( t + 1 ) : s ) + C ( y ( s + 1 ) : T ) + K ≤ C ( y ( t + 1 ) : T ) , \mathcal{C}\left(y_{(t+1): s}\right)+\mathcal{C}\left(y_{(s+1): T}\right)+K \leq \mathcal{C}\left(y_{(t+1): T}\right), C(y(t+1):s)+C(y(s+1):T)+K≤C(y(t+1):T),

    表示将序列 y ( t + 1 ) : T y_{(t+1): T} y(t+1):T 划分成两段(用变点 s s s 分开)后,总代价会减少。

  4. 动态规划框架

    动态规划求解变点检测问题时,我们递归计算:
    F ( T ) = min ⁡ τ { F ( τ ) + C ( y ( τ + 1 ) : T ) + β } , F(T) = \min_{\tau} \{ F(\tau) + \mathcal{C}(y_{(\tau+1):T}) + \beta \}, F(T)=τmin{F(τ)+C(y(τ+1):T)+β},

    其中:

    • F ( τ ) F(\tau) F(τ):序列 y 1 : τ y_{1:\tau} y1:τ 的最优划分代价。
    • β \beta β:引入一个变点的固定代价(penalty)。
    • τ \tau τ:候选的上一个变点。

    因为枚举所有可能的 τ \tau τ 代价很高,我们希望通过数学分析提前剔除一些不可能成为最优解的候选变点


定理 3.1 的主要内容

目标 :如果某个点 t t t 不可能成为未来某个时间点 T > s T>s T>s 的最优变点,我们希望尽早把它剔除,从而减少动态规划的计算量。

定理的核心思想 :如果 t t t 满足:
F ( t ) + C ( y ( t + 1 ) : s ) + K ≥ F ( s ) , F(t) + \mathcal{C}\left(y_{(t+1):s}\right) + K \geq F(s), F(t)+C(y(t+1):s)+K≥F(s),

那么对于所有未来的 T > s T > s T>s, t t t 不可能是最优变点。

直观解释

  • 变点 t t t 的分段代价(加上 K K K)已经超过从 s s s 开始分段的代价 F ( s ) F(s) F(s)。
  • 这说明从 t t t 开始分段的效果不如从 s s s 开始分段,因此 t t t 永远不会成为未来的最优选择。

证明的关键步骤

  1. 假设 (3) 成立
    F ( t ) + C ( y ( t + 1 ) : s ) + K ≥ F ( s ) . F(t) + \mathcal{C}\left(y_{(t+1):s}\right) + K \geq F(s). F(t)+C(y(t+1):s)+K≥F(s).

    我们在 t t t 和 s s s 两种可能分段中,发现 t t t 比 s s s 的代价更大。

  2. 添加未来段的代价

    考虑 T > s T>s T>s,加入 C ( y ( s + 1 ) : T ) \mathcal{C}(y_{(s+1):T}) C(y(s+1):T):
    F ( t ) + C ( y ( t + 1 ) : s ) + K + C ( y ( s + 1 ) : T ) ≥ F ( s ) + C ( y ( s + 1 ) : T ) . F(t) + \mathcal{C}\left(y_{(t+1):s}\right) + K + \mathcal{C}\left(y_{(s+1):T}\right) \geq F(s) + \mathcal{C}\left(y_{(s+1):T}\right). F(t)+C(y(t+1):s)+K+C(y(s+1):T)≥F(s)+C(y(s+1):T).

    这说明即使考虑未来序列,选择 t t t 作为变点的代价依然不如选择 s s s 的代价。

  3. 结合动态规划公式

    根据动态规划的递归公式:
    S T = { F ( τ ) + C ( y ( τ + 1 ) : T ) + β , τ = 0 , 1 , ... , T − 1 } . S_T = \{F(\tau) + \mathcal{C}(y_{(\tau+1):T}) + \beta, \tau = 0, 1, \dots, T-1\}. ST={F(τ)+C(y(τ+1):T)+β,τ=0,1,...,T−1}.
    t t t 的值不会比 s s s 小,因此 t t t 永远不会成为集合 S T S_T ST 的最优解。

  4. 结论
    t t t 可以从候选集合中剔除。


定理的重要意义

  1. 加速动态规划

    在变点检测的动态规划算法中,通过剔除不可能的候选变点,可以减少计算量,显著加快算法。

  2. 数学条件的合理性

    定理基于变点的代价函数 C \mathcal{C} C 满足一定的"单调性"假设,这在实际问题中是常见的。

  3. 适用范围广

    这种剔除策略不仅限于特定代价函数或数据集,具有通用性。


总结

  • 定理 3.1 提供了一个数学工具,用于在变点检测问题中高效筛选候选变点。
  • 证明利用了动态规划的递归公式,结合代价函数的性质,展示了某些变点在特定条件下无法成为最优解。
  • 实际应用中,这一结果能显著优化计算效率,尤其是当数据规模较大时。

我们详细推导定理 3.1 的证明。目标是从假设 F ( t ) + C ( y ( t + 1 ) : s ) + K ≥ F ( s ) F(t) + \mathcal{C}(y_{(t+1):s}) + K \geq F(s) F(t)+C(y(t+1):s)+K≥F(s) 出发,证明 t t t 无法成为未来时间 T > s T > s T>s 的最优变点。


前置公式和假设

  1. 动态规划的核心公式是:
    F ( T ) = min ⁡ τ = 0 , 1 , ... , T − 1 { F ( τ ) + C ( y ( τ + 1 ) : T ) + β } , F(T) = \min_{\tau=0,1,\ldots,T-1} \{ F(\tau) + \mathcal{C}(y_{(\tau+1):T}) + \beta \}, F(T)=τ=0,1,...,T−1min{F(τ)+C(y(τ+1):T)+β},

    其中:

    • F ( T ) F(T) F(T):从起点到时间 T T T 的最优代价。
    • C ( y ( τ + 1 ) : T ) \mathcal{C}(y_{(\tau+1):T}) C(y(τ+1):T):从 τ + 1 \tau+1 τ+1 到 T T T 的拟合代价。
    • β \beta β:添加一个变点的固定代价。
    • τ \tau τ:候选变点。
  2. 假设 (3) 是:
    F ( t ) + C ( y ( t + 1 ) : s ) + K ≥ F ( s ) , F(t) + \mathcal{C}(y_{(t+1):s}) + K \geq F(s), F(t)+C(y(t+1):s)+K≥F(s),

    表示在时间 s s s,从 t t t 到 s s s 的分段代价(加上 K K K)不小于从 s s s 开始分段的代价 F ( s ) F(s) F(s)。

  3. 从 (2) 可知,引入变点的代价函数是非增的,即:
    C ( y ( t + 1 ) : s ) + C ( y ( s + 1 ) : T ) + K ≤ C ( y ( t + 1 ) : T ) . \mathcal{C}(y_{(t+1):s}) + \mathcal{C}(y_{(s+1):T}) + K \leq \mathcal{C}(y_{(t+1):T}). C(y(t+1):s)+C(y(s+1):T)+K≤C(y(t+1):T).


证明步骤

第一步:结合假设 (3) 和未来代价

我们希望证明 t t t 无法成为未来时间 T > s T>s T>s 的最优变点。

  1. 从假设 (3) 出发,加入固定的惩罚项 β \beta β:
    F ( t ) + C ( y ( t + 1 ) : s ) + K + β ≥ F ( s ) + β . F(t) + \mathcal{C}(y_{(t+1):s}) + K + \beta \geq F(s) + \beta. F(t)+C(y(t+1):s)+K+β≥F(s)+β.

    这表示在时间 s s s,以 t t t 为变点的代价高于以 s s s 为变点的代价。

  2. 考虑 T > s T > s T>s,加入从 s + 1 s+1 s+1 到 T T T 的代价 C ( y ( s + 1 ) : T ) \mathcal{C}(y_{(s+1):T}) C(y(s+1):T):
    F ( t ) + C ( y ( t + 1 ) : s ) + K + β + C ( y ( s + 1 ) : T ) ≥ F ( s ) + β + C ( y ( s + 1 ) : T ) . F(t) + \mathcal{C}(y_{(t+1):s}) + K + \beta + \mathcal{C}(y_{(s+1):T}) \\ \geq F(s) + \beta + \mathcal{C}(y_{(s+1):T}). F(t)+C(y(t+1):s)+K+β+C(y(s+1):T)≥F(s)+β+C(y(s+1):T).

    这是因为两边都添加了同样的项 C ( y ( s + 1 ) : T ) \mathcal{C}(y_{(s+1):T}) C(y(s+1):T)。


第二步:利用代价的可加性

我们使用代价函数的可加性性质(公式 (2)):
C ( y ( t + 1 ) : s ) + C ( y ( s + 1 ) : T ) + K ≤ C ( y ( t + 1 ) : T ) . \mathcal{C}(y_{(t+1):s}) + \mathcal{C}(y_{(s+1):T}) + K \leq \mathcal{C}(y_{(t+1):T}). C(y(t+1):s)+C(y(s+1):T)+K≤C(y(t+1):T).

将其代入左边的不等式:
F ( t ) + C ( y ( t + 1 ) : T ) + β ≥ F ( s ) + β + C ( y ( s + 1 ) : T ) . F(t) + \mathcal{C}(y_{(t+1):T}) + \beta \geq F(s) + \beta + \mathcal{C}(y_{(s+1):T}). F(t)+C(y(t+1):T)+β≥F(s)+β+C(y(s+1):T).

这表示,加入从 t t t 到 T T T 的代价后,总代价依然大于从 s s s 到 T T T 的代价。


第三步:动态规划公式中的推论

根据动态规划公式:
S T = { F ( τ ) + C ( y ( τ + 1 ) : T ) + β , τ = 0 , 1 , ... , T − 1 } . S_T = \{F(\tau) + \mathcal{C}(y_{(\tau+1):T}) + \beta, \tau = 0, 1, \ldots, T-1\}. ST={F(τ)+C(y(τ+1):T)+β,τ=0,1,...,T−1}.

  • t t t 对应的代价是 F ( t ) + C ( y ( t + 1 ) : T ) + β F(t) + \mathcal{C}(y_{(t+1):T}) + \beta F(t)+C(y(t+1):T)+β。
  • s s s 对应的代价是 F ( s ) + C ( y ( s + 1 ) : T ) + β F(s) + \mathcal{C}(y_{(s+1):T}) + \beta F(s)+C(y(s+1):T)+β。

由前面的推导可知:
F ( t ) + C ( y ( t + 1 ) : T ) + β ≥ F ( s ) + C ( y ( s + 1 ) : T ) + β . F(t) + \mathcal{C}(y_{(t+1):T}) + \beta \geq F(s) + \mathcal{C}(y_{(s+1):T}) + \beta. F(t)+C(y(t+1):T)+β≥F(s)+C(y(s+1):T)+β.

因此, t t t 对应的代价比 s s s 大, t t t 不可能是 S T S_T ST 的最优解。


第四步:剔除 t t t

因为 t t t 的代价在所有 T > s T > s T>s 的情况下都比 s s s 大,因此 t t t 不可能成为未来任何时间点的最优变点。

结论是:

  • 在动态规划中, t t t 可以从候选集合中剔除。
  • 这减少了后续计算的复杂度。

关键逻辑总结

  1. 假设 F ( t ) + C ( y ( t + 1 ) : s ) + K ≥ F ( s ) F(t) + \mathcal{C}(y_{(t+1):s}) + K \geq F(s) F(t)+C(y(t+1):s)+K≥F(s) 表示 t t t 的代价在 s s s 处已经不如 s s s。
  2. 使用代价函数的可加性,将 t t t 的代价扩展到未来时间 T > s T > s T>s。
  3. 结合动态规划公式,说明 t t t 在所有未来时间 T > s T > s T>s 的代价都不如 s s s。
  4. 结论是 t t t 无法成为未来的最优变点,动态规划时可以剔除 t t t。
相关推荐
Naion1 小时前
统计学习算法——逻辑斯谛回归
学习·算法·回归
刘鑫磊up3 小时前
第十二章:算法与程序设计
算法·算法与程序设计
羽落963 小时前
左神算法基础提升--3
算法
云边有个稻草人3 小时前
【优选算法】三数之和(双指针算法)
笔记·算法·双指针算法
凌小添3 小时前
Python入门教程丨2.3 流程控制、算法效率分析及优化
python·算法
像污秽一样3 小时前
AI刷题-小R的随机播放顺序、不同整数的计数问题
开发语言·c++·算法
竹下为生4 小时前
LeetCode --- 432周赛
算法·leetcode·职场和发展
松桥爸(仁勇)4 小时前
【72课 局部变量与全局变量】课后练习
c++·算法
紫钺-高山仰止4 小时前
【脑机接口数据处理】matlab读取ns6 NS6 ns5NS5格式脑电数据
数据结构·数据库·算法·matlab
miilue5 小时前
[LeetCode] 链表完整版 — 虚拟头结点 | 基本操作 | 双指针法 | 递归
java·开发语言·数据结构·c++·算法·leetcode·链表