अनुदैर्ध्य गणना डेटा का विश्लेषण कैसे करें: जीएलएमएम में अस्थायी स्वसंबंध के लिए लेखांकन?


16

हैलो सांख्यिकीय गुरु और आर प्रोग्रामिंग जादूगर,

मैं पर्यावरण की स्थिति और वर्ष के दिन के एक समारोह के रूप में पशु कब्जा मॉडलिंग में दिलचस्पी रखता हूं। एक अन्य अध्ययन के भाग के रूप में, मेरे पास तीन वर्षों में ~ 160 दिनों की कैप्टेंसी है। इन दिनों में से प्रत्येक पर मेरा तापमान, वर्षा, विंडस्पेड, सापेक्षिक आर्द्रता, आदि होता है क्योंकि डेटा को एक ही 5 भूखंडों से बार-बार एकत्र किया गया था, मैं एक यादृच्छिक प्रभाव के रूप में साजिश का उपयोग करता हूं।

मेरी समझ यह है कि ल्क्मे आसानी से अवशिष्ट में लौकिक स्वरसंक्रमण के लिए जिम्मेदार हो सकता है, लेकिन गैर-गाऊसी लिंक फ़ंक्शंस को नहीं करता है जैसे कि lme4 (जो स्वतःसंबंध नहीं संभाल सकता है?)। वर्तमान में, मुझे लगता है कि यह लॉग (काउंट) में आर में एलमेम पैकेज का उपयोग करने के लिए काम कर सकता है। तो मेरा समाधान अभी कुछ इस तरह से होगा:

m1 <- lme(lcount ~ AirT + I(AirT^2) + RainAmt24 + I(RainAmt24^2) + RHpct + windspeed + 
      sin(2*pi/360*DOY) + cos(2*pi/360*DOY), random = ~1|plot, correlation =
      corARMA(p = 1, q = 1, form = ~DOY|plot), data = Data)

वर्ष का कहां = दिन। अंतिम मॉडल में अधिक इंटरैक्शन हो सकते हैं, लेकिन यह मेरा सामान्य विचार है। मैं संभावित रूप से कुछ इस तरह के साथ विचरण संरचना को आगे बढ़ाने की कोशिश कर सकता हूं

weights = v1Pow

मुझे यकीन नहीं है कि एक पॉइसन मिश्रित मॉडल प्रतिगमन या कुछ भी करने के लिए एक बेहतर तरीका है? मुझे केडीम और फोकनस द्वारा "रिग्रेशन मॉडल्स फ़ॉर टाइम सीरीज़ विश्लेषण" के अध्याय 4 में गणितीय चर्चा मिली। यह इस समय मेरे से थोड़ा परे था, विशेष रूप से आवेदन में (इसे आर में कोडिंग)। मैंने ज़ुआर एट अल में एक एमसीएमसी समाधान भी देखा। मिश्रित प्रभाव मॉडल बुक (Chp 23) BUGS भाषा में (winBUGS या JAG का उपयोग करके)। क्या यह मेरा सबसे अच्छा विकल्प है? क्या R में एक आसान MCMC पैकेज है जो इसे संभालेगा? मैं वास्तव में GAMM या GEE तकनीकों से परिचित नहीं हूं, लेकिन इन संभावनाओं का पता लगाने के लिए तैयार होगा यदि लोगों को लगा कि वे बेहतर अंतर्दृष्टि प्रदान करेंगे।मेरा मुख्य उद्देश्य पर्यावरणीय परिस्थितियों को देखते हुए पशुओं की कैद का अनुमान लगाने के लिए एक मॉडल बनाना है। दूसरे, मैं यह बताना चाहूंगा कि जानवरों को उनकी गतिविधि के संदर्भ में क्या जवाब देना है।

