2011-11-10 9 views
1

나는 maximum likelihood estimation을하기 위해 optim/nlm을 사용하고 있으며, 매개 변수는 다차원 배열에 있습니다.R 다차원 배열의 매개 변수가있는 optim/nlm

가능성은 데이터 x와 주어진 매개 변수 theta, likelihood (theta, x)의 다차원 배열이 실수를 제공하는 경우에 유효합니다.

그러나, 세타가 잘 평가 한 것과 같은 차원을 가지고 시작 값으로, Optim을/NLM을 사용하여, 나는 다음과 같은 오류를 받고 있어요 :

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

때 평가 가능성을. optim/nlm이 제 다차원 배열을 1D 배열로 평평하게 만듭니다. 어쨌든 매개 변수의 다차원 배열과 함께 optim/nlm을 사용할 수 있습니까?

+0

특정 솔루션은 사용하는 코드에 따라 다릅니다. 내가 아는 한'''에 대한'drop = FALSE' 매개 변수는 전역 적으로 적용될 수 없습니다. –

답변

2

나는 optim 그 자체로는 가능하다고 생각하지 않습니다. 내 조언은 모양을 스스로 복원하는 것입니다.

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

아이디어를 주셔서 감사합니다. 필자는 다차원 배열의 차원을 매개 변수로 사용하여 likelihood 함수 내에서 다시 작성하도록했습니다. – pmangg