返回
查看原链接原链接
Bilibili17分33秒 · —

稀疏非线性动力学识别(SINDy)中的数据挑战

稀疏非线性动力学识别(SINDy)中的数据挑战

核心结论:SINDy 算法能否成功识别非线性动力学系统,很大程度上取决于数据的质量与数量——它通常需要“相对干净、采样足够快、且包含足够丰富动力学信息”的数据,而噪声、低采样率和缺乏瞬态激励都会导致模型无法辨识。

1. 背景与问题提出

本讲座聚焦于 SINDy(Sparse Identification of Nonlinear Dynamics,稀疏非线性动力学识别)算法应用中的数据挑战。SINDy 是一种机器学习优化方法,用于从时间序列数据(如 Lorenz 系统、圆柱绕流)中构建动力学模型,能够学习“尽可能简单但仍能描述观测数据”的常微分方程或偏微分方程。

演讲者经常收到来自全球使用者的邮件,最常见的问题是:“我有了这种数据,想识别这种模型,但不管用,为什么?” —— 大多数情况归结为数据问题

SINDy 通常需要:

  • 相对干净的数据
  • 采样相对快
  • 数据具有足够的“丰富性”,足以让你判断出系统背后的动力学结构

已有一些重要进展放宽了这些限制,使 SINDy 能应用于更广泛类型的数据。本讲座将梳理数据在 SINDy 中的挑战,帮助使用者判断需要什么数据、可以对模型有什么期待。

2. SINDy 的整体架构与数据相关性

SINDy 的标准框架如下:

  • 假设你有一个动力学系统的时间序列数据(x, y, z),并且你认为存在一个稀疏的动力学系统(在这些坐标下)能描述该数据。
  • 需要选择合适的坐标系统(x, y, z)。
  • 构建一个候选函数库(library),包含可能描述动态的候选项(如多项式、三角项等)。
  • 用某个优化算法从库中选出最稀疏的项组合,使其拟合时间导数 ẋ, ẏ, ż。

关键点:这个过程需要从数据中近似计算导数(ẋ, ẏ, ż)。从含噪测量数据中估计导数尤其困难;如果测量有噪声,必须使用某种“正则化导数”技术来获得干净的导数估计。

因此,数据挑战涉及:

  1. 采样率
  2. 噪声水平
  3. 数据覆盖的动力学范围(是否激发足够多的瞬态)

3. 关键进展一:极短时间窗也能识别(干净数据 + 高采样率)

由 Kathleen Champion(Kathleen Champion,博士生,导师 Nathan Kutz 和本人)完成的出色工作显示:如果数据非常干净且采样足够快,那么即使绝对时间窗非常短,也能识别出非线性动力学系统

实验中 Kathleen 考察了四个动力学系统:

  • Lorenz 系统(混沌)
  • Duffing 系统(非线性振荡)
  • van der Pol 系统(非线性振荡)
  • Rössler 系统(混沌)

在图中,她考察了两个参数:

  • 采样率:每个振荡周期内有多少个 Δt(时间步)
  • 需要采样多少个完整振荡周期才能得到正确行为

结果发现:

  • 当采样率足够高(大约 2 的 8 次方=256 个样本/周期)时,只需不足一个完整周期的数据就能正确识别这些动力学系统。
  • 尤其令人惊讶的是 Lorenz 系统:即使只看到“不到一个完整周期”、甚至只看到其中一个吸引子叶的一部分,只要数据干净且采样充足,就能识别出完整的 Lorenz 模型(即知道另一个叶的存在)。这非常了不起。

结论:如果数据干净且采样率足够高,那么相对较短的时间序列就能识别出大量动力学信息。

4. 关键挑战:噪声与低采样率

反之,如果采样率低或者测量噪声很大,则预先谈好的所有优势都会消失。这两者是 SINDy 实际应用中最大的困难来源。

现实中我们往往:

  • 无法获得干净的 x, y, z 测量值
  • 通常并不直接测量导数 ẋ, ẏ, ż
  • 常见的是带噪声的时间序列

原始 SINDy 论文(2016年) 中的方法:

  • 使用基于全变分优化(total variation optimization,更早几十年前就已经提出)的“全变分正则化导数”来从含噪时间序列中估计导数。
  • 即使噪声较大,如果数据量足够、采样足够快且时间窗足够长,通过去噪技术也能得到相当准确的 SINDy 模型,识别出正确的结构以及接近准确的参数。

