R optim/nlm с многомерным массивом параметров
Я использую optim/nlm, чтобы сделать оценку максимального правдоподобия, и мои параметры находятся в многомерном массиве.
Вероятность оценивается нормально, т.е. с учетом данных х, а многомерный массив параметров тета, вероятность (тета, х) дает действительное число.
Тем не менее, используя optim/nlm, с начальным значением, которое имеет то же измерение, что и тета, которое было оценено нормально, я получаю следующую ошибку:
Error in theta[1, 1, 1] : incorrect number of dimensions
при оценке вероятности. Оказывается, optim/nlm сглаживает мой многомерный массив в одномерный массив. Есть ли в любом случае я могу использовать optim/nlm с многомерным массивом параметров?
1 ответ
Решение
Я не верю, что это возможно с optim
сам. Мой совет - восстановить форму самостоятельно, например
optim(
matrix(1:4, 2, 2),
function(par) {
par = matrix(par, 2, 2) # Reshape
sum((par - matrix(5:8, 2, 2))**2)
}
)