验证 ODE 积分是否生成理论平稳分布

计算科学 统计数据 可能性
2021-12-10 23:41:22

我正在尝试模拟 ODE,例如x˙=ξ(x)应该有一个平稳的分布(la Stat Mech)。假设我的 ODE 算法生成系统状态的时间样本x喜欢x(0),...,x(t),x(t+1),...,x(n),我想验证从 ODE 生成的样本在数值上是否与理论分布大致匹配(或至少在熵/KL 散度等指标中它们匹配)。

我考虑过运行 Monte Carlo 和 ODE 并尝试比较生成的结果,但我不知道如何比较生成的样本,因为它们是在高维相空间中生成的。通常(低维度),我会使用分箱并计算 KL 散度。

我的动机是进一步说服自己,Tuckerman 的“关于非哈密顿系统的经典统计力学”的结果是真实的。

1个回答

一般来说,您的问题类型将被称为“多变量拟合优度测试”。如果F(x1,,xn)是个n理论分布和随机变量的维 CDF(X1,,Xn)是来自您的 ODE 的样本,然后

Z1=F(X1),Z2=F(X2X1),Zn=F(XnX1,,Xn1)
是在单位立方体中均匀独立分布的随机变量[0,1]n. 这是 Rosenblatt 的变换,类似于概率积分变换

因此,如果您的系统是遍历的,并且 ODE 样本之间经过了足够的时间以使它们独立,那么您只需测试向量z(0),,z(n)是单位立方体上的 uid。反过来,这可以通过例如将立方体分成箱并使用卡方检验来完成。