सेंसर किए गए डेटा का अनुकरण कैसे करें


11

मैं सोच रहा हूं कि मैं किस तरह से वेबुल वितरण जीवनकाल के एक नमूने का अनुकरण कर सकता हूं, जिसमें टाइप I दाएं-सेंसर किए गए अवलोकन शामिल हैं। उदाहरण के लिए, n = 3, आकार = 3, स्केल = 1 और सेंसरिंग दर = .15, और सेंसरिंग समय = .88 है। मुझे पता है कि एक वेइबुल नमूना कैसे उत्पन्न किया जाता है लेकिन मुझे यह नहीं पता है कि एक सेंसर डेटा कैसे उत्पन्न होता है, जिसमें आर में राइट-सेंसर किया गया है।

T = rweibull(3, shape=.5, scale=1)

जवाबों:


11

( R कोडिंग शैली के विषय के रूप में , यह T एक चर नाम के रूप में उपयोग नहीं करना सबसे अच्छा है , क्योंकि यह एक उपनाम है TRUE, और यह अभ्यास अनिवार्य रूप से समस्याओं को जन्म देगा।)


आपका प्रश्न कुछ अस्पष्ट है; इसकी व्याख्या करने के कई तरीके हैं। चलो उनके माध्यम से चलते हैं:

  1. आप निर्धारित करते हैं कि आप टाइप 1 सेंसर करना चाहते हैं । आम तौर पर इसका मतलब यह निकाला जाता है कि प्रयोग कुछ समय के लिए चलाया जाता है, और जो भी अध्ययन इकाइयों द्वारा तब तक घटना नहीं हुई है, वे सेंसर की गई हैं। यदि आपका यही मतलब है, तो आकार और पैमाने के मापदंडों, और सेंसरिंग समय और दर को एक साथ निर्धारित करना संभव नहीं है। किसी भी तीन को निर्धारित करने के बाद, अंतिम रूप से तय किया गया है।

    (करने का प्रयास) आकार पैरामीटर के लिए हल:
    यह विफल रहता है; ऐसा लगता है कि वेइबुल वितरण के साथ .88 के सेंसरिंग समय में 15% सेंसरिंग दर होना असंभव है, जहां स्केल पैरामीटर 1 पर आयोजित किया जाता है, कोई फर्क नहीं पड़ता कि आकार पैरामीटर क्या है।

    optim(.5, fn=function(shp){(pweibull(.88, shape=shp, scale=1, lower.tail=F)-.15)^2})
    # $par
    # [1] 4.768372e-08
    # ...
    # There were 46 warnings (use warnings() to see them)
    pweibull(.88, shape=4.768372e-08, scale=1, lower.tail=F)
    # [1] 0.3678794
    
    optim(.5, fn=function(shp){(pweibull(.88, shape=shp, scale=1, lower.tail=F)-.15)^2},
          control=list(reltol=1e-16))
    # $par
    # [1] 9.769963e-16
    # ...
    # There were 50 or more warnings (use warnings() to see the first 50)
    pweibull(.88, shape=9.769963e-16, scale=1, lower.tail=F)
    # [1] 0.3678794
    

    स्केल पैरामीटर के लिए समाधान:

    optim(1, fn=function(scl){(pweibull(.88, shape=.5, scale=scl, lower.tail=F)-.15)^2})
    # $par
    # [1] 0.2445312
    # ...
    pweibull(.88, shape=.5, scale=0.2445312, lower.tail=F)
    # [1] 0.1500135
    

    सेंसरिंग समय के लिए हल:

    qweibull(.15, shape=.5, scale=1, lower.tail=F)
    # [1] 3.599064
    

    सेंसर दर के लिए हल:

    pweibull(.88, shape=.5, scale=1, lower.tail=F)
    # [1] 0.3913773
    
  2. दूसरी ओर, हम ड्रॉपआउट के कारण पूरे अध्ययन में बेतरतीब ढंग से (और आमतौर पर स्वतंत्र रूप से) सेंसर करने के बारे में सोच सकते हैं। उस स्थिति में, प्रक्रिया वेइबुल चर के दो सेटों का अनुकरण करना है। तो आप बस ध्यान दें जो पहले आया था: आप समापन बिंदु के रूप में कम मूल्य का उपयोग करते हैं और उस इकाई को सेंसर करते हैं यदि कम मूल्य सेंसर समय था। उदाहरण के लिए:

    set.seed(0775)  
    t    = rweibull(3, shape=.5, scale=1)
    t      # [1] 0.7433678 1.1325749 0.2784812
    c    = rweibull(3, shape=.5, scale=1.5)
    c      # [1] 3.3242417 2.8866217 0.9779436
    time = pmin(t, c)
    time   # [1] 0.7433678 1.1325749 0.2784812
    cens = ifelse(c<t, 1, 0)
    cens   # [1] 0 0 0
    

