我有一组样本粒子,其 (x,y,z) 坐标由简化的类似蒙特卡洛的代码生成。我希望这些粒子将遵循各向异性扩散过程,这会给我一个沿不同轴具有不同方差的 3D 高斯分布(基于问题的几何形状,我确实希望高斯是轴对齐的;我想未来的发展可能会生成一个旋转的 3D 高斯,但我可以在它出现时处理该泛化)。
我正在寻找的是一种方法:
- 检查我的数据是否与 3D 高斯分布一致(以确认扩散是一个好的模型);
- 获得最佳拟合均值和方差(沿每个轴),如果可能有误差(测量漂移速度和扩散系数)。
我考虑过对数据进行分箱并进行拟合,但我不确定这是一个好方法。我被告知要研究 Kolmogorov-Smirnov 测试,但这似乎适用于 1D 分布而不是 3D。这种事情有公认的方法吗?
我通常在 C++、Fortran 或 Python 中工作,所以我希望避免类似“Matlab 有一个功能可以做到这一点”的答案。如果 Python 有一个方法,我可以使用它。否则,我不介意编写自己的工具,但我不知道要使用什么算法。