आगे बढ़ने का सबसे अच्छा तरीका (दार्शनिक रूप से), आर में या बीयूजीएस में इसे कैसे कोडित किया जाए, इस पर किसी भी विचार की सराहना की जाएगी। मैं R और BUGS (winBUGS) के लिए काफी नया हूं, लेकिन सीख रहा हूं। यह पहली बार भी है जब मैंने कभी-कभी टेम्पोरल ऑटोकरेलेशन को संबोधित करने की कोशिश की है।

धन्यवाद, डैन


1
मैं आमतौर पर GEE का बहुत बड़ा प्रशंसक हूं, लेकिन मैं यहां इसका इस्तेमाल करने से बचूंगा क्योंकि आपके पास केवल 5 क्लस्टर (भूखंड) हैं। समान रूप से अच्छी तरह से प्रदर्शन करने के लिए, GEE को आमतौर पर क्लस्टर की एक बड़ी (लगभग 40 या तो) संख्या की आवश्यकता होती है।
स्टैट्सस्टूडेंट

एक मैक स्वामी के रूप में, मेरे पास WINBUGS के बजाय STAN के साथ एक आसान समय है।
eric_kernfeld

जवाबों:


3

अपनी प्रतिक्रिया को परिवर्तित करना लॉग एक विकल्प है, हालांकि आदर्श नहीं है। एक GLM फ्रेमवर्क आमतौर पर पसंद किया जाता है। यदि आप GLM से परिचित नहीं हैं, तो मिश्रित मॉडल एक्सटेंशन देखने से पहले उनकी समीक्षा करके शुरू करें। गणना डेटा के लिए पॉइसन या नकारात्मक द्विपद वितरण संबंधी धारणाएं उपयुक्त होंगी। नकारात्मक द्विपद को इंगित किया जाता है यदि विचरण अति-फैलाव को इंगित करने वाले माध्य से अधिक होता है ( https://en.wikipedia.org/wiki/Overdispersion )। पैरामीटर अनुमानों की व्याख्या दोनों के लिए बराबर है।

R में lme4 के साथ कई विकल्प मौजूद हैं, जिन्हें मेरे अनुभव में सबसे अधिक उद्धृत किया गया है।

#glmer
library(lme4) 
glmer(count ~ AirT + I(AirT^2) + RainAmt24 + I(RainAmt24^2) + RHpct + windspeed + sin(2*pi/360*DOY) + cos(2*pi/360*DOY) + (1|plot), family=poisson, data = Data) 
# use glmer.nb with identical syntax but no family for negative binomial.

# glmmADMB with negative binomial
install.packages("glmmADMB", repos=c("http://glmmadmb.r-forge.r-project.org/repos", getOption("repos")),type="source") 
require(glmmADMB)
glmmadmb(count ~ AirT + I(AirT^2) + RainAmt24 + I(RainAmt24^2) + RHpct + windspeed + sin(2*pi/360*DOY) + cos(2*pi/360*DOY) + (1|plot), 
           family="nbinom", zeroInflation=FALSE, data=Data)

# glmmPQL, requires an estimate for theta which can be obtained from a 
# glm model in which the correlation structure is ignored.
library(MASS)
glmmPQL(count ~ AirT + I(AirT^2) + RainAmt24 + I(RainAmt24^2) + RHpct + windspeed + sin(2*pi/360*DOY) + cos(2*pi/360*DOY) , random = list(~1 | plot), data = Data,family = negative.binomial(theta = 4.22, link = log))

ये लिंक सहायता के भी हो सकते हैं:

https://udrive.oit.umass.edu/xythoswfs/webui/_xy-11096203_1-t_yOxYgf1s http://www.cell.com/trends/ecology/evolution/pdf/50169-5347(09)00019-6.pdf

दोनों lme4 के लेखक बेन बोल्कर द्वारा हैं।

मैंने उदाहरणों का परीक्षण नहीं किया है, लेकिन उन्हें आपको एक विचार देना चाहिए कि कहां से शुरू करें। यदि आप उनके कार्यान्वयन को सत्यापित करना चाहते हैं तो कृपया डेटा की आपूर्ति करें।

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