R (lme4) बनाम स्टैटा (xtmixed) में यादृच्छिक प्रभावों की मानक त्रुटि


19

कृपया इस डेटा पर विचार करें:

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) का उल्लेख करते हैं, इसलिए गणित के कम से कम कुछ हिस्सों को समान होना चाहिए।
StasK

@StasK मैंने पहले पिनेहिरो और बेट्स का एक संदर्भ देखा था, लेकिन किसी कारण से मैं इसे अब नहीं ढूँढ सकता! मैंने यादृच्छिक प्रभावों की भविष्यवाणी के बारे में तकनीकी नोट देखा है; यह "अधिकतम संभावना के मानक सिद्धांत" और दिए गए परिणाम का उपयोग करता है जो कि हेसियन के नकारात्मक व्युत्क्रम को फिर से बनाने के लिए एसिम्प्टोटिक विचरण मैट्रिक्स है। लेकिन सच कहूँ तो यह वास्तव में मेरी मदद नहीं करता था! [शायद मेरी समझ की कमी के कारण]
रॉबर्ट लॉन्ग

क्या स्टाटा बनाम आर में अलग-अलग तरीके से किए जा रहे स्वतंत्रता सुधार की कोई डिग्री हो सकती है? मैं बस जोर से सोच रहा हूं।
StasK

@StasK मैंने उसके बारे में भी सोचा, लेकिन मैंने यह निष्कर्ष निकाला कि अंतर - 1.32 vc 2.13 - बहुत महान था। बेशक, यह एक छोटा नमूना आकार है - छोटी संख्या में क्लस्टर और प्रति क्लस्टर छोटी संख्या, इसलिए मुझे यह जानकर आश्चर्य नहीं होगा कि जो कुछ भी वह पैदा कर रहा है, वह नमूना आकार द्वारा प्रवर्धित किया जा रहा है।
रॉबर्ट लॉन्ग

जवाबों:


6

[XT]मैनुअल 11 के अनुसार :

ββ

β

अपने प्रश्न से, आपने Stata और R दोनों में REML की कोशिश की है, और R में REML के साथ Stata में ML। यदि आप दोनों में ML की कोशिश करते हैं, तो आपको दोनों में समान परिणाम प्राप्त करने चाहिए।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.