Sam Rudy 的 PDE-FIND 版本:采用多项式拟合来近似含噪数据的导数 —— 先拟合一个多项式到含噪数据上,再取多项式的导数。这也是一种有效的策略。

限制:当噪声更大或数据量更少时,则上述方法往往失效。

5. 关键进展二:弱形式 SINDy(处理强噪声的突破)

讲座特别推荐一篇早期重要论文:Hayden Schaefer 和 Scott McCallough(应为“Scott McCullough”?实际作者为 Hayden Schaefer 和 Scott McMullan?但原文名字为 Hayden Schaefer 和 Scott McCallough,保留原文名)。该论文被认为是 SINDy 早期最重大的创新之一,打开了处理类似实验数据这类严重含噪数据的真实世界应用之门。

基本思想:通过使用 SINDy 的弱形式(weak formulation),或称“控制体积”版本,来处理大量传感器噪声。

具体而言:

  • 标准 SINDy 优化问题试图将 ẋ 表示为候选库 θ 的稀疏组合。
  • 积分(弱形式)SINDy 将方程两边同时积分。他们构造 SINDy 问题的弱形式。
  • 由于两边同时积分,噪声会在大量样本上被“平均”掉,因此可以容忍更高的噪声水平。

这是一个很简化的示意图,但效果上允许研究者处理远大于传统方法的噪声量。

后续应用

  • 很多后续论文将弱形式 SINDy 应用于含噪数据的偏微分方程(PDE)建模中,用来发现新的偏微分方程。
  • 讲座提到了认为影响重大的五篇论文,并展示其中有 Roman Grigoriev 小组(Georgia Tech)的工作。

Roman Grigoriev 团队的工作展示

  • 他们有时间-空间数据,可能来自流体、等离子体、电对流系统等的模拟或实验,属于多尺度物理问题。
  • 他们的方法:在噪声数据上对每个小的“控制体积”进行积分,然后用这种控制体积积分的表示进行 PDE-FIND 类识别。
  • 这种方法允许处理实验中的高噪声水平,依然能够准确识别这些动力学系统的 PDE 模型。

模型层级选择(帕累托家族)

  • 另一个工作表明,通过调节稀疏性参数(保留多少项 vs 舍弃多少项),可以获得一族模型。
  • 例如,从 Navier-Stokes 方程(较多项,精度高)到比 Navier-Stokes 有更多项但精度更高的模型,或者放松到 Euler 方程(更简化、低精度)。
  • 这正是 SINDy 建模所追求的理念:对于像等离子体或聚变这类新系统,我们希望得到一个从简单到复杂的“模型层次”(model hierarchy),在“金发姑娘”区找到合适折中。
  • 需要灵活选择简化一点但精度略低的模型,或者更复杂更精确的模型。

Alves 和 Fresa 的等离子体工作

  • 原文名可能为“Alves and Fresa”(保留),他们从等离子体系统的数据(基本上是动力学模型 kinetic models of plasma)出发,利用弱形式 SINDy 发现了粗粒化(coarse-grained)的偏微分方程模型。
  • 应用于多种等离子体系统,识别出了典型的失稳动力学、磁化激波动力学等。
  • 演讲者感叹:五年前 SINDy 刚提出时,他们没想到可以从含噪的、数值/实验测量中发现从未被写下的全新 PDE。这些近年创新打开了用于未知复杂系统的科学发现之门,是一个非常令人兴奋的活跃研究领域。

6. 数据矩阵的条件数与瞬态激励的重要性

另一个关键关于数据的点:SINDy 本质上是一个回归问题

  • 有输出变量(ẋ)要拟合
  • 试图找到 θ 中某些特征的组合来描述 ẋ
  • 希望得到稀疏的列向量 ξ,其中非零项对应 θ 中描述动态所需的列
  • 每一行代表一个时间的测量值

可将多个不同初始条件的轨迹堆叠:可以取 20 个初始条件,每个只积分一小段时间,然后将所有轨迹堆叠起来。完全没有问题。

但为了得到正确的稀疏系数 ξ,θ 矩阵必须“病态良好”——具有好的条件数(condition number)

如何得到良好条件数的 θ 矩阵?:通过添加更多能激发动力学系统更多瞬态的数据。更多激励的瞬态提供了更多数据点,帮助消除哪些项在动态中活跃的歧义。

7. 示例:歧义模型的区分(线性振荡 vs 非线性振荡)

