असतत-समय घटना इतिहास (अस्तित्व) आर में मॉडल


10

मैं आर में एक असतत समय मॉडल फिट करने की कोशिश कर रहा हूं, लेकिन मुझे यकीन नहीं है कि यह कैसे करना है।

मैंने पढ़ा है कि आप विभिन्न चर में निर्भर चर को व्यवस्थित कर सकते हैं, प्रत्येक समय-अवलोकन के लिए, और glmएक लॉगिट या क्लॉगलॉग लिंक के साथ फ़ंक्शन का उपयोग कर सकते हैं । इस अर्थ में, मैं तीन कॉलम है: ID, Event(1 या 0, हर बार जब-ओ बीएस में) और Time Elapsed, साथ ही अन्य covariates (अवलोकन की शुरुआत के बाद)।

मॉडल को फिट करने के लिए मैं कोड कैसे लिखूं? आश्रित चर कौन सा है? मुझे लगता है कि मैं Eventआश्रित चर के रूप में उपयोग कर सकता हूं , और Time Elapsedसहसंयोजकों में शामिल हूं । लेकिन इसके साथ क्या होता है ID? क्या मुझे इसकी आवश्यकता है?

धन्यवाद।


जब आप कहते हैं "मैं एक असतत समय मॉडल फिट करने की कोशिश कर रहा हूं" ... आप किस मॉडल को फिट करना चाहते हैं? (यदि यह किसी विषय के लिए है, तो कृपया self-studyटैग जोड़ें ।)
Glen_b -Reinstate Monica

मैं एक लॉगिट असतत-समय अस्तित्व मॉडल फिट करना चाहता हूं।
फ्रैंक विरामिल

1
ऐसा प्रतीत नहीं होता है कि आईडी प्रासंगिक है, लेकिन यह इस बात पर निर्भर करता है कि वास्तव में क्या यह प्रतिनिधित्व करता है और क्या यह वह चीज है जो आप चाहते हैं।
Glen_b -Reinstate Monica

जवाबों:


8

आप मूल रूप से डेटा संगठन के बारे में सही हैं। यदि आपके पास इस तरह के मामले हैं:

ID M1 M2 M3 EVENT

आप संभवतः डेटा को पुनर्गठित करना चाहेंगे ताकि यह इस तरह दिखे:

ID TIME EVENT
1  1    0
1  2    1
1  3    1
2  1    0
2  2    0
.  .    .
.  .    .

मैं इसे एक विस्तृत प्रारूप से एक लंबे प्रारूप में रूपांतरण कहता हूं। यह reshape()फ़ंक्शन का उपयोग करके आर या reshape2पैकेज के साथ और भी आसानी से किया जाता है।

मैं व्यक्तिगत रूप से IDमिश्रित प्रभाव वाले मॉडल में भिन्नता के स्रोत की पहचान करने में इसके संभावित उपयोग के लिए क्षेत्र को रखूंगा। लेकिन यह आवश्यक नहीं है (जैसा कि @BerndWeiss द्वारा बताया गया है)। निम्नलिखित आप ऐसा करना चाहते हैं। यदि नहीं, glm(...,family=binomial)तो यादृच्छिक प्रभाव की शर्तों के बिना एक समान मॉडल फिट करें ।

lme4आर में पैकेज एक मिश्रित प्रभाव रसद प्रतिगमन मॉडल एक आप विषयों भर में गुणांकों में परिवर्तनशीलता के लिए के बारे में बात कर रहे हैं खाते में एक यादृच्छिक प्रभाव या दो को छोड़कर, (के लिए इसी तरह फिट होगा ID)। उदाहरण मॉडल को फिट करने के लिए निम्न उदाहरण कोड होगा यदि आपका डेटा नामक डेटा फ़्रेम में संग्रहीत किया गया है df

require(lme4)
ans <- glmer(EVENT ~ TIME + (1+TIME|ID), data=df, family=binomial)

यह विशेष मॉडल TIMEऔर interceptगुणांक पूरे आईडी में बेतरतीब ढंग से भिन्न करने की अनुमति देता है । दूसरे शब्दों में, यह एक श्रेणीबद्ध रैखिक मिश्रित माप है जो व्यक्तियों में निहित है।

असतत समय घटना इतिहास मॉडल का एक वैकल्पिक रूप TIMEअसतत डमी में टूट जाता है और प्रत्येक को एक पैरामीटर के रूप में फिट करता है। यह अनिवार्य रूप से कॉक्स PH मॉडल का असतत मामला है क्योंकि खतरनाक वक्र रैखिक (या द्विघात) या फिर आप समय को बदलने की कल्पना कर सकते हैं। हालाँकि, यदि आप TIMEउनमें से बहुत सारे हैं, तो आप असतत समय अवधि के प्रबंधनीय सेट (यानी छोटे) में समूहबद्ध कर सकते हैं।

