だから私は、ガンマ、ポアソンのための尤度関数を最大化しようとしていると私は、次のようにRにそれをプログラムしました:二変数関数の最大化 - Rコード
xとtである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))
}
私はn個のデータ行を持っています。
私はaとbを同時に解決する必要があります。 Rには組み込み関数が存在しますか?または、方程式のシステムを解くアルゴリズムをハードコードする必要がありますか? [私はむしろ]私はoptimize()が1つの変数を解決し、fminbnd()も解決することを知っています。 MathematicaでFindMaximum()の振る舞いをコピーしようとしています。
optimize(f=lik, a>0, b>0, x=x, t=t, maximum=TRUE, iteration=5000)
$maximum
a 150
b 6
ありがとう:完璧な世界では私はこのような何かを動作するようにコードをしたいと思います。
はい、私はちょうど1時間以上グーグルでグーグルしていますが、ここでR. –
(1)のプログラムで誰も '?optim'を見て、デフォルトで*を最小限に抑えていますヘルプファイルの 'fnscale'の説明を参照してください)。 (2) 'dnbinom'が役に立ちます。 (3)そうすれば 'MASS :: fitdistr' –