举一个具体例子说明“需要瞬态激励”:

  • 假设测量了一个动力学系统,它处在一个吸引子上——比如一个圆周运动(振荡)。
  • 在 x-y 坐标下,数据只是一个圆。
  • 最简单的稀疏模型是线性振荡器:ẋ = ω y,ẏ = −ω x。这个模型完美描述数据,且是稀疏的(只有两项)。
  • 但是,还有其他完全有效的模型也能描述同样的圆上的数据。例如,立方霍普夫标准型(cubic Hopf normal form) 也能产生极限环行为。
  • 那么如何区分哪一个模型才是真实有效的?
  • 只有在吸引子之外的额外初始条件下收集数据,观察数据行为。
  • 如果额外初始条件的数据仍然画完美的圆,那么可以确定是线性振荡器。
  • 如果额外初始条件的数据全部螺旋收缩到那个蓝色圆上,则说明更像是立方霍普夫标准型。

回到矩阵条件数:如果你只收集圆上的数据,那么立方项和线性项在数据中几乎是“完全平行”的——两者无法由数据分开。此时 θ 矩阵条件数极差,无法准确解出真实动力学。

需要做额外实验:收集那些额外轨迹或瞬态,才能使数据矩阵 θ 具有足够的条件数,从而准确求解系统底层动力学。

8. 相同问题在 PDE 中的体现(来自 Sam Rudy 的论文)

类似问题也出现在偏微分方程建模中:

  • 例如一个行波(如孤子从左侧传播到右侧)。
  • 存在多个可以产生行波现象的偏微分方程:
  • 简单的一维线性波动方程
  • 带有非线性速度(例如速度与振幅有关)以及立方导数的非线性波动方程
  • 区分方法:测量两个不同振幅的波,观察它们是否以不同速度传播。
  • 如果库中包含所有这些项,但只测了一个恒定速度的单一行波,则无法区分它到底是简单波动方程还是更复杂的偏微分方程。
  • 因此需要额外数据、不同幅度的初始条件,才能激发那些非线性项使其在数据中显现。

总结:在实验中,如果能设计实验来激发参数空间或相空间的不同区域,这非常关键。必须确保数据覆盖足够广、能激发多种瞬态,否则模型的辨识将存在歧义。

9. 本讲小结与后续讲座预告

本次讲座专门讨论了数据挑战——需要多少数据、什么质量、什么数量、什么采样率。演讲者希望听众能获得新思路和可查阅的论文路线,从而为自己的系统按需实施。

后续讲座将讨论:

  • 测量哪些变量(如何判断是否在测量正确的坐标)
  • 如何构建函数库以获得动力学
  • 使用什么优化算法

“所有这一切都即将到来。谢谢!”

10. 总结要点(信息浓缩)

方面要点
SINDy 数据基本要求相对干净、采样快、覆盖足够丰富的动力学状态
提高噪声容忍度的方法全变分正则化导数(原始 SINDy);多项式拟合取导(PDE-FIND);弱形式/控制体积积分(Schaefer & McCallough 等)
对采样率的要求若数据干净且采样率到达 ~256 样本/周期,可以只用小于一个周期的时间窗识别出整个系统(包括混沌系统)
关键失败条件低采样率或高噪声会导致失败;需要正则化或弱形式方法
弱形式 SINDy 的重要性大幅提高了对噪声的容忍度,允许实验数据直接适用,并推动了新 PDE 的发现(等离子体、流体等)
条件数与瞬态θ 矩阵必须病态良好(条件良好);需要收集吸引子外或不同振幅的瞬态来区分线性与非线性项
模型歧义消除对于振荡:收集环外的初始条件;从螺旋收缩行为可判断非线性系统;对于波:测不同振幅的行波,观察是否速度不同
模型族通过调整稀疏性可以得到从简到繁的 PDE 模型族(如 Euler ↔ Navier-Stokes)
应用案例Lorenz、Duffing、van der Pol、Rössler、流体流动、等离子体系统、电对流等

11. 待进一步阅读的关键文献(视频中提到,但未给出完整引用信息)

讲座中提及以下人名和团队,并建议查阅相关论文:

  • Kathleen Champion(及其与 Nathan Kutz 的合作)
  • Sam Rudy(PDE-FIND 相关工作)
  • Hayden Schaefer 和 Scott McCallough(弱形式 SINDy 的早期工作)
  • Roman Grigoriev 团队(Georgia Tech,控制体积积分推进 PDE 识别)
  • Alves 和 Fresa(等离子体系统 PDE 发现的弱形式 SINDy 应用)

(注:原文未提供完整的论文标题和年份,此处不补充缺失信息。)