如何找到使功能最大化的最佳参数?

时间:2018-10-22 20:02:59

标签: r optimization

我有一个函数,它带有8个参数,其中5个(a,b,c,d,e)是常量,而其他三个(u1, u2, u3)则要找出。

a <- 10.1
b <- 2.45
c <- 0.35
d <- 2
e <- 3.5
out <- function(a,b,c,d,e,u1,u2,u3){
temp <- 2*a*b^2 + (u1*u2/d) - c*e^2 + u3*e
return(temp)}

我需要从预定义的分布中找到u1, u2u3的值,以使temp的值最大化 分布是:

u1 <- rnorm(100,2,1)
u2 <- rnorm(100, 1, 1.96)
u3 <- rnorm(100, 1, 2.48)

1 个答案:

答案 0 :(得分:1)

我敢肯定R中有一个很好的方法来找到[NSView setLayer:]u1u2的确切值,这将使您的u3方程式最大化,但是对于如果您已经在上面设置了这种情况(基于三个分布中的随机样本),则可以执行以下操作:

temp

这仅针对a <- 10.1 b <- 2.45 c <- 0.35 d <- 2 e <- 3.5 out <- function(a,b,c,d,e,u1,u2,u3){ temp <- 2*a*b^2 + (u1*u2/d) - c*e^2 + u3*e return(temp)} u1 <- rnorm(100,2,1) u2 <- rnorm(100, 1, 1.96) u3 <- rnorm(100, 1, 2.48) res <- out(a,b,c,d,e,u1,u2,u3) i <- which(res == max(res), arr.ind=TRUE) tempu1的100个随机值中的每个u2进行求值,并找出哪个绘制得出{{1 }}:

u3

为获得更高的准确性,您可以将样本大小增加到1,000、10,000等。