मैं आर के साथ अधिक परिचित हूं, और चार निवास स्थानों के लिए 5 वर्षों में लगभग 35 व्यक्तियों के लिए यादृच्छिक ढलान (चयन गुणांक) का अनुमान लगाने की कोशिश कर रहा हूं। प्रतिक्रिया चर है कि क्या कोई स्थान "उपयोग किया गया था" (1) या "उपलब्ध" (0) निवास स्थान (नीचे "उपयोग")।
मैं एक विंडोज 64-बिट कंप्यूटर का उपयोग कर रहा हूं।
आर संस्करण 3.1.0 में, मैं नीचे दिए गए डेटा और अभिव्यक्ति का उपयोग करता हूं। पीएस, टीएच, आरएस, और एचडब्ल्यू फिक्स्ड इफेक्ट्स (मानकीकृत, निवास स्थान की दूरी को मापा जाता है) हैं। lme4 V 1.1-7।
str(dat)
'data.frame': 359756 obs. of 7 variables:
$ use : num 1 1 1 1 1 1 1 1 1 1 ...
$ Year : Factor w/ 5 levels "1","2","3","4",..: 4 4 4 4 4 4 4 4 3 4 ...
$ ID : num 306 306 306 306 306 306 306 306 162 306 ...
$ PS: num -0.32 -0.317 -0.317 -0.318 -0.317 ...
$ TH: num -0.211 -0.211 -0.211 -0.213 -0.22 ...
$ RS: num -0.337 -0.337 -0.337 -0.337 -0.337 ...
$ HW: num -0.0258 -0.19 -0.19 -0.19 -0.4561 ...
glmer(use ~ PS + TH + RS + HW +
(1 + PS + TH + RS + HW |ID/Year),
family = binomial, data = dat, control=glmerControl(optimizer="bobyqa"))
ग्लेमर मुझे निश्चित प्रभावों के लिए पैरामीटर अनुमान देता है जो मेरे लिए समझ में आता है, और यादृच्छिक ढलानों (जो मैं प्रत्येक आवास प्रकार के चयन गुणांक के रूप में व्याख्या करता हूं) भी समझ में आता है जब मैं गुणात्मक रूप से डेटा की जांच करता हूं। मॉडल के लिए लॉग-लाइकैलिटी -3050.8 है।
हालांकि, जानवरों की पारिस्थितिकी में अधिकांश अनुसंधान आर का उपयोग नहीं करते हैं क्योंकि पशु स्थान डेटा के साथ, स्थानिक ऑटोकॉरेलेशन मानक त्रुटियों को टाइप I त्रुटि होने का खतरा बना सकता है। जबकि R मॉडल-आधारित मानक त्रुटियों का उपयोग करता है, अनुभवजन्य (भी ह्यूबर-व्हाइट या सैंडविच) मानक त्रुटियों को प्राथमिकता दी जाती है।
जबकि R वर्तमान में इस विकल्प की पेशकश नहीं करता है (मेरी जानकारी के लिए - कृपया, मुझे सही करें कि क्या मैं गलत हूं), SAS करता है - हालाँकि मेरे पास एसएएस तक पहुंच नहीं है, एक सहकर्मी ने मुझे यह निर्धारित करने के लिए अपने कंप्यूटर को उधार देने के लिए सहमति दी कि क्या मानक त्रुटियां हैं जब अनुभवजन्य विधि का उपयोग किया जाता है, तो महत्वपूर्ण रूप से बदलें।
सबसे पहले, हम यह सुनिश्चित करना चाहते थे कि मॉडल-आधारित मानक त्रुटियों का उपयोग करते समय, एसएएस आर के समान अनुमानों का उत्पादन करेगा - यह सुनिश्चित करने के लिए कि मॉडल दोनों कार्यक्रमों में उसी तरह निर्दिष्ट है। मुझे परवाह नहीं है अगर वे बिल्कुल समान हैं - बस इसी तरह। मैंने कोशिश की (एसएएस वी 9.2):
proc glimmix data=dat method=laplace;
class year id;
model use = PS TH RS HW / dist=bin solution ddfm=betwithin;
random intercept PS TH RS HW / subject = year(id) solution type=UN;
run;title;
मैंने कई अन्य रूपों की भी कोशिश की, जैसे कि लाइनें जोड़ना
random intercept / subject = year(id) solution type=UN;
random intercept PS TH RS HW / subject = id solution type=UN;
मैंने निर्दिष्ट किए बिना प्रयास किया
solution type = UN,
या टिप्पणी कर रहा है
ddfm=betwithin;
कोई फर्क नहीं पड़ता कि हम मॉडल को कैसे निर्दिष्ट करते हैं (और हमने कई तरीके आजमाए हैं), मैं एसएएस में यादृच्छिक ढलानों को दूरस्थ रूप से आर से उन आउटपुट के समान नहीं प्राप्त कर सकता हूं - भले ही निश्चित प्रभाव समान हो। और जब मैं अलग होता हूं, मेरा मतलब है कि संकेत भी समान नहीं हैं। एसएएस में -2 लॉग संभावना 71344.94 थी।
मैं अपना पूर्ण डेटा अपलोड नहीं कर सकता; इसलिए मैंने तीन व्यक्तियों के केवल रिकॉर्ड के साथ एक खिलौना डेटासेट बनाया। एसएएस मुझे कुछ ही मिनटों में आउटपुट देता है; आर में एक घंटे से अधिक समय लगता है। अजीब। इस खिलौने के साथ मैं अब निश्चित प्रभावों के लिए अलग-अलग अनुमान लगा रहा हूं।
मेरा प्रश्न: क्या कोई इस बात पर प्रकाश डाल सकता है कि यादृच्छिक ढलानों का अनुमान आर और एसएएस के बीच इतना भिन्न क्यों हो सकता है? क्या मैं अपने कोड को संशोधित करने के लिए R, या SAS में कुछ भी कर सकता हूं ताकि कॉल समान परिणाम उत्पन्न करें? मैं एसएएस में कोड बदलना चाहता हूं, क्योंकि मैं अपने आर अनुमानों को "अधिक" मानता हूं।
मैं वास्तव में इन मतभेदों से चिंतित हूं और इस समस्या की तह तक जाना चाहता हूं!
एक खिलौना डेटासेट से मेरा आउटपुट जो आर और एसएएस के लिए पूर्ण डेटासेट में 35 व्यक्तियों में से केवल तीन का उपयोग करता है, को jpegs के रूप में शामिल किया गया है।
संपादित करें और अद्यतन करें:
जैसा कि @JakeWestfall ने खोज में मदद की, एसएएस में ढलानों में निश्चित प्रभाव शामिल नहीं हैं। जब मैं निश्चित प्रभावों को जोड़ता हूं, तो यहां परिणाम है - एक निश्चित प्रभाव के लिए एसए ढलानों के लिए आर ढलान की तुलना, "पीएस", कार्यक्रमों के बीच: (चयन गुणांक = यादृच्छिक ढलान)। एसएएस में वृद्धि की विविधता पर ध्यान दें।
0
s और 1
s के रूप में लेबल है , R
"1" प्रतिक्रिया की संभावना को मॉडल करेगा जबकि एसएएस "0" प्रतिक्रिया की संभावना को मॉडल करेगा। SAS मॉडल को "1" की संभावना बनाने के लिए आपको अपनी प्रतिक्रिया चर के रूप में लिखनी होगी use(event='1')
। बेशक, ऐसा करने के बिना भी मेरा मानना है कि हमें अभी भी यादृच्छिक प्रभाव के समान अनुमानों की उम्मीद करनी चाहिए, साथ ही साथ उनके संकेतों के साथ एक ही निश्चित प्रभाव का अनुमान भी उलटा होगा।
ranef()
फ़ंक्शन के उपयोग से करनी चाहिए coef()
। पूर्व वास्तविक यादृच्छिक प्रभाव देता है, जबकि बाद वाला यादृच्छिक प्रभाव और निश्चित-प्रभाव वेक्टर देता है। इसलिए यह बहुत कुछ बताता है कि आपके पोस्ट में सचित्र संख्याएँ भिन्न क्यों हैं, लेकिन अभी भी एक पर्याप्त विसंगति शेष है जिसे मैं पूरी तरह से समझा सकता हूं।
ID
आर में कोई कारक नहीं है; जाँच करें और देखें कि क्या कुछ भी बदलता है।