wtrunc {Qest} | R Documentation |
Weighting Function for Qest
, Qlm
, and Qcoxph
.
Description
This function can be used within a call to Qest
, Qlm
, or Qcoxph
to assign a different weight to each quantile.
Usage
wtrunc(tau, delta.left = 0.05, delta.right = 0.05, smooth = FALSE, sigma = 0.01)
Arguments
tau |
a vector of quantiles. |
delta.left , delta.right |
proportion of quantiles to be removed from the left and righ tail. The weighting function is |
smooth |
if |
sigma |
the bandwith of a Gaussian kernel. This parameter controls the smoothness of the weighting function, and is ignored if |
Details
Within a call to Qest
, Qlm
, or Qcoxph
, one may want to assign a different weight to each quantile through the optional argument wtau
. This can be done for reasons of efficiency, or to counteract the presence of outliers. While wtau
can be any user-defined function, one can use wtrunc
as a shortcut to construct a weighting function that truncates a certain subset of quantiles in the tails of the distribution. For instance, the estimator defined by Qest(..., wtau = wtrunc, delta.left = 0.05, delta.right = 0.1)
only uses quantiles in the interval (0.05, 0.90) to fit the model. In this example, delta.left = 0.05
is a guess for the proportion of outliers on the left tail; and delta.right
is a guess for the proportion of outliers on the right tail.
Use smooth = TRUE
to replace the indicator functions involved in wtrunc
with smooth functions. Introducing a weighting function that only assigns a positive weight to the quantiles that correspond to the “healthy” part of the distribution allows to deal with any level of contamination by outliers.
Value
A vector of weights assigned to each quantile.
Author(s)
Gianluca Sottile <gianluca.sottile@unipa.it>, Paolo Frumento <paolo.frumento@unipi.it>
See Also
Examples
## Not run:
taus <- seq(0, 1, length.out = 1000)
### zero weight to quantiles above 0.95
plot(taus, wtrunc(taus, delta.left = 0, delta.right = 0.05),
type = "l", lwd = 1.5)
# smooth counterpart
lines(taus, wtrunc(taus, delta.left = 0, delta.right = 0.05,
smooth = TRUE, sigma = .01), col = 2, lwd = 1.5)
lines(taus, wtrunc(taus, delta.left = 0, delta.right = 0.05,
smooth = TRUE, sigma = .05), col = 3, lwd = 1.5)
### zero weight to quantiles below 0.05
plot(taus, wtrunc(taus, delta.left = 0.05, delta.right = 0),
type = "l", lwd = 1.5)
# smooth counterpart
lines(taus, wtrunc(taus, delta.left = 0.05, delta.right = 0,
smooth = TRUE, sigma = .01), col = 2, lwd = 1.5)
lines(taus, wtrunc(taus, delta.left = 0.05, delta.right = 0,
smooth = TRUE, sigma = .05), col = 3, lwd = 1.5)
### zero weight to quantiles below 0.05 and above 0.90
plot(taus, wtrunc(taus, delta.left = 0.05, delta.right = 0.10),
type = "l", lwd = 1.5)
# smooth counterpart
lines(taus, wtrunc(taus, delta.left = 0.05, delta.right = 0.10,
smooth = TRUE, sigma = .01), col = 2, lwd = 1.5)
lines(taus, wtrunc(taus, delta.left = 0.05, delta.right = 0.10,
smooth = TRUE, sigma = .05), col = 3, lwd = 1.5)
### Use wtrunc in Qest, Qlm, Qcoxph
# Qest(..., wtau = wtrunc, delta.left = 0.05, delta.right = 0.1)
## End(Not run)