बहुत ही दिलचस्प जवाब ( optimकार्य बहुत बढ़िया है), लेकिन आप एक निश्चित प्रतिशत प्राप्त करने के लिए अपने दूसरे उत्तर को कैसे जांचेंगे?
दान चाल्टियल

@ डैनियलियल, दूसरा वाला वास्तव में कैलिब्रेट नहीं किया गया है - यह सिर्फ यादृच्छिक है। यह वांछित अनुपात प्राप्त करने के लिए भी संभव नहीं हो सकता है, जो अन्य पहलुओं को आप चाहते हैं (# 1 के अनुरूप)। यह कहा गया है कि, घटना के वितरण के सापेक्ष सेंसर किए गए वितरण को अनुकूलित करके जनसंख्या अनुपात (मनाया अनुपात पुनरावृत्ति से चारों ओर उछल जाएगा) की पहचान करना संभव हो सकता है ।
गूँग - मोनिका

2

बस यह सुनिश्चित करने के लिए कि हम एक ही चीज़ के बारे में बात कर रहे हैं, टाइप- I सेंसरिंग कब है

... एक प्रयोग में विषयों या वस्तुओं की एक निर्धारित संख्या होती है और एक पूर्व निर्धारित समय पर प्रयोग को रोक दिया जाता है, जिस बिंदु पर शेष कोई भी विषय सही-सेंसर्ड होता है।

सेंसरिंग समय = 0.88 का उपयोग करके सही सेंसर डेटा उत्पन्न करने के लिए , आप केवल minफ़ंक्शन का उपयोग करेंगे :

T <- rweibull(3, shape=.5, scale=1)
censoring_time <- 0.88
T_censored <- min(censoring_time, T)

हालाँकि, मुझे पूरी तरह से यकीन नहीं है कि आपके कहने का मतलब क्या है, " सेंसर रेट = 0.15 " ... क्या आपके कहने का मतलब यह है कि आपके 15% विषय सही सेंसर हैं? सेंसरशिप पर दिए गए इन नोटों से प्रतीत होता है कि टाइप- I सेंसरशिप के लिए केवल एक पैरामीटर की आवश्यकता है, सेंसरिंग समय है , इसलिए मुझे यकीन नहीं है कि यह दर कारकों में कैसे है।


1
ध्यान दें कि आपका उद्धरण सेंसर की परिभाषा नहीं है: यह केवल एक उदाहरण है। राइट सेंसरिंग तब होती है जब प्रत्येक मान की पूर्व निर्धारित सीमा से तुलना की जाती है और मूल्य के उस सीमा से अधिक होने पर गैर-संख्यात्मक सेंसरिंग संकेतक द्वारा प्रतिस्थापित किया जाता है। भले ही, इसे लागू करना min(या, आमतौर पर, pmin) इसे अनुकरण करने का तरीका है R। (एक गैर-जीवित अध्ययन में सही सेंसरिंग का एक उदाहरण अपशिष्ट जल में बैक्टीरिया कालोनियों का विश्लेषण है। यह माइक्रोस्कोप स्लाइड पर दिखाई देने वाले लोगों को मैन्युअल रूप से गिनकर किया जाता है। भारी संदूषण के साथ, परिणाम "गिनती करने के लिए बहुत सारे" के रूप में दिया जाता है। )
whuber
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.