优化R中两个标准的功能

时间:2018-02-09 20:00:28

标签: 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 <- function(a, b, c){
    predVar1 <- a * (1-exp(-c/b))
    sum((predVar1 - c)^2)
  }

  a <- 9
  b <- 1.4

  my_fun(a, b, c)

由于

1 个答案:

答案 0 :(得分:1)

根据我熟悉使用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