Пример? Как указать начальные значения для тета и бета в lmer? - PullRequest
1 голос
/ 20 июня 2019

Я относительно новичок в R и все еще борюсь с пониманием некоторых документов. Я работаю с анализом блеска, и моя цель - указать начальные значения для тета (перехват) и бета (фиксированные эффекты).

Может ли кто-нибудь предоставить пример того, как должен выглядеть код для одной беты и нескольких бета-версий?

Я посмотрел документацию по glmer, в которой написано "start
именованный список начальных значений для параметров в модели или числовой вектор. Числовой аргумент начала будет использоваться в качестве начального значения тета. Если start является списком, тэта-элемент (числовой вектор) используется в качестве начального значения для первого шага оптимизации (по умолчанию = 1 для диагональных элементов и 0 для недиагональных элементов нижнего коэффициента Холецкого); подогнанное значение тета на первом шаге плюс start [["fixef"]] используются в качестве начальных значений для второго шага оптимизации. Если start содержит элементы fixef и theta, первый шаг оптимизации пропускается. Для получения более подробной информации или более точного управления оптимизацией см. Модульный. "

Я успешно указал начальное значение тета, но не знаю, как указать и тета, и бета (или несколько бета).

Glucose1 <- glmer(GlucoseYN ~ 1 + (1|Subject), data=LongFormat, family = "binomial", glmerControl(optimizer = "bobyqa", optCtrl = list(maxfun = 10000000)))

getME(Glucose1, c("theta","beta"))
# theta = 3.276187, beta = -0.3515557

Glucose1b <- glmer(GlucoseYN ~ 1 + (1|Subject), data=LongFormat, family = "binomial", start = 3.276187, glmerControl(optimizer = "bobyqa", optCtrl = list(maxfun = 10000000)))

Ответы [ 2 ]

0 голосов
/ 20 июня 2019

Вот один из glmer примеров с добавлением аргумента start в том виде, в котором он звучит так, как вы хотите его использовать:

library(lme4)

glmer(
  cbind(incidence, size - incidence) ~ period + (1 | herd),
  data = cbpp,
  family = binomial,
  start = list(theta = 0.6, fixef = c(-1.4, -1, -1.1, -1.6))
)

Так в вашем случае:

Glucose1b <-
  glmer(
    GlucoseYN ~ 1 + (1 | Subject),
    data = LongFormat,
    family = "binomial",
    control = glmerControl(optimizer = "bobyqa", optCtrl = list(maxfun = 10000000)), 
    start = list(theta = 3.276187, fixef = -0.3515557)
  )
0 голосов
/ 20 июня 2019

Я никогда не использовал glmer, но в нелинейной регрессии код:

Richards = nls(Hd ~ a/(1+b*exp(-c*Id)), data = Capacidade_Prod, start = list(a = 20, b = 4, c = 0.01))
...