资讯动态

Deeptime 完整指南:三步把时间序列变成马尔可夫模型

发布时间:2026/8/24 1:21:46 来源:尧图企业网站定制
Deeptime 完整指南三步把时间序列变成马尔可夫模型【免费下载链接】deeptimePython library for analysis of time series data including dimensionality reduction, clustering, and Markov model estimation项目地址: https://gitcode.com/gh_mirrors/de/deeptimeDeeptime 是一个 Python 时间序列分析库把降维、聚类和马尔可夫模型估计串成一条流水线输入一串随时间演化的数据输出一个可查询、可预测的离散状态模型。本文用一条完整任务演示它的三步核心用法代码只有安装命令和一段最小调用。一条轨迹能换来什么先说结论Deeptime 解决的是数据在手、规律不明的问题。拿粒子在流体里的运动轨迹举例点云看起来杂乱无章但背后其实只有少数几个稳定区域以及区域之间固定的跳转规律。Deeptime 的任务就是把连续轨迹压缩成一张状态跳转地图哪些区域是系统长期停留的家从哪个家跳到哪个家、平均多久跳一次。没有数据也能练手——它内置了双势阱、椭圆、粒子流体等样本数据集见 deeptime/data/先跑通流程再换自己的数据。第一步用 TICA 降维挑出慢变量结论先行聚类和建模之前必须先降维否则高频噪声会把真正的信号淹没。TICAtime-lagged independent component analysis和 PCA 不是一回事PCA 找方差最大的方向TICA 找在滞后时间 τ 下自相关最强的方向。通俗讲一个方向变化越快它的值就越快忘掉历史TICA 保留的正是最慢忘掉自己的那几个方向——也就是系统的慢运动。它还能把特征值换算成弛豫时间直接告诉你每个方向对应多慢的运动。TICA 所在的 deeptime/decomposition/ 里还有核 TICA、VAMP、DMD 等变体可按数据特点替换。第二步正则空间聚类给状态空间划格子为什么需要聚类因为马尔可夫模型只能定义在有限个离散状态上必须先把连续空间切成几块区域。Deeptime 默认用 RegularSpace 聚类顺序扫过数据某个点到所有已选中心的距离都超过 dmin 时它就成为新中心最后把每个点分给最近的中心Voronoi 划分。类比给城市划行政区——不预设几个区只要求相邻区中心至少隔 dmin 远区域数量和形状由数据密度自然决定这比先定 k 的 k-means 更适合喂给马尔可夫模型。k-means、盒划分等方案同在 deeptime/clustering/ 下可对照实验。第三步估出马尔可夫状态模型并读出动力学把轨迹按聚类标签切成离散序列后数一下每次从状态 i 出发跳向各状态的次数除以出发总数就得到转移概率矩阵T——马尔可夫状态模型MSM的核心把系统运动建模成状态图上的随机游走。模型本身还是一堆可查询的物理量平稳分布系统在长时间后停在各状态的概率隐含时间尺度每种运动模式要花多久完成首次平均通过时间从状态 A 第一次走到状态 B 平均要多久核心调用就这么多import deeptime as dt traj dt.data.ellipsoids(seed1).observations(n_steps2000) ticamodel dt.decomposition.TICA(lagtime10, dim2).fit(traj) proj ticamodel.transform(traj)模型类全部放在 deeptime/markov/里面还有隐马尔可夫模型HMM、TRAM、贝叶斯 MSM 等变体。不止马尔可夫SINDy 直接学动力学方程如果你的目标不是系统现在在哪个状态而是每个坐标怎么随时间变化可以用 SINDy 从轨迹里拟合出稀疏的微分方程 Ẋ f(X)然后从任意初始条件向前模拟。下图里模型模拟轨迹和真实解几乎完全重合——方程本身被数据背了下来 深度学习路线VAMPnet、深度 MSM和可视化模块网络图、等高线图、隐含时间尺度图也在库里按需取用。三分钟安装并跑通安装一条命令Linux / Windows / macOS 的 x86_64 和 arm64 都有预编译二进制pip install deeptime完整流程五步取数据内置样本如dt.data.double_well_discrete()或自己的时间序列跑 TICA给定 lagtime 和 dim得到慢变量投影聚类用 RegularSpace 把投影切成离散状态估计 MSM数转移次数、归一化得到转移矩阵按需查询平稳分布、时间尺度或画网络图打开终端跑一遍双势阱样本亲眼看看平稳分布如何呈现两阱结构是上手最快的方式 【免费下载链接】deeptimePython library for analysis of time series data including dimensionality reduction, clustering, and Markov model estimation项目地址: https://gitcode.com/gh_mirrors/de/deeptime创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价