所以我想最大限度地爲伽瑪泊松似然函數和我編程式的R爲以下幾點:二元函數的最大化 - R的代碼
lik<- function(x,t,a,b){
for(i in 1:n){
like[i] =
log(gamma(a + x[i]))-log(gamma(a))
-log(gamma(1+x[i] + x[i]*log(t[i]/b)-(a+x[i])*log(1+t[i]/b)
}
return(sum(like))
}
其中X和T是數據,我有n個數據行。
我需要a和b來同時解決。 R中是否存在內置函數?還是我需要硬編碼算法來解決方程組? [我寧可不]我知道optimize()解決了1個變量,fminbnd()也解決了這個問題。我試圖複製FindMaximum()在mathematica中的行爲。在一個完美的世界,我想工作代碼東西這樣的:
optimize(f=lik, a>0, b>0, x=x, t=t, maximum=TRUE, iteration=5000)
$maximum
a 150
b 6
感謝。
是的,這可能是我想要的,我剛剛過了一個小時google搜索,並在此方案中R. –
沒有一(1)看'?optim',要記住,*減少*默認情況下(在幫助文件中看到'fnscale'的描述); (2)'dnbinom'可能有幫助; (3)所以可能'MASS :: fitdistr' –