gpt4 book ai didi

c++ - 使用 C++ 中的最大似然法将 1000 个样本拟合为正态分布

转载 作者:太空宇宙 更新时间:2023-11-04 12:01:59 28 4
gpt4 key购买 nike

我有 5000 个 double 样本,例如

sample = {1.23, -4.67, 0.17, 1.25, 6.89, -2.03, ...}

并希望将数据拟合到参数分布,如 N(mu, sigma) 或广义学生 t(loc, scale, DoF)...

我已经有了这些分布 PDF_normal(mu, sigma)(x) 和 PDF_t(loc, scale, DoF)(x) 的 PDF,并且可以计算固定分布的 5000 个样本的 PDF 的对数之和参数。

现在,我想使用一些 C++ 算法来解决非线性优化问题,以找到给我最大对数似然值的参数 (mu_max、sigma_max) 或 (loc_max、scale_max、DoF_max)。

用于统计计算的 R 项目正在通过以下方式解决 MASS 包中的问题:.. 对数似然的直接优化是使用 optim 执行的。估计的标准误差取自观察到的信息矩阵,通过数值近似计算。对于一维问题,使用 Nelder-Mead 方法,对于多维问题,使用 BFGS 方法...

不幸的是,我不能使用 R 解决方案,但必须在 Microsoft VS2010 C++ 中提出解决方案,我不想自己编写优化代码,也不想查看 R 源代码并重写它对于 C++...

有什么建议可以让我找到针对 C++ 的 BFGS(或类似)的快速且经过良好测试的实现吗?

Boost、Intel MKL 等有什么可用的吗?

谢谢你的帮助,马特

最佳答案

好的,我不需要对正态分布的 MLE 进行任何优化,因为它可以用封闭形式求解,请参见 1 : http://de.wikipedia.org/wiki/Maximum-Likelihood-Methode

但我想为我只知道 PDF 的不同发行版系列解决这个问题。因此,我仍然需要一个很好的非线性求解器的 C++ 实现...

关于c++ - 使用 C++ 中的最大似然法将 1000 个样本拟合为正态分布,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13766439/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com