R optim / nlm с многомерным массивом параметров - PullRequest
1 голос
/ 10 ноября 2011

Я использую optim / nlm для оценки максимального правдоподобия, и мои параметры находятся в многомерном массиве.

Вероятность оценивается нормально, т.е. с учетом данных x и многомерного массива параметров theta, вероятность (theta, x) дает действительное число.

Однако, используя optim / nlm, с начальным значением, которое имеет то же измерение, что и тета, оцениваемое очень хорошо, я получаю следующую ошибку:

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

при оценке вероятности. Оказывается, optim / nlm сглаживает мой многомерный массив в одномерный массив. Можно ли в любом случае использовать optim / nlm с многомерным массивом параметров?

1 Ответ

2 голосов
/ 11 ноября 2011

Я не верю, что это возможно с самой optim. Мой совет - восстановить форму самостоятельно, например,

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