कृपया इस डेटा पर विचार करें:
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")
हम एक सरल विचरण घटक मॉडल फिट करते हैं। आर में हमारे पास:
require(lme4)
fit.vc <- lmer( g ~ (1|id), data=dt.m )
फिर हम एक कमला भूखंड का उत्पादन करते हैं:
rr1 <- ranef(fit.vc, postVar = TRUE)
dotplot(rr1, scales = list(x = list(relation = 'free')))[["id"]]
अब हम स्टैटा में उसी मॉडल को फिट करते हैं। पहले R से Stata प्रारूप लिखें:
require(foreign)
write.dta(dt.m, "dt.m.dta")
स्टाटा में
use "dt.m.dta"
xtmixed g || id:, reml variance
आउटपुट R आउटपुट (न ही दिखाया गया है) से सहमत है, और हम एक ही कैटरपिलर प्लॉट का उत्पादन करने का प्रयास करते हैं:
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)
Clearty Stata R के लिए एक अलग मानक त्रुटि का उपयोग कर रही है। वास्तव में Stata 2.13 का उपयोग कर रहा है जबकि R 1.32 का उपयोग कर रहा है।
मैं जो बता सकता हूं, उसमें 1.32 R से आ रहा है
> 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
हालांकि मैं यह नहीं कह सकता कि मैं वास्तव में समझ रहा हूं कि यह क्या कर रहा है। क्या कोई समझा सकता है?
और मुझे पता नहीं है कि स्टैटा से 2.13 कहाँ से आ रहा है, सिवाय इसके कि, अगर मैं अनुमान लगाने की विधि को अधिकतम संभावना के रूप में बदल दूं:
xtmixed g || id:, ml variance
.... तो यह 1.32 मानक त्रुटि के रूप में उपयोग करने लगता है और आर के समान परिणाम देता है।
.... लेकिन फिर यादृच्छिक प्रभाव विचरण के लिए अनुमान अब R (35.04 बनाम 31.97) से सहमत नहीं है।
ऐसा लगता है कि एमएल बनाम REML के साथ कुछ करना है: यदि मैं दोनों प्रणालियों में REML चलाता हूं, तो मॉडल आउटपुट सहमत हो जाता है, लेकिन कैटरपिलर भूखंडों में उपयोग की जाने वाली मानक त्रुटियां सहमत नहीं होती हैं, जबकि अगर मैं RL में REML और Stata में ML चलाऊं , कैटरपिलर भूखंड सहमत हैं, लेकिन मॉडल का अनुमान नहीं है।
क्या कोई समझा सकता है कि क्या चल रहा है?
[XT] xtmixed
और / या[XT] xtmixed postestimation
? वे पिनहेइरो और बेट्स (2000) का उल्लेख करते हैं, इसलिए गणित के कम से कम कुछ हिस्सों को समान होना चाहिए।