Tahmin için lmer kullanma


18

Merhaba Hiç kullanmadığım çok düzeyli / karma modeller için doğal adaylar gibi görünen iki problemim var. Daha basit ve bir giriş olarak denemeyi umduğum, aşağıdaki gibidir: Veriler formun birçok satırına benziyor

x y innergroup outergroup

burada x, y'yi (başka bir sayısal değişken) gerilemek istediğim sayısal bir eşdeğerdir, her y bir iç gruba aittir ve her iç grup bir dış gruba yuvalanmıştır (yani, belirli bir iç gruptaki tüm y aynı dış gruba aittir) . Ne yazık ki, iç grup çok sayıda seviyeye (binlerce) sahiptir ve her seviye y'nin nispeten az gözlemine sahiptir, bu yüzden bu tür bir modelin uygun olabileceğini düşündüm. Sorularım

  1. Bu tür çok düzeyli formülü nasıl yazarım?

  2. Bir kez llmer uyan modeli nasıl biri ondan tahmin etme konusunda gidiyor? Bazı basit oyuncak örneklerine uydum, ancak bir tahmin () işlevi bulamadım. Çoğu insan bu tür bir teknikle tahmin yapmaktan çok çıkarımla daha fazla ilgileniyor gibi görünmektedir. Birkaç milyon satırım var, bu yüzden hesaplamalar bir sorun olabilir, ancak her zaman uygun şekilde kesebilirim.

Bir süredir ikincisini yapmam gerekmeyecek, ama düşünmeye ve onunla oynamaya da başlayabilirim. Daha önce olduğu gibi benzer veriler var, ama x olmadan ve y şimdi formun bir binom değişkeni . y ayrıca iç gruplarda bile çok fazla dağılım gösterir. Çoğu daha 2 veya 3 (veya daha az), dolayısıyla her başarı oranlarının derived tahminlerine daha vardır I beta binom çekme tahmincisi kullanılarak olmuştur , burada ve(n,n-k)nyben(α+kben)/(α+β+nben)αβher bir iç grup için ayrı olarak MLE ile hesaplanır. Bu biraz yeterli oldu, ancak veri seyrini hala rahatsız ediyor, bu yüzden mevcut tüm verileri kullanmak istiyorum. Bir perspektiften bakıldığında, bu problem daha kolaydır çünkü ortak değişken yoktur, ancak diğer taraftan binom doğası bunu daha zorlaştırır. Herhangi bir yüksek (veya düşük!) Seviye rehberlik var mı?


Lütfen büzülme formülüne eklediğim parantezlerin olmasını istediğiniz yerde olduğunu doğrulayın.
whuber

1
Sorunuzun 2. kısmı (ikili değişkenli) ayrı bir soru olmamalı mı?
chl

Yanıtlar:


16

R formüllerini kullanarak faktör ilişkilerini ifade etmek, '*' işaretinin kesişme ve '/' iç içe geçmeyi ifade ettiği, ancak karışık efekt modelleri veya daha genel olarak rastgele efektler için formülün işlenme biçiminde bazı özellikler vardır. Örneğin, iki çapraz rasgele efekt olarak gösterilebilir (1|x1)+(1|x2). Açıklamanızı, sınıfların okullarda (eyaletlerde vb.) Yuvalanmış gibi, yuvalama durumu olarak yorumladım, bu nedenle temel bir formül lmer(aksi belirtilmedikçe, gaussianvarsayılan olarak bir aile kullanılır):

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

burada A ve B sırasıyla iç ve dış faktörlerinize karşılık gelir. B, A içinde yuvalanır ve her ikisi de rastgele faktörler olarak ele alınır. Eski nlme paketinde, bu gibi bir şeye karşılık gelir lme(y ~ x, random=~ 1 | A/B). A sabit bir faktör olarak değerlendirilecekse, formül okunmalıdır y ~ x + A + (1|A:B).

Ancak, D. Bates'in lme4 paketi için spesifikasyonlarını kontrol etmeye değer , örneğin, onun gelecek ders kitabında, lme4: R ile Karışık Etkiler Modelleme veya aynı web sayfasında bulunan birçok el notunda . Özellikle, Doğrusal Karışık Etkiler Modellerinin Takılması, R'deki lme4 Paketi gibi bu tür yuvalama ilişkilerine bir örnek vardır . John Maindonald'ın öğreticisi de güzel bir genel bakış sunuyor: R'nin lme4 Paketi ile Karışık Model Analizinin Anatomisi . Son olarak, lme4 imlementasyonundaki R vinyetinin 3. bölümü, iç içe bir yapının analizinin bir örneğini içerir.

Lme4'tepredict() işlev yok(bu işlev şimdi var, aşağıdaki yoruma bakın) ve tahmini sabit (bkz. ?fixef) ve rastgele (bkz. ?ranef) efektleri kullanarak kendiniz tahmin edilen değerleri tek tek hesaplamanız gerekir , ancak aynı zamanda lme4'teki tahmin işlevinin eksikliği hakkında da bu konuya bakın . mcmcsamp()İşlevi kullanarak arka dağılımdan da bir örnek oluşturabilirsiniz . Bazen, çatışabilir. Daha güncel bilgiler için sig-me posta listesine bakınız .


3
Güncellemek için: lme4şimdi içeride
Bar


10

Ez paketi tahmini sadece sabit etkiler dayanır llmer modellerinden tahminler elde ezPredict () işlev içerir. Gerçekten sadece glmm wiki'de detaylandırılan yaklaşımın etrafındaki bir sarıcı .


5

Ben de "logit.mixed" işlevini kullanırsınız Zelig lime4 için bir sarıcı ve çok uygun tahmini ve simülasyon yapmak yapar.


Zelig'de karıştırılan logit.mix için predcit () yöntemi yok gibi görünüyor ..
nassimhddd

3

Lme4'ün geliştirme sürümü yerleşik bir tahmin fonksiyonuna sahiptir (predict.merMod). Https://github.com/lme4/lme4/ adresinde bulunabilir .

"Lme4 r-forge deposundan neredeyse güncel geliştirme ikili dosyalarını" yükleme kodu yukarıdaki sayfada bulunabilir ve:

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

1
Bu artık geliştirme sürümü değildir, predictbirkaç yıldır mevcuttur.
Ben Bolker

1

Stephen Raudenbush, " Çok Küçük Gruplar " konulu Çok Seviyeli Analiz El Kitabı'nda bir kitap bölümüne sahiptir . Eğer sadece x'in y üzerindeki etkileri ile ilgileniyorsanız ve daha yüksek seviyeli etkilere ilgi duymuyorsanız, onun önerisi sadece sabit bir etki modelini (yani tüm olası daha yüksek seviyeli gruplamalar için bir kukla değişken) tahmin etmektir.

Bunun tahmine doğru ne kadar uygulanabilir olduğunu bilmiyorum, ama yazdığı şeylerin bazılarının gerçekleştirmeye çalıştığınız şeyler için geçerli olduğunu hayal ediyorum.

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.