Description Usage Arguments Details Value References See Also Examples
Implements the adaptive variable bandwidth hazard rate estimator of Bagkavos and Patil (2009). The estimate itself is an extension of the classical kernel hazard rate estimator of Tanner and Wong (1983) implemented in HazardRateEst
. The difference is that instead of h, the variable bandwidth estimate uses bandwidth h λ(X_i)^{-1/2}. This particular choice cancels the second order term in the bias expansion of the hazard rate estimate and thus it is expected to result in a more precise estimation compared to HazardRateEst
.
1 | VarBandHazEst(xin, xout, kfun, h1, h2, ci)
|
xin |
A vector of data points. Missing values not allowed. |
xout |
A vector of points at which the hazard rate function will be estimated. |
kfun |
Kernel function to use. Supported kernels: Epanechnikov, Biweight, Gaussian, Rectangular, Triangular, HigherOrder |
h1 |
A scalar, pilot bandwidth. |
h2 |
A scalar, variable kernel (adaptive) bandwidth. |
ci |
A vector of censoring indicators: 1's indicate uncensored observations, 0's correspond to censored obs. |
Implements the adaptive variable bandwidth hazard rate estimator of Bagkavos and Patil (2009), Comm. Statist. Theory and Methods.
λ_v(x;h_1, h_2).
The pilot bandwidth h_1 is determined by an optimal bandwidth rule such as PlugInBand
. and used as input to the pilot kernel estimate, implemented by HazardRateEst
.
TO DO: Insert a rule for the adaptive bandwidth h_2.
A vector with the values of the function at the designated points xout.
HazardRateEst, TransHazRateEst, PlugInBand
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | x<-seq(0, 5,length=100) #design points where the estimate will be calculated
plot(x, HazardRate(x, "weibull", .6, 1), type="l",
xlab = "x", ylab="Hazard rate") #plot true hazard rate function
SampleSize <- 100
mat<-matrix(nrow=SampleSize, ncol=20)
for(i in 1:20)
{
ti<- rweibull(SampleSize, .6, 1)#draw a random sample from the actual distribution
ui<-rexp(SampleSize, .05) #draw a random sample from the censoring distribution
cat("\n AMOUNT OF CENSORING: ", length(which(ti>ui))/length(ti)*100, "\n")
x1<-pmin(ti,ui) #this is the observed sample
cen<-rep.int(1, SampleSize) #censoring indicators
cen[which(ti>ui)]<-0 #censored values correspond to zero
h2<-DefVarBandRule(ti, cen) #Deafult Band. Rule - Weibull Reference
huse1<- PlugInBand(x1, x, cen, Biweight)
mat[,i]<- VarBandHazEst(x1, x, Epanechnikov, huse1,h2, cen) #Var. bandwidth est.
}
lines(x, rowMeans(mat) , lty=2) #draw the average vb estimate
|
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.