Skip to main content
QUICK REVIEW

[论文解读] matLeap: A fast adaptive Matlab-ready tau-leaping implementation suitable for Bayesian inference

Justin Feigelman, Stefan Ganscha|arXiv (Cornell University)|Aug 25, 2016
Gene Regulatory Network Analysis参考文献 8被引用 3
一句话总结

matLeap 是一种快速、自适应的、与 Matlab 兼容的 C++ 实现,用于显式-隐式 tau-leaping 算法,可根据系统刚性动态在随机模拟算法(SSA)、显式和隐式 tau-leaping 之间切换,通过关键反应确保非负性。它唯一提供了关键的汇总统计量——反应次数 $ r_i $ 和积分倾向函数 $ G_i $,支持高效的贝叶斯推断,在速度上优于 StochKit 和 SimBiology(最高快 350 倍),同时保持高精度。

ABSTRACT

Background: Species abundance distributions in chemical reaction network models cannot usually be computed analytically. Instead, stochas- tic simulation algorithms allow sample from the the system configuration. Although many algorithms have been described, no fast implementation has been provided for τ-leaping which i) is Matlab-compatible, ii) adap- tively alternates between SSA, implicit and explicit τ-leaping, and iii) provides summary statistics necessary for Bayesian inference. Results: We provide a Matlab-compatible implementation of the adap- tive explicit-implicit τ-leaping algorithm to address the above-mentioned deficits. matLeap provides equal or substantially faster results compared to two widely used simulation packages while maintaining accuracy. Lastly, matLeap yields summary statistics of the stochastic process unavailable with other methods, which are indispensable for Bayesian inference. Conclusions: matLeap addresses shortcomings in existing Matlab-compatible stochastic simulation software, providing significant speedups and sum- mary statistics that are especially useful for researchers utilizing particle- filter based methods for Bayesian inference. Code is available for download at https://github.com/claassengroup/matLeap. Contact: justin.feigelman@imsb.biol.ethz.ch

研究动机与目标

  • 为解决在化学反应网络中缺乏一种快速、自适应且与 Matlab 兼容的 tau-leaping 实现,以适用于贝叶斯推断的问题。
  • 通过提供反应次数 $ r_i $ 和积分倾向函数 $ G_i $,实现高效参数推断,这些统计量在伽马先验下的共轭贝叶斯更新中至关重要。
  • 根据系统刚性动态在 SSA、显式和隐式 tau-leaping 之间切换,提升在刚性和非刚性情形下的准确性和性能。
  • 与 SimBiology 等现有工具相比,减少计算开销和内存使用,后者存储完整轨迹,导致计算速度极慢。
  • 通过使用 SBML 模型和 mex 文件集成,提供轻量级、直接对接 Matlab 的接口,避免复杂的配置工作流。

提出的方法

  • 该算法基于反应倾向变化的相对大小,自适应地在显式和隐式 tau-leaping 之间选择,当关键反应威胁非负性或跃迁间隔过小时,切换至 SSA。
  • 通过关键反应强制执行非负性,当其等待时间与下一个跃迁间隔相当时,触发切换至 SSA。
  • 隐式 tau-leaping 变体使用反应倾向的逆雅可比矩阵,可在 Matlab 中符号计算以提高速度,或数值估计。
  • 汇总统计量 $ r_i $(触发次数)和 $ G_i = \int g_i(X_s) ds $(积分倾向)在 tau-leaping 期间使用梯形近似计算,在 SSA 期间使用精确积分。
  • 使用 C++ 和 Eigen、Boost 库编译为 mex 文件,支持直接从 Matlab 调用,输入为矩阵形式的初始条件和参数。
  • 通过 libSBML 从 SBML 文件加载模型,接口支持初始条件和参数变化的批量模拟。

实验结果

研究问题

  • RQ1能否实现一种原生兼容 Matlab 且适用于贝叶斯推断的快速、自适应 tau-leaping 算法?
  • RQ2自适应显式-隐式 tau-leaping 方法在性能和准确性上与 StochKit 和 SimBiology 等成熟工具相比如何?
  • RQ3汇总统计量 $ r_i $ 和 $ G_i $ 在多大程度上提升了随机反应网络中贝叶斯参数推断的效率?
  • RQ4在隐式 tau-leaping 中使用符号雅可比矩阵是否能在实际中带来可测量的速度提升?
  • RQ5该算法在刚性系统中能否保持准确性,特别是在隐式 tau-leaping 中已知存在方差低估问题的情况下?

主要发现

  • 在基准模型中,matLeap 相较于 Matlab SimBiology 的运行时间至少快 6 倍至 350 倍,相较于 StochKit 最快快 100 倍,最慢模型的单次模拟时间低至 0.0042 秒。
  • matLeap 与 SSA 之间的 Kullback-Leibler 散度与 StochKit 相当(均值 $ \approx 0.0037 $),仅在二聚化模型中存在轻微方差低估,这是隐式 tau-leaping 的已知局限。
  • 在二聚化模型中,使用符号雅可比矩阵带来约 14% 的速度提升,证明了在高性能场景中符号预计算的优势。
  • matLeap 唯独提供了汇总统计量 $ r_i $ 和 $ G_i $,这些在伽马先验下的共轭贝叶斯更新中至关重要,可实现高效的后验计算。
  • 自适应切换机制通过检测刚性并在必要时切换至 SSA,防止数值不稳定,保持准确性。
  • 轻量级 mex 文件接口允许直接集成到 Matlab 工作流中,无需配置开销,而 SimBiology 和 StochKit 则需要复杂设置或文件 I/O。

更好的研究,从现在开始

从阅读论文到最终审阅,大幅缩短您的研究时间。

无需绑定信用卡

本解读由 AI 生成,并经人工编辑审核。