0

約 25 の異なる変数によって決定される、最大化する必要がある共同尤度があります。すべての可能な値を循環する 25 の「for」ループに頼らずに、この関数を最大化する変数値の組み合わせを見つける方法があることを期待していました。

これは、'for' ループ アプローチを使用して最大化された、この尤度のはるかに小さい部分の例です。ここで、'temp' は尤度の値を計算し、test は、使用される変数の値を記録するベクトルです。

h1=23
h2=31

test=c(NA,NA,NA,NA,0)
for (N in seq(60,150,10)) {
  for (p1 in seq(0.01,1,.01)) {
    for (p2 in seq(0.01,1,.01)) {
      for (S1 in seq(0.5,1,.005)) {
        temp=factorial(N)/(factorial(h1)*factorial(h2)*factorial(N-h1-h2))*(p1)^h1*((1-p1)*S1*p2)^h2*(1-(p1+(1-p1)*S1*p2))^(N-h1-h2)
        if (temp>test[5]) test=c(p1,p2,S1,N,temp)
      }
    }
  }
}
test

前もって感謝します、セルゲイ

4

0 に答える 0