Я новый пользователь R. Я должен использовать nlminb для определения двух параметров определенной функции, которая у меня есть: Y = ga * | x | ^ phi
Я пробовал с этим кодом:
obj_func <- function(x,ga,phi){ga*abs(x)^phi}
g <- function(p){ obj_func(p[1],p[2],p[3]) }
regl <- nlminb(start=c(0,0,0), objective=g)
regl
Я получаю следующие значения для моих параметров:
obj_func <- функция (x, ga, phi) {ga * abs (x) ^ phi}
g <- function (p) {obj_func (p [1], p [2], p [3])}
regl <- nlminb (начало = c (0,0,0), цель = g)
Предупреждающее сообщение:
В nlminb (начало = c (0, 0, 0), цель = g): оценка функции NA / NaN
REGL
$ пар
[1] 0,000000e + 00 -5,000000e + 00 -8,462388e-09 </p>
$objective
[1] -Inf
$convergence
[1] 0
$iterations
[1] 3
$evaluations
function gradient
4 11
$message
[1] "X-convergence (3)"
Я хочу, чтобы значения a и b отличались от 0, зная, что у меня есть значения x и y. В этом коде он пытается определить значение х. Я не знаю, как позволить ему оптимизировать только значения ga и phi
Не могли бы вы мне помочь? потому что я думаю, что я не понял, как работает эта функция