Здравствуйте, у меня есть две проблемы, которые звучат как естественные кандидаты для многоуровневых / смешанных моделей, которые я никогда не использовал. Более простой и тот, который я надеюсь попробовать в качестве введения, заключается в следующем: данные выглядят как множество строк в форме
x y innergroup outergroup
где x - числовой ковариат, по которому я хочу регрессировать y (еще одна числовая переменная), каждый y принадлежит внутренней группе, а каждая внутренняя группа вложена во внешнюю группу (т. е. все y в данной внутренней группе принадлежат одной и той же внешней группе) , К сожалению, у внутренней группы есть много уровней (много тысяч), и у каждого уровня относительно мало наблюдений за y, поэтому я подумал, что такая модель может быть уместной. Мои вопросы
Как мне написать такого рода многоуровневую формулу?
Как только Лмер подходит к модели, как можно прогнозировать ее? Я подобрал несколько простых примеров игрушек, но не нашел функцию предиката (). Большинство людей, кажется, больше заинтересованы в умозаключениях, чем в предсказаниях с помощью такой техники У меня есть несколько миллионов строк, так что вычисления могут быть проблемой, но я всегда могу сократить их по мере необходимости.
Мне не нужно будет делать секунду в течение некоторого времени, но я мог бы также начать думать об этом и играть с этим. У меня есть те же данные, что и раньше, но без x, и y теперь является биномиальной переменной вида . у также проявляется большая избыточная дисперсия, даже внутри внутренних групп. Большинство из n не более 2 или 3 (или менее), поэтому для получения оценок показателей успешности каждого y i I я использовал бета-биномиальную оценку усадки ( α + k i ) / ( α + β + n i ) , где и β оцениваются MLE для каждой внутренней группы в отдельности. Это было несколько адекватно, но разрозненность данных все еще мучает меня, поэтому я хотел бы использовать все доступные данные. С одной стороны, эта проблема легче, поскольку нет ковариат, но с другой стороны, биномиальная природа делает ее более трудной. У кого-нибудь есть высокий (или низкий!) Уровень руководства?
Ответы:
Выражение отношений факторов с помощью формул R следует из обозначений Уилкинсона, где «*» обозначает скрещивание и «/» вложение, но есть некоторые особенности в способе обработки формул для моделей со смешанными эффектами или, в более общем случае, случайных эффектов. Например, два скрещенных случайных эффекта могут быть представлены как
(1|x1)+(1|x2)
. Я интерпретировал ваше описание как случай вложенности, так же, как классы вложены в школы (вложенные в штатах и т. Д.), Поэтому базовая формула сlmer
будет выглядеть так (если не указано иное,gaussian
по умолчанию используется семейство):где A и B соответствуют вашим внутренним и внешним факторам соответственно. B вложен в A, и оба рассматриваются как случайные факторы. В старом пакете nlme это будет соответствовать чему-то вроде
lme(y ~ x, random=~ 1 | A/B)
. Если A следует рассматривать как фиксированный фактор, формула должна читатьсяy ~ x + A + (1|A:B)
.Но стоит более точно проверить спецификации Д. Бейтса для пакета lme4 , например, в его следующем учебнике, lme4: Моделирование смешанных эффектов с помощью R , или во многих раздаточных материалах, доступных на той же веб-странице. В частности, есть пример для таких гнездовий отношений Монтаж линейных смешанных эффектов моделей, lme4 пакета в R . Учебное пособие Джона Майндональда также дает хороший обзор: анализ анатомии смешанной модели с пакетом R's lme4 . Наконец, в разделе 3 виньетки R, посвященном имплементации lme4, приведен пример анализа вложенной структуры.
Там нет(эта функция теперь существует, см. комментарий ниже), и вы должны сами рассчитать прогнозируемые индивидуальные значения, используя предполагаемые фиксированные (см.predict()
функции в lme4?fixef
) и случайные (см.?ranef
) эффекты, но также смотрите эту ветку об отсутствии функции прогнозирования в lme4 . Вы также можете создать образец из апостериорного распределения, используяmcmcsamp()
функцию. Иногда, это может конфликтовать, хотя. См. Список рассылки sig-me для получения более подробной информации.источник
lme4
теперь включает функцию прогнозирования inside-r.org/packages/cran/lme4/docs/predict.mermodПакет ez содержит функцию ezPredict (), которая получает прогнозы от моделей lmer, где прогноз основан только на фиксированных эффектах. Это действительно просто обертка вокруг подхода, подробно описанного в glmm wiki .
источник
Я бы использовал функцию «logit.mixed» в Zelig , которая является оберткой для lime4 и делает ее очень удобной для прогнозирования и моделирования.
источник
Разрабатываемая версия lme4 имеет встроенную функцию предсказания (предиката .merMod). Его можно найти на https://github.com/lme4/lme4/ .
Код для установки «Практически современных двоичных файлов разработки из репозитория lme4 r-forge» можно найти на приведенной выше странице и он:
источник
predict
она доступна уже несколько лет.У Стивена Рауденбуша есть глава книги в «Руководстве по многоуровневому анализу» на тему « Много малых групп». ». Если вас интересует только влияние x на y и вы не интересуетесь эффектами более высокого уровня, он предлагает просто оценить модель с фиксированными эффектами (т.е. фиктивную переменную для всех возможных группировок более высокого уровня).
Я не знаю, насколько это применимо к прогнозированию, но я думаю, что часть того, что он пишет, применима к тому, что вы пытаетесь достичь.
источник