我有一个需要最大化的联合可能性,这由大约 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
在此先感谢,谢尔盖