Удивительно, но я не смог найти ответ на следующий вопрос с помощью Google:
У меня есть некоторые биологические данные от нескольких людей, которые показывают примерно сигмовидное поведение роста во времени. Таким образом, я хочу смоделировать это с использованием стандартного логистического роста
P(t) = k*p0*exp(r*t) / (k+p0*(exp(r*t)-1))
где p0 является начальным значением при t = 0, k является асимптотическим пределом при t-> бесконечности и r является скоростью роста. Насколько я вижу, я могу легко смоделировать это с помощью nls (отсутствие понимания с моей стороны: почему я не могу смоделировать нечто подобное, используя стандартную регрессию logit путем масштабирования времени и данных? РЕДАКТИРОВАТЬ: Спасибо Ник, очевидно, люди делают это, например, для пропорции, но редко http://www.stata-journal.com/article.html?article=st0147 . Следующий вопрос по этой касательной будет, если модель может обрабатывать выбросы> 1).
Теперь я хочу разрешить некоторые фиксированные (в основном категориальные) и некоторые случайные (индивидуальный идентификатор и, возможно, также идентификатор исследования) воздействия на три параметра k, p0 и r. Это лучший способ сделать это? Модель SSlogis кажется разумной для того, что я пытаюсь сделать, верно? Любая из следующих разумных моделей для начала? Кажется, я не могу правильно понять начальные значения, а update (), похоже, работает только для случайных эффектов, а не для фиксированных - какие-нибудь подсказки?
nlme(y ~ k*p0*exp(r*t) / (k+p0*(exp(r*t)-1)), ## not working at all (bad numerical properties?)
data = data,
fixed = k + p0 + r ~ var1 + var2,
random = k + p0 + r ~ 1|UID,
start = c(p0=1, k=100, r=1))
nlme(y ~ SSlogis(t, Asym, xmid, scal), ## not working, as start= is inappropriate
data = data,
fixed = Asym + xmid + scal ~ var1 + var2, ## works fine with ~ 1
random = Asym + xmid + scal ~ 1|UID,
start = getInitial(y ~ SSlogis(Dauer, Asym, xmid, scal), data = data))
Поскольку я новичок в нелинейных смешанных моделях в частности и в нелинейных моделях в целом, я был бы признателен за некоторые рекомендации по чтению или ссылки на учебники / часто задаваемые вопросы с вопросами новичков.
источник
Ответы:
Я хотел поделиться некоторыми вещами, которые я узнал с тех пор, как задал этот вопрос. NLME кажется разумным способом моделирования нелинейных смешанных эффектов в R. Начнем с простой базовой модели:
Затем используйте обновление, чтобы увеличить сложность модели. С параметром start работать немного сложнее, для определения порядка может потребоваться некоторая обработка. Обратите внимание, что новый фиксированный эффект для var1 на Asym следует за обычным фиксированным эффектом для Asym.
Ime4 казался более устойчивым к выбросам в моем наборе данных и, казалось, предлагал более надежную конвергенцию для более сложных моделей. Однако, похоже, недостатком является то, что соответствующие функции правдоподобия должны быть указаны вручную. Ниже приведена модель логистического роста с фиксированным эффектом var1 (бинарный) на Asym. Вы можете добавить фиксированные эффекты на xmid и scal аналогичным образом. Обратите внимание на странный способ задания модели с использованием двойной формулы в качестве результата ~ фиксированные эффекты ~ случайные эффекты.
источник