क्या उचित सहसंबंध संरचनाओं वाले मॉडल में भी ऑटोकॉर्लरेट अवशिष्ट पैटर्न रहते हैं, और सबसे अच्छे मॉडल का चयन कैसे करें?


17

प्रसंग

यह प्रश्न आर का उपयोग करता है, लेकिन सामान्य सांख्यिकीय मुद्दों के बारे में है।

मैं समय के साथ कीट जनसंख्या वृद्धि दर पर मृत्यु दर कारकों (बीमारी और परजीवीता के कारण% मृत्यु) के प्रभावों का विश्लेषण कर रहा हूं, जहां लार्वा आबादी 8 साल के लिए एक वर्ष में 12 साइटों से नमूना लिया गया था। जनसंख्या वृद्धि दर डेटा समय के साथ एक स्पष्ट लेकिन अनियमित चक्रीय प्रवृत्ति प्रदर्शित करता है।

एक साधारण सामान्यीकृत रैखिक मॉडल (विकास दर ~% रोग +% परजीवीवाद + वर्ष) के अवशेषों ने समय के साथ एक समान स्पष्ट लेकिन अनियमित चक्रीय प्रवृत्ति प्रदर्शित की। इसलिए, एक ही रूप के सामान्यीकृत कम से कम मॉडल भी अस्थायी सहसंबंध, उदाहरण के लिए समरूपता, ऑटोरेग्रेसिव प्रक्रिया क्रम 1 और ऑटोरेग्रेसिव मूविंग सहसंबंध संरचनाओं से निपटने के लिए उपयुक्त सहसंबंध संरचनाओं के साथ डेटा के लिए फिट थे।

सभी मॉडल में एक ही निश्चित प्रभाव होते हैं, AIC की तुलना में किया गया था, और REML द्वारा फिट किया गया था (AIC द्वारा विभिन्न सहसंबंध संरचनाओं की तुलना करने के लिए)। मैं आर पैकेज nlme और gls फ़ंक्शन का उपयोग कर रहा हूं।

प्रश्न 1

जीएलएस मॉडल के अवशेष अभी भी लगभग समान चक्रीय पैटर्न प्रदर्शित करते हैं जब समय के खिलाफ साजिश रची जाती है। क्या ऐसे पैटर्न हमेशा बने रहेंगे, यहां तक ​​कि उन मॉडलों में भी, जो ऑटोक्रेलेशन संरचना के लिए सटीक रूप से खाते हैं?

मैंने अपने दूसरे प्रश्न के नीचे आर में कुछ सरलीकृत लेकिन समान डेटा का अनुकरण किया है, जो कि मॉडल अवशेषों में अस्थायी रूप से स्वतःसंबंधित पैटर्न का आकलन करने के लिए आवश्यक तरीकों की मेरी मौजूदा समझ के आधार पर मुद्दा दिखाता है , जो अब मुझे पता है कि गलत हैं (उत्तर देखें)।

प्रश्न 2

मैंने अपने डेटा के लिए सभी संभावित प्रशंसनीय सहसंबंध संरचनाओं के साथ जीएलएस मॉडल फिट किए हैं, लेकिन कोई भी वास्तव में जीएलएम की तुलना में किसी भी सहसंबंध संरचना के बिना पर्याप्त रूप से बेहतर फिटिंग नहीं है: बस एक जीएलएस मॉडल थोड़ा बेहतर है (एआईसी स्कोर = 1.8 कम), जबकि बाकी सभी हैं उच्च AIC मान। हालांकि, यह केवल ऐसा मामला है जब सभी मॉडल REML द्वारा फिट किए जाते हैं, एमएल नहीं जहां GLS मॉडल स्पष्ट रूप से बहुत बेहतर होते हैं, लेकिन मैं आँकड़े पुस्तकों से समझता हूं कि आपको विभिन्न सहसंबंध संरचनाओं के साथ मॉडल की तुलना करने के लिए केवल REML का उपयोग करना चाहिए और कारणों के लिए एक ही निश्चित प्रभाव मैं यहाँ विस्तार नहीं करूँगा।

