| dhuber {VGAM} | R Documentation |
Density, distribution function, quantile function and random generation for Huber's least favourable distribution, see Huber and Ronchetti (2009).
dhuber(x, k = 0.862, mu = 0, sigma = 1, log = FALSE) edhuber(x, k = 0.862, mu = 0, sigma = 1, log = FALSE) rhuber(n, k = 0.862, mu = 0, sigma = 1) qhuber(p, k = 0.862, mu = 0, sigma = 1) phuber(q, k = 0.862, mu = 0, sigma = 1)
x, q |
numeric vector, vector of quantiles. |
p |
vector of probabilities. |
n |
number of random values to be generated.
If |
k |
numeric. Borderline value of central Gaussian part of the
distribution.
This is known as the tuning constant, and should be positive.
For example, |
mu |
numeric. distribution mean. |
sigma |
numeric. Distribution scale ( |
log |
Logical.
If |
Details are given in huber, the
VGAM family function for estimating the
parameters mu and sigma.
dhuber gives out a vector of density values.
edhuber gives out a list with components val (density
values) and eps (contamination proportion).
rhuber gives out a vector of random numbers generated by
Huber's least favourable distribution.
phuber gives the distribution function,
qhuber gives the quantile function.
Christian Hennig wrote [d,ed,r]huber()
(from smoothmest) and
slight modifications were made by T. W. Yee to
replace looping by vectorization and addition of the log argument.
Arash Ardalan wrote [pq]huber().
This helpfile was adapted from smoothmest.
set.seed(123456)
edhuber(1:5, k = 1.5)
rhuber(5)
# Plot cdf and pdf
## Not run: mu = 3; xx = seq(-2, 7, len = 100)
plot(xx, dhuber(xx, mu = mu), type = "l", col = "blue", las = 1, ylab = "",
main = "blue is density, red is cumulative distribution function",
sub = "Purple lines are the 10,20,...,90 percentiles",
ylim = 0:1)
abline(h = 0, col = "blue", lty = 2)
lines(xx, phuber(xx, mu = mu), type = "l", col = "red")
probs = seq(0.1, 0.9, by = 0.1)
Q = qhuber(probs, mu = mu)
lines(Q, dhuber(Q, mu = mu), col = "purple", lty = 3, type = "h")
lines(Q, phuber(Q, mu = mu), col = "purple", lty = 3, type = "h")
abline(h = probs, col = "purple", lty = 3)
phuber(Q, mu = mu) - probs # Should be all zero
## End(Not run)