Використання lmer для прогнозування


18

Привіт, у мене є дві проблеми, які звучать як природні кандидати для багаторівневих / змішаних моделей, які я ніколи не використовував. Найпростіший і той, який я сподіваюся спробувати як вступ, такий: Дані виглядають як багато рядків форми

x y innergroup outergroup

де x - числовий коваріат, на якому я хочу регресувати y (інша числова змінна), кожен y належить до внутрішньої групи, а кожна внутрішня група вкладена у зовнішню групу (тобто, всі y у даній внутрішній групі належать до тієї ж зовнішньої групи) . На жаль, внутрішня група має багато рівнів (багато тисяч), і кожен рівень має порівняно мало спостережень y, тому я вважав, що така модель може бути доречною. Мої запитання є

  1. Як написати цю формулу багаторівневої формули?

  2. Як тільки Лмер відповідає моделі, як можна передбачити прогноз? Я підходив до більш простих іграшкових прикладів, але не знайшов функції прогнозування (). Більшість людей здаються більш зацікавленими у висновках, ніж прогнозуванні за допомогою такого роду методи. У мене є кілька мільйонів рядків, тому обчислення можуть бути проблемою, але я завжди можу скоротити її, як годиться.

Мені не потрібно буде робити другий деякий час, але я можу так само почати думати про це і пограти з ним. У мене є аналогічні дані, як раніше, але без x, і y тепер є біноміальною змінною форми . y також виявляється багато передисперсії навіть у внутрішніх групах. Більшість - не більше 2 або 3 (або менше), тому для отримання оцінок показників успішності кожного я використовував бета-біноміальну оцінку усадки , де \ альфа і \ бета(n,nk)nyi(α+ki)/(α+β+ni)αβоцінюються MLE для кожної внутрішньої групи окремо. Це було дещо адекватно, але розрідженість даних все ще мене мучить, тому я хотів би використати всі наявні дані. З одного боку, ця проблема легша, оскільки немає коваріату, а з іншого біноміальний характер ускладнює її. Хтось має якісь високі (або низькі!) Рівні керівництва?


Будь ласка, переконайтесь, що дужки, які я вставив у формулу усадки, там, де ви їх мали намір.
whuber

1
Чи не повинна друга частина вашого запитання (з двійковою змінною) бути окремим питанням?
chl

Відповіді:


17

Вираження факторних зв'язків за допомогою формул R випливає з позначення Вілкінсона, де '*' позначає схрещування та '/' вкладення, але є деякі особливості способу обробки формул для моделей зі змішаними ефектами або загалом випадкових ефектів. Наприклад, два перехрещені випадкові ефекти можуть бути представлені як (1|x1)+(1|x2). Я інтерпретував ваш опис як випадок вкладання, подібно до того, що класи вкладені в школах (вкладені в штати тощо), тому основна формула з lmerвиглядатиме так (якщо не вказано інше,gaussian сім'я використовується за замовчуванням):

y ~ x + (1|A:B) + (1|A)

де А і В відповідають вашим внутрішнім і зовнішнім факторам відповідно. B вкладається в межах А, і обидва трактуються як випадкові фактори. У старшій nlme пакеті це відповідатиме чомусь подібному lme(y ~ x, random=~ 1 | A/B). Якщо A слід було б вважати фіксованим фактором, формулу слід читати y ~ x + A + (1|A:B).

Але варто точніше перевірити специфікації D. Bates для пакету lme4 , наприклад, у його наступному підручнику lme4: Моделювання змішаних ефектів з R або безліч роздаткових матеріалів, доступних на одній веб-сторінці. Зокрема, є приклад для таких гніздівель відносин з монтажу лінійних змішаних ефектів моделей, lme4 пакета в R . Підручник Джона Maindonald також забезпечує хороший огляд: Анатомію змішаної моделі аналізу, з lme4 Пакетом лепехи . Нарешті, розділ 3 віньєтки R щодо імплементації lme4 включає приклад аналізу вкладеної структури.

У lme4 немає predict()функції(ця функція тепер існує, див. коментар нижче), і вам доведеться обчислити передбачувані індивідуальні значення, використовуючи оцінені фіксовані (див. ?fixef) та випадкові (див. ?ranef) ефекти, але дивіться також цю нитку про відсутність функції прогнозування в lme4 . Ви також можете створити зразок із заднього розподілу за допомогою mcmcsamp()функції. Однак іноді це може зіткнутися. Перегляньте список розсилки sig-me для отримання більш оновленої інформації.


3
Для оновлення: lme4тепер включає функцію передбачення всередині-r.org/packages/cran/lme4/docs/predict.mermod
бар

Документацію для predict.merMod зараз можна отримати тут: rdocumentation.org/packages/lme4/versions/1.1-12/topics/…
DirtStats

10

Пакет ez містить функцію ezPredict (), яка отримує прогнози з lmer-моделей, де прогнозування базується лише на фіксованих ефектах. Це дійсно просто обгортка навколо підходу, детально описаного у wiki wiki .


5

Я використовував би функцію "logit.mixed" в Zelig , яка є обгорткою для lime4 і робить дуже зручним робити прогнозування та моделювання.


Здається, немає методу predcit () для logit.mixed в zelig ..
nassimhddd

3

Версія розробки lme4 має вбудовану функцію прогнозування (predict.merMod). Її можна знайти на https://github.com/lme4/lme4/ .

Код для встановлення "Майже сучасних бінарних файлів розробки з сховища lme4 r-forge" можна знайти на цій сторінці:

install.packages("lme4", repos=c("http://lme4.r-forge.r-project.org/repos", getOption("repos")["CRAN"]))

1
Зауважте, це вже не версія для розробки, predictвона доступна вже кілька років.
Бен Болкер

1

Стівен Рауденбуш має підручник з книги у Підручнику багаторівневого аналізу на тему " Багато малих груп ". Якщо вас цікавлять лише ефекти x на y і не має інтересу до ефектів вищого рівня, його пропозиція полягає в тому, щоб просто оцінити модель фіксованих ефектів (тобто фіктивну змінну для всіх можливих групувань вищого рівня).

Я не знаю, наскільки це застосовно до прогнозування, але я б уявив, що те, що він пише, стосується того, що ви намагаєтеся досягти.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.