Learn R Programming

MVT (version 0.3-81)

WH.student: Wilson-Hilferty transformation

Description

Returns the Wilson-Hilferty transformation of random variables with \(F\) distribution.

Usage

WH.student(x, center, cov, eta = 0)

Arguments

x

object of class 'studentFit' from which is extracted the estimated Mahalanobis distances of the fitted model. Also x can be a vector or matrix of data with, say, \(p\) columns.

center

mean vector of the distribution or second data vector of length \(p\). Not required if x have class 'studentFit'.

cov

covariance matrix (\(p\) by \(p\)) of the distribution. Not required if x have class 'studentFit'.

eta

shape parameter of the multivariate t-distribution. By default the multivariate normal (eta = 0) is considered.

Details

Let \(F\) the following random variable: $$F = \frac{D^2/p}{1-2\eta}$$ where \(D^2\) denotes the squared Mahalanobis distance defined as $$D^2 = (x - \mu)^T \Sigma^{-1} (x - \mu)$$

Thus the Wilson-Hilferty transformation is given by $$z = \frac{(1 - \frac{2\eta}{9})F^{1/3} - (1 - \frac{2}{9p})}{(\frac{2\eta}{9}F^{2/3} + \frac{2}{9p})^{1/2}}% $$ and \(z\) is approximately distributed as a standard normal distribution. This is useful, for instance, in the construction of QQ-plots.

For eta = 0, we obtain $$z = \frac{F^{1/3} - (1 - \frac{2}{9p})}{(\frac{2}{9p})^{1/2}}% $$ which is the Wilson-Hilferty transformation for chi-square variables.

References

Osorio, F., Galea, M., Henriquez, C., Arellano-Valle, R. (2023). Addressing non-normality in multivariate analysis using the t-distribution. AStA Advances in Statistical Analysis 107, 785-813.

Wilson, E.B., and Hilferty, M.M. (1931). The distribution of chi-square. Proceedings of the National Academy of Sciences of the United States of America 17, 684-688.

See Also

cov, mahalanobis, envelope.student

Examples

Run this code
data(companies)
x <- companies
z <- WH.student(x, center = colMeans(x), cov = cov(x))
par(pty = "s")
qqnorm(z, main = "Transformed distances Q-Q plot")
abline(c(0,1), col = "red", lwd = 2)

Run the code above in your browser using DataLab