Become an expert in R — Interactive courses, Cheat Sheets, certificates and more!
Get Started for Free

huberUC

Huber's Least Favourable Distribution


Description

Density, distribution function, quantile function and random generation for Huber's least favourable distribution, see Huber and Ronchetti (2009).

Usage

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, lower.tail = TRUE, log.p = FALSE)
 phuber(q, k = 0.862, mu = 0, sigma = 1, lower.tail = TRUE, log.p = FALSE)

Arguments

x, q

numeric vector, vector of quantiles.

p

vector of probabilities.

n

number of random values to be generated. If length(n) > 1 then the length is taken to be the number required.

k

numeric. Borderline value of central Gaussian part of the distribution. This is known as the tuning constant, and should be positive. For example, k = 0.862 refers to a 20% contamination neighborhood of the Gaussian distribution. If k = 1.40 then this is 5% contamination.

mu

numeric. distribution mean.

sigma

numeric. Distribution scale (sigma = 1 defines the distribution in standard form, with standard Gaussian centre).

log

Logical. If log = TRUE then the logarithm of the result is returned.

lower.tail, log.p

Same meaning as in pnorm or qnorm.

Details

Details are given in huber2, the VGAM family function for estimating the parameters mu and sigma.

Value

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.

Author(s)

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(), and two arguments for these were implemented by Kai Huang. This helpfile was adapted from smoothmest.

See Also

Examples

set.seed(123456)
edhuber(1:5, k = 1.5)
rhuber(5)

## Not run:  mu <- 3; xx <- seq(-2, 7, len = 100)  # Plot CDF and PDF
plot(xx, dhuber(xx, mu = mu), type = "l", col = "blue", las = 1, ylab = "",
     main = "blue is density, orange 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 = "orange")
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 0s

## End(Not run)

VGAM

Vector Generalized Linear and Additive Models

v1.1-5
GPL-3
Authors
Thomas Yee [aut, cre], Cleve Moler [ctb] (author of several LINPACK routines)
Initial release
2021-01-13

We don't support your browser anymore

Please choose more modern alternatives, such as Google Chrome or Mozilla Firefox.