我在R中使用DEoptim以便最大化二元学生t分布的似然函数。

这种分布要求自由度为整数(我已经可以使用DEoptim中的下限和上限来设置阳性约束素)。

This pdf详细解释了DEoptim,并指出


[fnmap]是一个可选功能,将在创建每个填充后但在运行之前运行
总体传递给目标函数。这允许用户强加
整数/基数约束。


它没有详细介绍如何使用参数“ fnmap”,也没有提供任何详细信息。在网上查看时,我发现了一个示例函数,该函数给出了包装开发人员的肉体约束,但他也没有在其中解释其合理性。

因此,如果我有一个参数(例如参数(x,y,z)中的“ z”),为了将z限制为整数值,应将什么作为“ fnmap”放置?

最佳答案

我想这就是您想要的。

fnmap_f <- fuction(x) c(x[1], x[2], round(x[3]))
DEoptim(..., fnMap = fnmap_f)

08-19 22:24