Я пытаюсь использовать ROI для выполнения оценки MLE процесса ARCH (2). Я попытался использовать функцию F_constraint для наложения ковариантной стационарности, имея корни характеристического уравнения: z ^ 2 - alpha1 * z - alpha2 лежат внутри единичного круга. Я использую плагин deoptimr solver. Я указал начальные значения для всех трех параметров - (omega {постоянный член в ARCH eqn}, alpha1, alpha2). Я получаю сообщение об ошибке, в котором говорится, что аргументы функционального ограничения отсутствуют.
library(ROI)
obj <- F_objective(F = log_lik, n =3, G = grad_lik, names = c('om','aph1','aph2'))
mod_func1 <- function(om,aph1,aph2){
delta = aph1^2 + 4*1*aph2
if(delta >= 0){
x_1 = (aph1+sqrt(delta))/(2*1)
return(x_1)
} else {
mod = (aph1^2 + (-(delta)))/((2*1)^2)
return(mod)
}
}
mod_func2 <- function(om,aph1,aph2){
delta = aph1^2 + 4*1*aph2
if(delta >= 0){
x_2 = (aph1-sqrt(delta))/(2*1)
return(x_2)
} else {
mod = (aph1^2 + (-(delta)))/((2*1)^2)
return(mod)
}
}
constr <- F_constraint(F = list(mod_func1,mod_func2), dir = c("<","<"), rhs = c(1,1), names = c('om','aph1','aph2'))
prob <- OP(objective = obj, constraints = constr, maximum = TRUE)
solvers <- ROI_applicable_solvers(prob)
soln <- ROI_solve(prob, solver = "deoptimr", start = c(0.01,0.5,0.5))
Ошибка говорит: «Ошибка в f (x0): аргумент« aph1 »отсутствует, по умолчанию нет»