2011-11-10 26 views
1

我使用Optim/NLM做最大似然估計參數多維數組,和我的參數是一個多維數組。ř的Optim/NLM與

似然評估罰款,即給定一個數據x和多維參數陣列theta,可能性(theta,x)給出一個實數。

然而,使用Optim/NLM,與具有相同的尺寸THETA評估了就好了起始值,我發現了以下錯誤:

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

當評估的可能性。事實證明,optim/nlm將我的多維數組展平爲一維數組。無論如何,我可以使用具有多維參數數組的優化/ 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

感謝您的想法,我最終把多維數組的大小作爲參數傳遞給我的功能,並進行重塑,以使似然函數裏面。 – pmangg