VarBandHazEst: Variable Bandwidth Hazard Rate Estimator

Description Usage Arguments Details Value References See Also Examples

Description

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.

Usage

1
VarBandHazEst(xin, xout, kfun, h1, h2, ci)

Arguments

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.

Details

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.

Value

A vector with the values of the function at the designated points xout.

References

Bagkavos and Patil (2009), Variable Bandwidths for Nonparametric Hazard Rate Estimation, Communications in Statistics - Theory and Methods, 38:7, 1055-1078

See Also

HazardRateEst, TransHazRateEst, PlugInBand

Examples

 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

NPHazardRate documentation built on May 2, 2019, 10:24 a.m.