根据R中的两个标准优化函数
我试图通过最小化平方和来优化指数模型,但是我无法解决如何使用两个单独的标准进行优化 我需要找到使函数输出最小化的“a”和“b”的值。我已经在下面的代码中输入了估算值,但需要此代码的输出来告诉我平方和(已打印),以及正确优化模型时“a”和“b”的值根据R中的两个标准优化函数,r,optimization,R,Optimization,我试图通过最小化平方和来优化指数模型,但是我无法解决如何使用两个单独的标准进行优化 我需要找到使函数输出最小化的“a”和“b”的值。我已经在下面的代码中输入了估算值,但需要此代码的输出来告诉我平方和(已打印),以及正确优化模型时“a”和“b”的值 c <- c(0.08, 0.17, 0.25, 0.33, 0.41, 0.49, 0.57, 0.65, 0.73, 0.81, 0.88, 0.96, 1.04, 1.11, 1.19, 1.26) my_fun <- fun
c <- c(0.08, 0.17, 0.25, 0.33, 0.41, 0.49, 0.57, 0.65, 0.73, 0.81, 0.88, 0.96, 1.04, 1.11, 1.19, 1.26)
my_fun <- function(a, b, c){
predVar1 <- a * (1-exp(-c/b))
sum((predVar1 - c)^2)
}
a <- 9
b <- 1.4
my_fun(a, b, c)
c根据我对使用optim的熟悉程度进行了一些重新安排。另外,我将c
更改为d
,因为我不喜欢无意中覆盖c()
函数
d <- c(0.08, 0.17, 0.25, 0.33, 0.41, 0.49, 0.57, 0.65, 0.73, 0.81, 0.88, 0.96, 1.04, 1.11, 1.19, 1.26)
my_fun <- function(parameters, d){
a <- parameters[1]
b <- parameters[2]
predVar1 <- a * (1-exp(-d/b))
return(sum((predVar1 - d)^2))
}
a <- 9
b <- 1.4
results <- optim(c(a, b), my_fun, d = d)
results$par
#[1] 700.8850 700.4793
results$value
#[1] 4.37461e-07
d