Lmer () spline'ları rastgele efektler olarak kullanabilir mi?


19

Diyelim ki zaman içinde bazı sayım verilerinin rastgele efektler modeli üzerinde çalışıyoruz ve bazı eğilimleri kontrol etmek istiyoruz. Normalde şöyle bir şey yaparsınız:

lmer(counts ~ dependent_variable + (1+t+I(t^2)|ID), family="poisson")

ikinci dereceden bir şekil eklemek t. Bu ilişkiyi modellemek için LOESS daha pürüzsüz veya spline gibi daha karmaşık pürüzsüzleştirme teknikleri kullanmak mümkün müdür?

Yanıtlar:


25

Gösterdiğiniz şey lmerrastgele efektler terimi için bir formül için çalışıyorsa , ilgili temel işlevleri ayarlamak için R ile birlikte gelen spline paketindeki işlevleri kullanabilmeniz gerekir .

require("lme4")
require("splines")
lmer(counts ~ dependent_variable + (bs(t) | ID), family="poisson")

Ne yapmak istediğinize bağlı olarak, gamm4 paketine ve mgcv paketine de bakmalısınız . Birincisi, esasen yukarıdaki çağrıdaki bs()biti resmileştirir lmer()ve analizin bir parçası olarak pürüzsüzlük seçiminin yapılmasına izin verir. Fonksiyonu olan ikincisi, gam()bu tür modellerin takılmasında bir miktar esnekliğe izin verir (ne yapmaya çalıştığınızı anlarsam). İçinde ayrı trendler mi istiyorsun ID? Daha sabit bir etki yaklaşımı şöyle olacaktır:

gam(counts ~ dependent_variable + ID + s(t, by = ID) , family="poisson")

Rastgele efektler, örneğinizde yer alacağı tür terimlerini gam()kullanan modellere dahil edilebilir . Fikir terimini rastgele bir efektle birleştirmenin anlamlı olup olmadığı, üzerinde yorum yapmaya nitelikli olduğum bir şey değil, düşünülmesi gereken bir şeydir.s(foo, bs = "re")fooIDby

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.