Tip 1 sansürü simüle etmek istediğinizi belirtiyorsunuz . Bu, deneyin bir süre boyunca yürütüldüğü ve o zamana kadar hangi çalışma birimlerinin olaya sahip olmadığı sansürlendiği anlamına gelir. Demek istediğin buysa, şekil ve ölçek parametrelerini ve sansürleme süresini ve oranını aynı anda şart koşmak (zorunlu olarak) mümkün değildir. Herhangi üçünü şart koştuktan sonra, sonuncusu mutlaka sabittir.
Shape parametresi için çözülmeye çalışılıyor:
Bu başarısız oluyor; shape parametresi ne olursa olsun, ölçek parametresinin 1'de tutulduğu Weibull dağılımı ile .88 sansürleme zamanında% 15 sansürleme oranına sahip olmanın imkansız olduğu görülmektedir.
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
Scale parametresi için çözme:
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
Sansür zamanı için çözme:
qweibull(.15, shape=.5, scale=1, lower.tail=F)
# [1] 3.599064
Sansür oranının çözümü:
pweibull(.88, shape=.5, scale=1, lower.tail=F)
# [1] 0.3913773
Öte yandan, sansürü çalışma boyunca rastgele (ve tipik olarak bağımsız olarak) meydana gelen bir düşünüş olarak düşünebiliriz. Bu durumda, prosedür iki Weibull varyantı setini simüle etmektir. Sonra sadece hangisinin önce geldiğine dikkat edin: daha düşük değeri bitiş noktası olarak kullanın ve eğer daha az değer sansürleme süresi ise o birimi sansürleyin. Örneğin:
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
işlev harika), ancak belirli bir sansür yüzdesi elde etmek için ikinci cevabınızı nasıl kalibre edersiniz?