R (lme4) ve Stata'ya (xtmixed) rastgele efektlerin standart hatası


19

Lütfen bu verileri göz önünde bulundurun:

dt.m <- structure(list(id = c(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12), occasion = structure(c(1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L), .Label = c("g1", "g2"), class = "factor"),     g = c(12, 8, 22, 10, 10, 6, 8, 4, 14, 6, 2, 22, 12, 7, 24, 14, 8, 4, 5, 6, 14, 5, 5, 16)), .Names = c("id", "occasion", "g"), row.names = c(NA, -24L), class = "data.frame")

Basit bir varyans bileşenleri modeline uyuyoruz. R'de:

require(lme4)
fit.vc <- lmer( g ~ (1|id), data=dt.m )

Sonra bir tırtıl grafiği üretiyoruz:

rr1 <- ranef(fit.vc, postVar = TRUE)
dotplot(rr1, scales = list(x = list(relation = 'free')))[["id"]]

Caterpillar'dan R

Şimdi aynı modeli Stata'ya sığdırıyoruz. Önce R'den Stata formatına yaz:

require(foreign)
write.dta(dt.m, "dt.m.dta")

Stata bölgesinde

use "dt.m.dta"
xtmixed g || id:, reml variance

Çıktı, R çıktısıyla (hiçbiri gösterilmiyor) hemfikir ve aynı tırtıl grafiğini üretmeye çalışıyoruz:

predict u_plus_e, residuals
predict u, reffects
gen e = u_plus_e – u
predict u_se, reses

egen tag = tag(id)
sort u
gen u_rank = sum(tag)

serrbar u u_se u_rank if tag==1, scale(1.96) yline(0)

resim açıklamasını buraya girin

Clearty Stata, R için farklı bir standart hata kullanıyor. Aslında Stata 2.13 kullanırken R, 1.32 kullanıyor.

Söyleyebileceğim kadarıyla, R'deki 1.32 geliyor

> sqrt(attr(ranef(fit.vc, postVar = TRUE)[[1]], "postVar")[1, , ])
 [1] 1.319977 1.319977 1.319977 1.319977 1.319977 1.319977 1.319977 1.319977 1.319977 1.319977 1.319977 1.319977

bunun ne yaptığını gerçekten anladığımı söyleyemem. Birisi açıklayabilir mi?

Ve tahmin yöntemini maksimum olasılığa değiştirirsem, Stata'dan 2.13'ün nereden geldiğine dair hiçbir fikrim yok:

xtmixed g || id:, ml variance

.... sonra standart hata olarak 1.32 kullanmak ve R ile aynı sonuçları üretmek gibi görünüyor ....

resim açıklamasını buraya girin

.... ancak daha sonra rastgele etki varyansı için tahmin artık R ile uyumlu değildir (35.04'e karşı 31.97).

Bu yüzden ML vs REML ile ilgili bir şey var: Her iki sistemde REML çalıştırırsam, model çıktısı kabul eder, ancak tırtıl parsellerinde kullanılan standart hatalar kabul etmez, oysa REML'yi R ve ML'de Stata'da çalıştırırsam , tırtıl arazileri kabul eder, ancak model tahminleri kabul etmez.

Neler olup bittiğini açıklayan var mı?


Robert, Stata'nın ve / veya Metod ve Formüllerini inceledin mi? Pinheiro ve Bates'e (2000) atıfta bulunurlar, bu yüzden matematiğin en azından bazı bölümleri aynı olmalıdır. [XT] xtmixed[XT] xtmixed postestimation
StasK

@StasK Daha önce Pinheiro ve Bates'e bir referans gördüm, ama nedense şimdi bulamıyorum! Rastgele etkilerin tahmini ile ilgili Teknik Notu gördüm; "maksimum ihtimalin standart teorisi" ni kullanması ve verilen sonuçta asimptotik varyans matrisinin Hessian'ın negatif tersi olması. ama dürüst olmak gerekirse bu bana gerçekten yardımcı olmadı! [belki anlayış eksikliğimden dolayı]
Robert Long

Bu, Stata vs R'de farklı şekilde yapılan herhangi bir serbestlik derecesi düzeltmesi olabilir mi? Sadece yüksek sesle düşünüyorum.
StasK

@StasK Bunu da düşündüm, ancak farkın - 1.32 vc 2.13 - çok büyük olduğu sonucuna vardım. Tabii ki, bu küçük bir örneklem büyüklüğüdür - az sayıda küme ve küme başına az sayıda gözlem, bu yüzden buna neden olan her ne olursa olsun, örneklem büyüklüğü ile yükseltildiğini öğrenmek beni şaşırtmayacaktır.
Robert Long

Yanıtlar:


6

[XT]Stata 11 kılavuzuna göre :

BLUP'lar için standart hatalar, BLUP'ların kendilerinin tahmin edilmesi için Bates ve Pinheiro'nun (1998, sn. 3.3) tekrarlamalı tekniğine dayanarak hesaplanır. Tahmin REML tarafından yapılırsa, bu standart hatalar tahminindeki belirsizliği açıklarken ML için standart hatalar bilinen şekilde davranır . Bu nedenle, REML tabanlı BLUP'ların standart hataları genellikle daha büyük olacaktır.ββ

Stata ML standart hataları, örneğinizdeki R'deki standart hatalarla eşleştiği için, R'nin tahmininde belirsizlikten kaynaklanmadığı anlaşılıyor . Olsun, bilmiyorum.β

Sorunuzdan, hem Stata'da hem de R'de REML'yi ve R'de REML ile ML'yi Stata'da denediniz. Her ikisinde de ML'yi denerseniz, her ikisinde de aynı sonuçları almalısınız.

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.