получение степеней свободы от лмера


11

Я подобрал модель lmer со следующим (хотя и скомпонованным выводом):

Random effects:
 Groups        Name        Std.Dev.
 day:sample (Intercept)    0.09
 sample        (Intercept) 0.42
 Residual                  0.023 

Я действительно хотел бы построить доверительный интервал для каждого эффекта, используя следующую формулу:

(n1)s2χα/2,n12,(n1)s2χ1α/2,n12

Есть ли способ удобно выбрать степени свободы?


1
Я думаю, что вы хотите проверить lmerTest . Есть целый ряд приближений для аппроксимации ФРА в модели смешанных эффектов для фиксированных эффектов (например. Саттервейт , Kenward Роже и т.д.) В вашем случае это кажется мне , что вы усложнять свою жизнь. Вы предполагаете, что каждый эффект гауссовский. Просто используйте стандартное отклонение, чтобы получить доверительный интервал по вашему выбору.
usεr11852

3
@ usεr11852 В модели смешанных эффектов предполагается, что каждый эффект является гауссовым, но параметром является дисперсия распределения Гаусса, а не среднее значение. Таким образом, распределение его оценки будет очень искаженным, и нормальный доверительный интервал стандартных отклонений ± 2 не будет подходящим.
Карл Ове Хуфтхаммер

1
@KarlOveHufthammer: Вы правы, чтобы указать на это; Я понимаю, что вы (и, вероятно, ОП) имеете в виду. Я думал, что он был обеспокоен средствами и / или реализацией случайных эффектов, поскольку он упомянул степени свободы.
usεr11852

степени свободы «проблематичны» для смешанных моделей, см. stat.ethz.ch/pipermail/r-help/2006-May/094765.html и stats.stackexchange.com/questions/84268/…
Тим

Ответы:


17

Я бы просто создал доверительные интервалы вероятности профиля . Они надежны и их очень легко вычислить с помощью пакета 'lme4'. Пример:

> library(lme4)
> fm = lmer(Reaction ~ Days + (Days | Subject),
            data=sleepstudy)
> summary(fm)
[]
Random effects:
 Groups   Name        Variance Std.Dev. Corr
 Subject  (Intercept) 612.09   24.740       
          Days         35.07    5.922   0.07
 Residual             654.94   25.592       

Теперь вы можете рассчитать доверительные интервалы вероятности профиля с помощью confint()функции:

> confint(fm, oldNames=FALSE)
Computing profile confidence intervals ...
                               2.5 %  97.5 %
sd_(Intercept)|Subject        14.381  37.716
cor_Days.(Intercept)|Subject  -0.482   0.685
sd_Days|Subject                3.801   8.753
sigma                         22.898  28.858
(Intercept)                  237.681 265.130
Days                           7.359  13.576

Вы также можете использовать параметрическую загрузку для вычисления доверительных интервалов. Вот синтаксис R (используя parmаргумент для ограничения параметров, для которых мы хотим доверительные интервалы):

> confint(fm, method="boot", nsim=1000, parm=1:3)
Computing bootstrap confidence intervals ...
                              2.5 % 97.5 %
sd_(Intercept)|Subject       11.886 35.390
cor_Days.(Intercept)|Subject -0.504  0.929
sd_Days|Subject               3.347  8.283

Результаты, естественно, будут несколько отличаться для каждого запуска. Вы можете увеличить nsimэто отклонение, но это также увеличит время, необходимое для оценки доверительных интервалов.


1
Хороший ответ (+1). Я бы также упомянул тот факт, что в этом случае также можно получить КИ из параметрической начальной загрузки . Эта ветка содержит очень интересную дискуссию по этому вопросу.
usεr11852

@ usεr11852 Спасибо за предложение. Теперь я добавил пример с использованием параметрической начальной загрузки.
Карл Ове Хуфтхаммер

6

Степени свободы для смешанных моделей "проблематичны". Чтобы узнать больше об этом, вы можете проверить lmer, p-значения и все эти посты Дугласа Бейтса. Также в FAQ по r-sig-mixed-models обобщены причины, по которым это мешает:

  • В общем случае не ясно, что нулевое распределение вычисленного отношения сумм квадратов действительно является F-распределением для любого выбора степеней свободы знаменателя. Хотя это верно для особых случаев, которые соответствуют классическим экспериментальным проектам (вложенные, разделенные на участки, рандомизированные блоки и т. Д.), Это, очевидно, неверно для более сложных проектов (несбалансированные, GLMM, временная или пространственная корреляция и т. Д.).
  • Для каждого предложенного простого рецепта степеней свободы (след шляпной матрицы и т. Д.), По-видимому, существует по крайней мере один довольно простой контрпример, где рецепт терпит неудачу.
  • Другие предложенные схемы аппроксимации df (Satterthwaite, Kenward-Roger и т. Д.), По-видимому, было бы довольно сложно реализовать в lme4 / nlme,
    (...)
  • Поскольку основные авторы lme4 не убеждены в полезности общего подхода к тестированию со ссылкой на приблизительное нулевое распределение, а также из-за накладных расходов, связанных с тем, что кто-то еще копается в коде, чтобы включить соответствующую функциональность (как исправление или дополнение). -на) эта ситуация вряд ли изменится в будущем.

FAQ дает также некоторые альтернативы

  • используйте MASS :: glmmPQL (использует старые правила nlme, приблизительно эквивалентные правилам SAS «inner-external») для GLMM или (n) lme для LMM
  • Угадайте знаменатель df из стандартных правил (для стандартных конструкций) и примените их к t или F тестам
  • Запустите модель в lme (если возможно) и используйте сообщенный там знаменатель df (который следует простому правилу «внутреннее-внешнее», которое должно соответствовать каноническому ответу для простых / ортогональных конструкций), примененному к t или F тестам. Подробное описание правил, используемых мной, см. На стр. 91 «Пинейро и Бейтс» - эта страница доступна в Google Книгах.
  • использовать SAS, Genstat (AS-REML), Stata?
  • Предположим, что бесконечный знаменатель df (т. Е. Критерий Z / хи-квадрат, а не t / F), если число групп велико (> 45? Были сформулированы различные эмпирические правила определения размера «приблизительно бесконечно», в том числе [у Ангриста и Пишке '' В основном безвредная эконометрика ''], 42 (в честь Дугласа Адамса)

Но если вас интересуют доверительные интервалы, есть лучшие подходы, например, основанные на начальной загрузке, предложенной Карлом Ове Хуфтхаммером в его ответе, или предложенные в FAQ.


«Угадайте знаменатель df из стандартных правил (для стандартных конструкций) и примените их к t или F тестам»; Мне бы очень хотелось, если бы кто-то мог уточнить это. Например, для вложенного проекта (например, пациенты против контроля, несколько образцов на одного субъекта; при этом идентификатор субъекта является случайным эффектом), как мы можем получить степени свободы для такого дизайна?
Арно А
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.