डेटा के स्पष्ट रूप से अस्थायी रूप से स्वतःसंबंधित प्रकृति को देखते हुए, यदि कोई मॉडल साधारण GLM की तुलना में मामूली रूप से बेहतर नहीं है, तो यह निर्णय लेने के लिए कि किस मॉडल का उपयोग करने के लिए सबसे उपयुक्त तरीका है, यह मानते हुए कि मैं एक उपयुक्त विधि का उपयोग कर रहा हूं (मैं अंततः उपयोग करना चाहता हूं। विभिन्न चर संयोजनों की तुलना करने के लिए AIC)?

Q1 'सिमुलेशन' उचित सहसंबंध संरचनाओं के साथ और बिना मॉडल में अवशिष्ट पैटर्न की खोज करता है

'समय' के चक्रीय प्रभाव और 'x' के सकारात्मक रैखिक प्रभाव के साथ सिम्युलेटेड प्रतिक्रिया चर उत्पन्न करें:

time <- 1:50
x <- sample(rep(1:25,each=2),50)
y <- rnorm(50,5,5) + (5 + 15*sin(2*pi*time/25)) + (x/1)

y को यादृच्छिक भिन्नता के साथ 'समय' पर एक चक्रीय प्रवृत्ति प्रदर्शित करनी चाहिए:

plot(time,y)

और यादृच्छिक भिन्नता के साथ 'x' के साथ एक सकारात्मक रैखिक संबंध:

plot(x,y)

"Y ~ time + x" का एक सरल रैखिक एडिटिव मॉडल बनाएँ:

require(nlme)
m1 <- gls(y ~ time + x, method="REML")

मॉडल 'समय' के खिलाफ साजिश रचने पर अवशेषों में स्पष्ट चक्रीय पैटर्न प्रदर्शित करता है, जैसा कि अपेक्षित होगा:

plot(time, m1$residuals)

और 'x' के खिलाफ साजिश रचने पर अवशेषों में किसी भी पैटर्न या प्रवृत्ति का एक अच्छा, स्पष्ट अभाव होना चाहिए:

plot(x, m1$residuals)

"Y ~ टाइम + x" का एक सरल मॉडल जिसमें ऑर्डर 1 का एक ऑटोरेस्पिरेटिव सहसंबंध संरचना शामिल है, को ऑटोकरेलेशन संरचना के कारण पिछले मॉडल की तुलना में डेटा को बेहतर ढंग से फिट करना चाहिए, जब एआईसी का उपयोग करके मूल्यांकन किया जाता है:

m2 <- gls(y ~ time + x, correlation = corAR1(form=~time), method="REML")
AIC(m1,m2)

हालांकि, मॉडल को अभी भी लगभग अस्थायी रूप से 'अस्थायी रूप से निरंकुश अवशिष्ट' प्रदर्शित करना चाहिए:

plot(time, m2$residuals)

किसी भी सलाह के लिए बहुत बहुत धन्यवाद।


आपका मॉडल चक्रों (यहां तक ​​कि आपके सिम्युलेटेड मामले के लिए) के कारण समय पर निर्भरता को ठीक से कैप्चर नहीं करता है, इसलिए ' सही खाता ' के लिए आपका लक्षण वर्णन उचित नहीं है। जिस कारण से आपके अवशेषों में अभी भी पैटर्न है वह शायद उसी के कारण है।
Glen_b -Reinstate Monica

मुझे लगता है कि आपके पास यह पीछे है। आरईएमएल के बजाय पूर्ण अधिकतम संभावना का उपयोग करके अनुमान प्राप्त किया जाना चाहिए। विधि चुनना = "एमएल" की संभावना संभावना अनुपात परीक्षण करने के लिए आवश्यक है और यदि आप विभिन्न भविष्यवक्ताओं के साथ मॉडल की तुलना करने के लिए एआईसी का उपयोग करना चाहते हैं तो यह आवश्यक है। रेम एमएल की तुलना में विचरण घटकों और मानक त्रुटियों के बेहतर अनुमान प्रदान करता है। विभिन्न मॉडलों की तुलना करने के लिए विधि = "एमएल" का उपयोग करने के बाद कभी-कभी यह सिफारिश की जाती है कि अंतिम मॉडल को विधि = "REML" का उपयोग करके रिफिट किया जाए और REML फिट से अनुमानों और मानक त्रुटियों का उपयोग अंतिम निष्कर्ष के लिए किया जाए।
theforestecologist

