Оптимальные параметры, минимизирующие функцию потерь в R - PullRequest
0 голосов
/ 29 апреля 2020

Я должен найти параметры a и c, которые минимизируют функцию потерь J. Код 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. Есть ли способ найти оптимальные значения «a» и «c», которые минимизируют «J» тоже

...