मैं एक रैखिक मॉडल में स्थानिक सहसंयोजक के लिए कैसे खाता हूं?


10

पृष्ठभूमि

मेरे पास एक क्षेत्र अध्ययन से डेटा है जिसमें चार उपचार स्तर हैं और प्रत्येक दो ब्लॉकों में छह प्रतिकृति हैं। (4x6x2 = 48 अवलोकन)

ब्लॉक लगभग 1 मील अलग हैं, और ब्लॉकों के भीतर 42, 2 मीटर x 4 मीटर भूखंड और 1 मीटर चौड़ा पैदल मार्ग का एक ग्रिड है; मेरे अध्ययन ने प्रत्येक ब्लॉक में केवल 24 भूखंडों का उपयोग किया।

मैं स्थानिक सहसंयोजक का मूल्यांकन करना चाहूंगा।

यहां स्थानिक सहसंयोजकता के लिए लेखांकन के बिना एक ब्लॉक से डेटा का उपयोग करके एक उदाहरण विश्लेषण किया गया है। डेटासेट में, plotप्लॉट आईडी है, xx लोकेशन है और yप्लॉट 1 के साथ प्रत्येक प्लॉट का y लोकेशन 0 पर केंद्रित है। 0. levelउपचार स्तर है और responseप्रतिक्रिया चर है।

layout <- structure(list(plot = c(1L, 3L, 5L, 7L, 8L, 11L, 12L, 15L, 16L, 
17L, 18L, 22L, 23L, 26L, 28L, 30L, 31L, 32L, 35L, 36L, 37L, 39L, 
40L, 42L), level = c(0L, 10L, 1L, 4L, 10L, 0L, 4L, 10L, 0L, 4L, 
0L, 1L, 0L, 10L, 1L, 10L, 4L, 4L, 1L, 1L, 1L, 0L, 10L, 4L), response = c(5.93, 
5.16, 5.42, 5.11, 5.46, 5.44, 5.78, 5.44, 5.15, 5.16, 5.17, 5.82, 
5.75, 4.48, 5.25, 5.49, 4.74, 4.09, 5.93, 5.91, 5.15, 4.5, 4.82, 
5.84), x = c(0, 0, 0, 3, 3, 3, 3, 6, 6, 6, 6, 9, 9, 12, 12, 12, 
15, 15, 15, 15, 18, 18, 18, 18), y = c(0, 10, 20, 0, 5, 20, 25, 
10, 15, 20, 25, 15, 20, 0, 15, 25, 0, 5, 20, 25, 0, 10, 20, 
25)), .Names = c("plot", "level", "response", "x", "y"), row.names = c(NA, 
-24L), class = "data.frame")

model <- lm(response ~ level, data = layout)      
summary(model)

प्रशन

  1. मैं एक सहसंयोजक मैट्रिक्स की गणना कैसे कर सकता हूं और इसे अपने प्रतिगमन में शामिल कर सकता हूं?
  2. ब्लॉक बहुत अलग हैं, और मजबूत उपचार * ब्लॉक इंटरैक्शन हैं। क्या उन्हें अलग से विश्लेषण करना उचित है?

1
प्लॉट 37 और 39 दोनों x = 18, y = 10 पर हैं। लेखन त्रुटि है?
हारून ने

@ ऐरन ने आपको यह बताने के लिए धन्यवाद दिया। y = [0,10]। फिक्स्ड।
डेविड लेबॉयर

जवाबों:


10

1) आप nlmeपुस्तकालय के साथ स्थानिक सहसंबंध मॉडल कर सकते हैं ; कई संभावित मॉडल हैं जिन्हें आप चुन सकते हैं। पेज २३०-२६६ के पिनहेइरो / बेट्स देखें।

एक अच्छा पहला कदम यह है कि कैसे सहसंबंध दूरी पर निर्भर करता है यह देखने के लिए एक वैरोग्राम बनाना है।

library(nlme)
m0 <- gls(response ~ level, data = layout)  
plot(Variogram(m0, form=~x+y))

यहाँ नमूना semivariogram दूरी के साथ बढ़ता है जो दर्शाता है कि अवलोकन वास्तव में स्थानिक रूप से सहसंबद्ध हैं।

सहसंबंध संरचना के लिए एक विकल्प एक गोलाकार संरचना है; जिसे निम्नलिखित तरीके से प्रतिरूपित किया जा सकता है।

m1 <- update(m0, corr=corSpher(c(15, 0.25), form=~x+y, nugget=TRUE))

यह मॉडल बिना सहसंबंध संरचना वाले मॉडल की तुलना में बेहतर रूप से फिट होता है, हालांकि यह पूरी तरह से संभव है कि इसे अन्य संभावित सहसंबंध संरचनाओं में से एक के साथ भी बेहतर बनाया जा सके।

> anova(m0, m1)
   Model df     AIC      BIC    logLik   Test  L.Ratio p-value
m0     1  3 46.5297 49.80283 -20.26485                        
m1     2  5 43.3244 48.77961 -16.66220 1 vs 2 7.205301  0.0273

2) आप मॉडल में शामिल xऔर yसीधे भी कोशिश कर सकते हैं ; यह उचित हो सकता है यदि सहसंबंध का पैटर्न केवल दूरी से अधिक पर निर्भर करता है। आपके मामले में (sesqu की तस्वीरों को देखकर) ऐसा लगता है कि इस ब्लॉक के लिए वैसे भी, आप एक विकर्ण पैटर्न हो सकते हैं।