जवाबों:


24

Q1

आप यहां दो काम गलत कर रहे हैं। पहली आम तौर पर बुरी चीज है; सामान्य रूप से मॉडल ऑब्जेक्ट में डालें और घटकों को चीर दें। इस मामले में, एक्स्ट्रेक्टर कार्यों का उपयोग करना सीखें resid()। इस मामले में आपको कुछ उपयोगी मिल रहा है, लेकिन यदि आपके पास एक अलग प्रकार की मॉडल ऑब्जेक्ट है, जैसे कि GLM से glm(), तो पिछले IRLS पुनरावृत्ति से काम कर रहे अवशेष mod$residualsशामिल होंगे और कुछ ऐसे हैं जो आप आमतौर पर नहीं चाहते हैं!

दूसरी बात जो आप गलत कर रहे हैं, वह कुछ है जिसने मुझे भी पकड़ा है। आपके द्वारा निकाले गए अवशेष (और अगर आपने उपयोग किया है तो भी निकाला होगा resid()) कच्चे या प्रतिक्रिया अवशिष्ट हैं। अनिवार्य रूप से यह केवल निर्धारित प्रभाव शर्तों को ध्यान में रखते हुए प्रतिक्रिया के फिट मूल्यों और मनाया मूल्यों के बीच का अंतर है । इन मानों में एक ही अवशिष्ट आटोक्लेररेशन शामिल होगा m1क्योंकि नियत प्रभाव (या यदि आप चाहें तो रैखिक भविष्यवक्ता) दो मॉडल ( ~ time + x) में समान हैं।

अवशेषों को प्राप्त करने के लिए जो आपके द्वारा निर्दिष्ट सहसंबंध शब्द को शामिल करते हैं, आपको सामान्यीकृत अवशेषों की आवश्यकता होती है । आप ऐसा करके प्राप्त करते हैं:

resid(m1, type = "normalized")

यह (और अन्य प्रकार के उपलब्ध अवशेष) में वर्णित है ?residuals.gls:

type: an optional character string specifying the type of residuals
      to be used. If ‘"response"’, the "raw" residuals (observed -
      fitted) are used; else, if ‘"pearson"’, the standardized
      residuals (raw residuals divided by the corresponding
      standard errors) are used; else, if ‘"normalized"’, the
      normalized residuals (standardized residuals pre-multiplied
      by the inverse square-root factor of the estimated error
      correlation matrix) are used. Partial matching of arguments
      is used, so only the first character needs to be provided.
      Defaults to ‘"response"’.

तुलना के माध्यम से, यहां कच्चे (प्रतिक्रिया) और सामान्यीकृत अवशेषों के एसीएफ हैं

layout(matrix(1:2))
acf(resid(m2))
acf(resid(m2, type = "normalized"))
layout(1)

यहाँ छवि विवरण दर्ज करें

यह देखने के लिए कि यह क्यों हो रहा है, और जहां कच्चे अवशेषों में सहसंबंध शब्द शामिल नहीं है, उस मॉडल पर विचार करें जिसे आपने फिट किया है

y=β0+β1टीमैं+β2एक्स+ε

कहाँ पे

ε~एन(0,σ2Λ)

Λρ^ρ||

कच्चे अवशिष्ट, द्वारा लौटाए गए डिफ़ॉल्ट resid(m2)रैखिक भविष्यवक्ता भाग से ही हैं, इसलिए इस बिट से

β0+β1टीमैं+β2एक्स

Λ

Q2

ऐसा लगता है कि आप timeएक एआर (1) (या अन्य संरचनाओं) के साथ "प्रवृत्ति" के लिए फिट के अभाव के लिए एक रैखिक कार्य के साथ एक गैर-रैखिक प्रवृत्ति को फिट करने की कोशिश कर रहे हैं । यदि आपका डेटा आपके द्वारा यहां दिए गए उदाहरण डेटा की तरह कुछ भी है, तो मैं covariates के एक चिकनी फ़ंक्शन के लिए अनुमति देने के लिए एक GAM फिट करूंगा। यह मॉडल होगा

y=β0+1(टीमैं)+2(एक्स)+ε

Λ=मैं

library("mgcv")
m3 <- gam(y ~ s(time) + s(x), select = TRUE, method = "REML")

