R optim / nlm具有多维参数数组

时间:2011-11-10 19:43:39

标签: r nlm

我使用optim / nlm进行最大似然估计,我的参数是多维数组。

可能性评估很好,即给定数据x,参数theta的多维数组,似然(theta,x)给出实数。

但是,使用optim / nlm,其起始值与theta具有相同的维度已经评估得很好,我收到以下错误:

Error in theta[1, 1, 1] : incorrect number of dimensions

评估可能性时。事实证明,optim / nlm将我的多维数组展平为1D数组。无论如何我可以使用带有多维参数数组的optim / nlm吗?

1 个答案:

答案 0 :(得分:2)

我认为optim本身不可能实现这一点。我的建议是自己恢复形状,例如

optim(
    matrix(1:4, 2, 2),
    function(par) {
        par = matrix(par, 2, 2) # Reshape
        sum((par - matrix(5:8, 2, 2))**2)
    }
)