आगे के विकल्पों में आपका खतरा वक्र सही होने के लिए समय बदलना शामिल है। पिछली विधि मूल रूप से आपको ऐसा करने से रोकती है, लेकिन पिछली विधि इस (और मूल रैखिक मामले मैंने सामने रखी) की तुलना में कम पार्सिमेनस है क्योंकि आपके पास बहुत समय बिंदु हो सकते हैं और इस प्रकार, बहुत सारे उपद्रव पैरामीटर।

इस विषय पर एक उत्कृष्ट संदर्भ जूडिथ सिंगर और जॉन विलेट के एप्लाइड लॉन्गिट्यूडिनल डेटा एनालिसिस: मॉडलिंग चेंज एंड इवेंट ओकेनेस है


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

6

इस विषय पर गायक और विलेट को बहुत प्रकाशित किया गया है। मैं अत्यधिक अनुशंसा करता हूं कि आप उनके कुछ पत्रों को पढ़ें । आप उनकी पुस्तक "एप्लाइड लॉन्गिट्यूडिनल डेटा एनालिसिस: मॉडलिंग चेंज एंड इवेंट ऑक्युरेंस" भी प्राप्त करना चाह सकते हैं । स्पष्ट रूप से इस क्षेत्र की सर्वश्रेष्ठ पाठ्य पुस्तकों में से एक है।

अधिकांश पुस्तक अध्यायों के लिए R नमूना कोड (अध्याय 11ff देखें) उपलब्ध है जो दर्शाता है कि आपके डेटा को कैसे संरचित किया जाना है ("व्यक्ति-अवधि प्रारूप") और उस तरह के डेटा का विश्लेषण कैसे करें। एक मानक असतत-समय मॉडल के लिए आपको आईडी चर की आवश्यकता नहीं है और आपको @ndoogan द्वारा सुझाए गए मिश्रित-प्रभाव मॉडल का अनुमान लगाने की भी आवश्यकता नहीं है। एक सरलglm(event ~ time + ..., family = "binomial") काम ठीक है। गायक और विलेट ने कई मुद्दों पर चर्चा की कि समय चर (रैखिक, द्विघात, ...) को कैसे मॉडल किया जाए।

दो और संदर्भों का हवाला देता हूं, जिनकी मैं अत्यधिक अनुशंसा करता हूं:


1

आप समय के अंतराल को तोड़ सकते हैं और शूमवे (2001) के रूप में एक मल्टीपेरियोड लॉजिट मॉडल का प्रदर्शन कर सकते हैं । जैसे, आप समय अंतराल हैं(0,1],(1,2],...। मैंने इसे dynamichazard::static_glmआर में लागू किया है जो कि सीधे लागू होता है यदि आपके पास उत्तरजीविता विश्लेषण में उपयोग किए जाने वाले एक विशिष्ट स्टॉप-इवेंट सेटअप में प्रारंभिक डेटा है। ध्यान दें कि परिणामस्वरूप मॉडल के टी-आँकड़े में शुमवे (2001) में उल्लिखित सुधार नहीं है।

यह विधि समय के साथ एक @ndoogan से भिन्न होती है क्योंकि आपको केवल सभी समय अवधि में एक ही सामान्य अवरोधन मिलता है dynamichazard::static_glm। हालाँकि, आप dynamichazard::get_survival_case_weights_and_dataतर्क के साथ कॉल करके प्रत्येक अवधि के लिए डमी प्राप्त कर सकते हैं, use_weights = FALSEसमय डमी इंडिकेटर को अपने आप को वापस लौटाएं data.frameऔर फिर उदा को कॉल करें glm


इसके अलावा, आप मेरे पैकेज में इस विगनेट में दिलचस्पी ले सकते हैं dynamichazard
बेंजामिन क्रिस्टोफ़रसेन

0

इसे "गणना प्रक्रिया" डेटा कहा जाता है। उत्तरजीविता पैकेज में एक बहुत अच्छा tmerge () फ़ंक्शन है। समय पर निर्भर या संचयी सहसंयोजक सम्मिलित करना और तदनुसार अनुवर्ती समय का विभाजन करना बहुत उपयोगी है। इस विगनेट में प्रक्रिया को बहुत अच्छी तरह से समझाया गया है

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