जहां select = TRUEमॉडल से कुछ शर्तों को हटाने के लिए मॉडल को अनुमति देने के लिए कुछ अतिरिक्त संकोचन लागू होता है।

यह मॉडल देता है

> summary(m3)

Family: gaussian 
Link function: identity 

Formula:
y ~ s(time) + s(x)

Parametric coefficients:
            Estimate Std. Error t value Pr(>|t|)    
(Intercept)  23.1532     0.7104   32.59   <2e-16 ***
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Approximate significance of smooth terms:
          edf Ref.df      F  p-value    
s(time) 8.041      9 26.364  < 2e-16 ***
s(x)    1.922      9  9.749 1.09e-14 ***
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

और इस तरह दिखने वाली चिकनी शर्तें हैं:

यहाँ छवि विवरण दर्ज करें

इस मॉडल के अवशेष भी बेहतर व्यवहार किए गए हैं (कच्चे अवशेष)

acf(resid(m3))

यहाँ छवि विवरण दर्ज करें

अब सावधानी का एक शब्द; उस समय की श्रृंखला को चौरसाई के साथ एक मुद्दा है जो यह तय करते हैं कि कार्य कितने सुचारू रूप से या विगली रूप से कार्य कर रहे हैं मान लें कि डेटा स्वतंत्र हैं। व्यावहारिक अर्थों में इसका मतलब यह है कि समय का सुचारू रूप से कार्य ( s(time)) जानकारी को फिट कर सकता है जो वास्तव में यादृच्छिक स्वत :संबंधित त्रुटि है और न केवल अंतर्निहित प्रवृत्ति। इसलिए आपको स्मोकीज़ को टाइम सीरीज़ डेटा में फिट करते समय बहुत सावधानी बरतनी चाहिए।

इसको गोल करने के कई तरीके हैं, लेकिन एक तरीका यह है कि आप उस मॉडल को फिटिंग पर स्विच करें gamm()जिसके माध्यम से lme()आंतरिक कॉल करते हैं और जो आपको मॉडल के correlationलिए आपके द्वारा उपयोग किए गए तर्क का उपयोग करने की अनुमति देता है gls()। यहाँ एक उदाहरण है

mm1 <- gamm(y ~ s(time, k = 6, fx = TRUE) + s(x), select = TRUE,
            method = "REML")
mm2 <- gamm(y ~ s(time, k = 6, fx = TRUE) + s(x), select = TRUE,
            method = "REML", correlation = corAR1(form = ~ time))

s(time)s(time)ρ=0s(time)ρ>>.5

एआर (1) वाला मॉडल एआर (1) के बिना मॉडल पर एक महत्वपूर्ण सुधार का प्रतिनिधित्व नहीं करता है:

> anova(mm1$lme, mm2$lme)
        Model df      AIC      BIC    logLik   Test   L.Ratio p-value
mm1$lme     1  9 301.5986 317.4494 -141.7993                         
mm2$lme     2 10 303.4168 321.0288 -141.7084 1 vs 2 0.1817652  0.6699

अगर हम $ \ _ {\ _ rho}} के अनुमान को देखते हैं

> intervals(mm2$lme)
....

 Correlation structure:
         lower      est.     upper
Phi -0.2696671 0.0756494 0.4037265
attr(,"label")
[1] "Correlation structure:"

Phiρρ


उस उत्कृष्ट, गहन विस्तृत उत्तर के लिए बहुत बहुत गैविन का धन्यवाद। ऐसा लगता है कि मेरा डेटा GAMs के साथ एक गुणात्मक रूप से समान परिणाम उत्पन्न करता है, जिसमें मानक correlation संरचनाओं के साथ GAM की तुलना किए बिना या तो बहुत कम सुधार या फिट का बिगड़ता है (AIC / AICc के माध्यम से मूल्यांकन)। क्या आप / कोई भी जानता है: यदि डेटा / अवशिष्ट में अनियमित, चक्रीय प्रवृत्तियां बहुत स्पष्ट हैं, तो क्या किसी मॉडल के बजाय सबसे अच्छी तरह से फिटिंग सहसंबंध संरचना के साथ चिपकना सबसे उपयुक्त होगा? एक बार फिर धन्यवाद।
बृहस्पतिवार १०

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