понимание функции mle2 R и ее параметров

Прошу прощения, если этот вопрос тупой, так как все выходят.

Я хочу использовать функцию mle2() R, чтобы найти оптимальные параметры для конкретной статистической функции; Я предполагаю, что это делается с помощью градиентного спуска? Итак, у меня есть мой вызов следующим образом:

r = mle2(minuslogl = likelihood, 
    start = list(a1=0.1,b1=0.1,x01=0.1,d2=0.1,b2=0.1,x02=0.1,c=1), 
    data = list(values=v,data=d))

Где моя функция правдоподобия специально требует, чтобы a1, b1, d2 и b2 находились в диапазоне [0,1] (действительные числа от 0 до 1). Если mle2() использует градиентный спуск, я предполагаю, что он начинает перемещать упомянутые параметры в отрицательный диапазон на этапе оптимизации, но я хочу, чтобы он специально не делал это, я хочу, чтобы он искал параметры от 0 до 1.

Есть ли способ? Я действительно невежда здесь?

Заранее спасибо.


r mle
person Community    schedule 11.12.2014    source источник


Ответы (1)


Я нашел ответ. Есть документация по тому, что я хочу; хотя я не мог сразу найти то, что хотел, на просматриваемых страницах.

У функции mle2() буквально есть нижние и верхние параметры.

Примеры можно найти здесь:

http://www.inside-r.org/packages/cran/bbmle/docs/mle2

Вот рабочий пример того, что нужно сделать:

r = mle2(minuslogl = likelihood, 
     start = list(x01=0.1,x02=0.1, c=1, a1=.1, b1=.1, d2=.1, b2=.1), 
     data = list(values=v,data=d),
     lower = c(a1=0,b1=0,d2=0,b2=0),
     upper = c(a1=1,b1=1,d2=1,b2=1), 
     method="L-BFGS-B")

Это ограничивает переменные a1, b1, d2 и b2, а также дает им начальные значения для метода градиентного спуска.

person Community    schedule 11.12.2014