วิธีการจำลองข้อมูลเซ็นเซอร์


11

ฉันสงสัยว่าฉันจะจำลองตัวอย่างของอายุการใช้งานการแจกจ่าย Weibull ได้อย่างไรซึ่งรวมถึงการสังเกตการณ์ที่ถูกตรวจสอบด้วย Type I ตัวอย่างเช่นให้มี n = 3, รูปร่าง = 3, มาตราส่วน = 1 และอัตราการเซ็นเซอร์ = .15, และเวลาการเซ็นเซอร์ = .88 ฉันรู้วิธีสร้างตัวอย่าง Weibull แต่ฉันไม่ทราบวิธีการสร้างข้อมูลเซ็นเซอร์ที่มีการเซ็นเซอร์ประเภทขวาฉันใน R

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

คำตอบ:


11

(ตาม R สไตล์ ของการเข้ารหัสจะเป็นการดีที่สุดที่จะไม่ใช้T เป็นชื่อตัวแปรเนื่องจากเป็นนามแฝง TRUEและการฝึกฝนนั้นจะนำไปสู่ปัญหาอย่างหลีกเลี่ยงไม่ได้)


คำถามของคุณค่อนข้างคลุมเครือ มีหลายวิธีในการตีความ เดินผ่านพวกเขากันเถอะ:

  1. คุณกำหนดว่าคุณต้องการที่จะจำลองชนิดที่ 1 เซ็นเซอร์ โดยทั่วไปแล้วจะหมายถึงการทดสอบนั้นดำเนินไปชั่วระยะเวลาหนึ่งและหน่วยการศึกษาใดก็ตามที่ไม่ได้มีเหตุการณ์นั้นถูกเซ็นเซอร์ หากนั่นคือสิ่งที่คุณหมายถึงจะไม่สามารถกำหนดพารามิเตอร์รูปร่างและมาตราส่วนรวมถึงเวลาและอัตราการเซ็นเซอร์ในเวลาเดียวกัน หากมีการระบุสามประการสุดท้ายจะต้องได้รับการแก้ไข

    (พยายามที่จะ) แก้ไขสำหรับพารามิเตอร์รูปร่าง:
    ล้มเหลว; ดูเหมือนว่าเป็นไปไม่ได้ที่จะมีอัตราการตรวจสอบ 15% ที่เวลาตรวจสอบที่ 0.88 โดยมีการแจกแจงแบบ Weibull โดยที่พารามิเตอร์ scale ถูกจัดไว้ที่ 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. ในทางกลับกันเราสามารถคิดว่าการเซ็นเซอร์เป็นแบบสุ่ม (และโดยอิสระ) ที่เกิดขึ้นตลอดการศึกษาเนื่องจากการพูดกลางคัน ในกรณีนั้นขั้นตอนคือการจำลองชุด Weibull สองชุด จากนั้นคุณเพียงสังเกตว่าสิ่งใดมาก่อน: คุณใช้ค่าที่น้อยกว่าเป็นจุดสิ้นสุดและเรียกใช้การตรวจสอบหน่วยนั้นหากค่าที่น้อยกว่าคือเวลาการตรวจสอบ ตัวอย่างเช่น:

    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ฟังก์ชั่นนี้ยอดเยี่ยม) แต่คุณจะปรับคำตอบที่สองของคุณอย่างไรเพื่อให้ได้เปอร์เซ็นต์การเซ็นเซอร์ที่แม่นยำ
Dan Chaltiel

@DanChaltiel คนที่ 2 ไม่ได้สอบเทียบจริง ๆ - มันแค่สุ่ม นอกจากนี้ยังอาจเป็นไปไม่ได้ที่จะได้สัดส่วนที่ต้องการตามลักษณะอื่น ๆ ที่คุณต้องการ (คล้ายกับ # 1) ที่กล่าวมาอาจเป็นไปได้ที่จะระบุสัดส่วนประชากร (สัดส่วนที่สังเกตได้จะเด้งไปมาจากการทำซ้ำไปจนถึงการทำซ้ำ) โดยการปรับการกระจายการเซ็นเซอร์ให้เหมาะสมที่สุดเมื่อเทียบกับการกระจายเหตุการณ์
gung - Reinstate Monica

2

เพียงเพื่อให้แน่ใจว่าเรากำลังพูดถึงสิ่งเดียวกันการเซ็นเซอร์แบบที่ฉันเป็นเมื่อ

... การทดสอบมีจำนวนวิชาหรือรายการที่กำหนดไว้และหยุดการทดสอบตามเวลาที่กำหนดไว้ ณ จุดใดก็ตามที่วิชาใดที่เหลืออยู่จะถูกตรวจสอบอย่างถูกต้อง

หากต้องการสร้างข้อมูลเซ็นเซอร์ที่ถูกต้องโดยใช้เวลาเซ็นเซอร์ = 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
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.