Bạn quy định rằng bạn muốn mô phỏng kiểm duyệt loại 1 . Điều đó thường được sử dụng để có nghĩa là thử nghiệm được thực hiện trong một khoảng thời gian và bất kỳ đơn vị nghiên cứu nào không có sự kiện sau đó đều bị kiểm duyệt. Nếu đó là những gì bạn muốn nói thì không nhất thiết phải quy định các tham số hình dạng và tỷ lệ, đồng thời kiểm duyệt thời gian và tỷ lệ. Có quy định bất kỳ ba, cuối cùng là nhất thiết phải cố định.
(Cố gắng) giải quyết tham số hình dạng:
Điều này không thành công; dường như không thể có tỷ lệ kiểm duyệt 15% tại thời điểm kiểm duyệt là 0,88 với phân phối Weibull trong đó tham số tỷ lệ được giữ ở mức 1, bất kể tham số hình dạng là gì.
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
Giải các tham số tỷ lệ:
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
Giải quyết thời gian kiểm duyệt:
qweibull(.15, shape=.5, scale=1, lower.tail=F)
# [1] 3.599064
Giải quyết tỷ lệ kiểm duyệt:
pweibull(.88, shape=.5, scale=1, lower.tail=F)
# [1] 0.3913773
Mặt khác, chúng ta có thể nghĩ về việc kiểm duyệt là ngẫu nhiên (và thường là độc lập) xảy ra trong suốt nghiên cứu do, nói, bỏ học. Trong trường hợp đó, quy trình là mô phỏng hai bộ biến thể Weibull. Sau đó, bạn chỉ cần lưu ý đến trước: bạn sử dụng giá trị nhỏ hơn làm điểm cuối và gọi đơn vị đó được kiểm duyệt nếu giá trị nhỏ hơn là thời gian kiểm duyệt. Ví dụ:
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
chức năng là tuyệt vời), nhưng làm thế nào bạn sẽ hiệu chỉnh câu trả lời thứ hai của bạn để đạt được một tỷ lệ kiểm duyệt nhất định?