使R中的损失函数最小的最佳参数

时间:2020-04-29 10:07:48

标签: parameters estimation minimization

我必须找到最小化损失函数a的参数cJ。 我尝试过的R代码如下

library(pracma)
library(neldermead)
datas <- runif(2)
T <- 1000
a <- 0.5
c <- 1.3
b <- c()
x <- c()
for (t in 2:T) {
x[1] <- 2
a <- 0.5
c <- 1.3
b[t] <- c*x[t-1]+rnorm(1,0,1)
x[t] <- x[t-1]+(a-x[t-1])+b[t]
}
mom1 <- mean(x)
mom2 <- acf(x,lag.max = 200, plot = FALSE)
mom2 <- mom2$acf[50]
moms  <- rbind(mom1,mom2)


J <- function(mom,data) {
 W <- diag(data)
 t(mom-data)%*% W %*% (mom-data)
}
x0 <- c(moms,datas)
opt <- optimset('fminsearch')
loss <- fminsearch(J,x0,opt)

结果是以下代码错误

diag(data)错误:缺少参数“ data”,没有默认值

假设上面的代码有效,它仅找到J的最小值。是否有办法找到使'J'最小的'a'和'c'最优值?

0 个答案:

没有答案