2

我正在使用 optim/nlm 进行最大似然估计,并且我的参数位于多维数组中。

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

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

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

在评估可能性时。事实证明 optim/nlm 将我的多维数组展平为一维数组。无论如何我可以将 optim/nlm 与多维参数数组一起使用吗?

4

1 回答 1

3

我不相信这optim本身是可能的。我的建议是自己恢复形状,例如

optim(
    matrix(1:4, 2, 2),
    function(par) {
        par = matrix(par, 2, 2) # Reshape
        sum((par - matrix(5:8, 2, 2))**2)
    }
)
于 2011-11-10T20:30:27.700 回答