我使用optim / nlm进行最大似然估计,我的参数是多维数组。
可能性评估很好,即给定数据x,参数theta的多维数组,似然(theta,x)给出实数。
但是,使用optim / nlm,其起始值与theta具有相同的维度已经评估得很好,我收到以下错误:
Error in theta[1, 1, 1] : incorrect number of dimensions
评估可能性时。事实证明,optim / nlm将我的多维数组展平为1D数组。无论如何我可以使用带有多维参数数组的optim / nlm吗?
答案 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)
}
)