我使用optim/nlm进行最大似然估计,我的参数在一个多维数组中。
似然评估很好,即给定一个数据x,参数θ的多维数组,似然(θ,x)给出一个实数。
但是,使用optim/nlm,初始值与theta的维度相同,我得到了以下错误:
Error in theta[1, 1, 1] : incorrect number of dimensions在评估可能性时。事实证明,optim/nlm将我的多维数组展平为一维数组。有没有什么方法可以将optim/nlm与参数的多维数组一起使用?
发布于 2011-11-11 04:30:28
我不相信optim本身能做到这一点。我的建议是自己恢复形状。
optim(
matrix(1:4, 2, 2),
function(par) {
par = matrix(par, 2, 2) # Reshape
sum((par - matrix(5:8, 2, 2))**2)
}
)https://stackoverflow.com/questions/8085361
复制相似问题