马尔可夫跳跃过程:生成元、Kolmogorov 方程和停留时间

状态之间按给定的强度跳转(连续时间),t 年后在各状态的概率是多少?

CAS MAS-IIFoA CS2按输入的参数计算
对过的标准答案
4 条
覆盖的考试公式
3 个
参数
7 个
开源库
2 个

01当场运行

改一个参数,当场重算

正在用默认参数运行,计算量大的方法最多要 20 秒。

04出处和说明

公式从哪里来,有什么限制

列出参考的教材、论文和考试公式条目。方法的限制和实现上的说明也写在这里。

参考

  • IFoA CS2 核心读物马尔可夫跳跃过程:生成元、Kolmogorov 方程、停留时间、积分形式的方程
  • Ross:Introduction to Probability Models第 6 章 Continuous-Time Markov Chains

覆盖的考试公式

  • STP-006马尔可夫跳跃过程:Kolmogorov 前向/后向方程MAS-ICS2
  • STP-007停留时间分布与跳跃概率MAS-ICS2
  • STP-008Kolmogorov 方程积分形式CS2

公式条目按精算考试的公式表整理,编号和中文名是平台自己的。

这个方法算什么

由转移强度建生成元 A,转移概率 P(t) = e^{At},另用 4 阶 Runge-Kutta 分别解前向和后向方程、用积分形式的方程数值积分核对;停留时间的生存函数和离开时去各状态的概率(跳跃链);不可约时平稳分布用 πA = 0 和跳跃链两种算法;有吸收状态时算平均吸收时间。强度可以按 e^{gu} 随时间变化(各强度同比例),这时 P(s, s+t) = exp(A∫e^{gu}du)。

说明和限制

  • 时齐时 P(t) = expm(At)(scipy.linalg.expm)。g ≠ 0 时所有强度按同一个因子 e^{gu} 变化,A(u) 两两可交换,P(s, s+t) = expm(A·∫_s^{s+t}e^{gu}du) 是精确解;不同强度随时间变化不同的模型见 multistate.kolmogorov。
  • 前向和后向方程各用 400 步以上(强度大时加密,最多 20000 步)的 4 阶 Runge-Kutta 解,积分形式的方程用 scipy.integrate.quad_vec 对 w 积分,结果里写出它们和矩阵指数的最大差。
  • 平稳分布只对不可约的链算:解 πA = 0,以及用跳跃链的平稳分布 ν 换算 π_j ∝ ν_j/λ_j。到吸收的平均时间 m 解 −A_T m = 1(只在时齐时算)。
  • 寿险的多状态模型(残疾收入、重疾)见 multistate 方法族;离散时间的链见 stochastic.markov_chain;从数据估计强度见 stochastic.mjp_estimation。

数据

没有用数据:按输入的参数计算

开源库和版本

  • scipy1.17.1BSD分布拟合、统计检验
  • numpy2.4.6BSD-3-Clause数值计算

05同族的方法

随机过程,还有 12 个方法

同一个方法族里的其他方法。在智能体里,用一句话就能调用这些方法。

在智能体里这样问“状态之间按给定的强度跳转(连续时间),t 年后在各状态的概率是多少?在一个状态平均停留多久、离开时去哪里?长期各状态的比例是多少?”