यहां मैं m0 के बजाय मूल मॉडल को अपडेट कर रहा हूं क्योंकि मैं केवल निश्चित प्रभाव बदल रहा हूं, इसलिए मॉडल को अधिकतम संभावना का उपयोग करते हुए फिट होना चाहिए।

> model2 <- update(model, .~.+x*y)
> anova(model, model2)
Analysis of Variance Table

Model 1: response ~ level
Model 2: response ~ level + x + y + x:y
  Res.Df    RSS Df Sum of Sq      F   Pr(>F)   
1     22 5.3809                                
2     19 2.7268  3    2.6541 6.1646 0.004168 **

सभी तीन मॉडलों की तुलना करने के लिए, आपको glsREML की डिफ़ॉल्ट विधि के बजाय उन सभी और अधिकतम संभावना विधि के साथ फिट होने की आवश्यकता होगी ।

> m0b <- update(m0, method="ML")
> m1b <- update(m1, method="ML")
> m2b <- update(m0b, .~x*y)
> anova(m0b, m1b, m2b, test=FALSE)
    Model df      AIC      BIC     logLik
m0b     1  3 38.22422 41.75838 -16.112112
m1b     2  5 35.88922 41.77949 -12.944610
m2b     3  5 29.09821 34.98847  -9.549103

याद रखें कि विशेष रूप से अध्ययन के अपने ज्ञान के साथ, आप एक ऐसे मॉडल के साथ आने में सक्षम हो सकते हैं जो इनमें से किसी से भी बेहतर है। यही है, मॉडल m2bको अभी तक सबसे अच्छा नहीं माना जाना चाहिए।

नोट: ये गणना प्लॉट के x- मान को 37 से 0 में बदलने के बाद की गई थी।


आपके उपयोगी उत्तर के लिए धन्यवाद; यह स्पष्ट नहीं है कि भाग 2 में आपने modelइसके बजाय अपडेट क्यों किया m0, जैसे। m2 <- update(m0, .~.+x*y)ताकि सभी तीन मॉडलों का उपयोग करके तुलना की जा सके anova(m0,m1,m2); ऐसा करने के बाद, m2एक बड़ा हार है (एआईसी = 64) ऐसा लगता है कि आपका हिस्सा
डेविड लेबॉयर

पीएस अंतिम पंक्ति 'प्लॉट 37 के 5 से y- मूल्य को बदलने के बाद' होनी चाहिए; वास्तविक मान 0 है, लेकिन परिणाम बराबर हैं।
डेविड लेबॉयर

यदि आप तुलना करते हैं m0, m1और m2जैसा कि आप सुझाव देते हैं कि आपको चेतावनी मिलती है: Fitted objects with different fixed effects. REML comparisons are not meaningful. निश्चित प्रभावों की तुलना करने के लिए आपको REML के बजाय नियमित अधिकतम संभावना का उपयोग करना होगा। संपादित देखें।
हारून ने

आपकी सारी मदद के लिए शुक्रिया। मुझे यकीन नहीं है कि क्यों, लेकिन मुझे त्रुटियाँ मिल रही हैं जब मैं अन्य सहसंबंध संरचनाओं को फिट करने की कोशिश करता हूं, जैसे कि पिनहेरो और बेट्स उदाहरण में corExp का उपयोग करना। मैंने इस त्रुटि के बारे में SO पर एक प्रश्न खोला है , लेकिन आपके इनपुट की सराहना की जाएगी।
डेविड लेबॉयर

4

1) आपकी स्थानिक व्याख्या चर क्या है? लगता है कि x * y प्लेन स्थानिक प्रभाव के लिए एक खराब मॉडल होगा।

उपचार और प्रतिक्रियाओं की साजिश

i=c(1,3,5,7,8,11,14,15,16,17,18,22,23,25,28,30,31,32,35,36,39,39,41,42)
l=rep(NA,42)[i];l[i]=level
r=rep(NA,42)[i];r[i]=response
image(t(matrix(-l,6)));title("treatment")
image(t(matrix(-r,6)));title("response")

2) यह देखते हुए कि ब्लॉक 1 मील अलग कैसे हैं और आप केवल 30 मीटर के लिए प्रभाव देखने की उम्मीद करते हैं, मैं कहूंगा कि उनका अलग से विश्लेषण करना पूरी तरह से उचित है।


विज़ुअलाइज़ेशन सहायक है, लेकिन यदि आप आंकड़ों के ऊपरी दाहिने हिस्से के निचले अधिकार की तुलना करते हैं, तो यह मुझे प्रतीत होता है कि स्थान का स्तर पर अधिक मजबूत प्रभाव है। (ps I think l [i] = response r [i] = ...) होना चाहिए
David LeBauer

हाँ। स्थान प्रभाव उल्लेखनीय है, और इसलिए आप उपचार प्रभावों का आकलन शुरू करने से पहले उसके लिए एक अच्छा मॉडल चाहते हैं। दुर्भाग्य से, बहुत सारे लापता डेटा हैं, इसलिए यह कहना मुश्किल है कि यह क्या होना चाहिए - सबसे अच्छा मैं साथ आ सकता हूं पड़ोसियों की प्रतिक्रिया के औसत के रूप में एक मॉडलिंग स्थान प्रभाव होगा + यादृच्छिक घटक, और फिर उस पर उपचार की कोशिश करना। । यह बहुत ही संदिग्ध है, इसलिए किसी भी अतिरिक्त डोमेन ज्ञान मूल्यवान होगा। टाइपो तय।
sesqu

@ysqu ... कोई लापता डेटा नहीं है, सभी 24 बेतरतीब ढंग से स्थित भूखंडों का डेटा है।
डेविड लेबॉयर

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