Title: | Khattree-Bahuguna's Univariate and Multivariate Skewness |
---|---|
Description: | Computes Khattree-Bahuguna's univariate and multivariate skewness, principal-component-based Khattree-Bahuguna's multivariate skewness. It also provides several measures of univariate or multivariate skewnesses including, Pearson’s coefficient of skewness, Bowley’s univariate skewness and Mardia's multivariate skewness. See Khattree, R. and Bahuguna, M. (2019) <doi: 10.1007/s41060-018-0106-1>. |
Authors: | Zhixin Lun [aut, cre] , Ravindra Khattree [aut] |
Maintainer: | Zhixin Lun <[email protected]> |
License: | GPL-3 |
Version: | 1.0.2 |
Built: | 2024-12-03 06:54:05 UTC |
Source: | CRAN |
Compute Bowley's Univariate Skewness.
BowleySkew(x)
BowleySkew(x)
x |
a vector of original observations. |
Bowley's skewness is defined in terms of quantiles as
where is the
th quartile
of the data.
BowleySkew
gives the Bowley's univariate skewness of the data.
Bowley, A. L. (1920). Elements of Statistics. London : P.S. King & Son, Ltd.
# Compute Bowley's univariate skewness set.seed(2019) x <- rnorm(1000) # Normal Distribution BowleySkew(x) set.seed(2019) y <- rlnorm(1000, meanlog = 1, sdlog = 0.25) # Log-normal Distribution BowleySkew(y)
# Compute Bowley's univariate skewness set.seed(2019) x <- rnorm(1000) # Normal Distribution BowleySkew(x) set.seed(2019) y <- rlnorm(1000, meanlog = 1, sdlog = 0.25) # Log-normal Distribution BowleySkew(y)
Chatterjee, Hadi and Price Data
data(Chatterjee)
data(Chatterjee)
The format is a dataframe of 40 observations and 7 variables.
The data come from Chatterjee, Hadi and Price (2000).
Chatterjee, S., Hadi, A. S., and Price, B. (2000). Regression Analysis by Example. Hoboken: Wiley.
data(Chatterjee)
data(Chatterjee)
Data are time records from 1984 Olympic track events for women from 55 countries: 100-meter, 200-meter, 400-meter, 800-meter, 1500-meter, 3000-meter, and Marathon. The corresponding variables are named as m100, m200, m400, m800, m1500, m3000, and marathon. The time measurements are recorded in seconds.
data(OlymWomen)
data(OlymWomen)
The format is a dataframe of 55 observations and 8 variables.
The data come from Khattree and Naik (2000, pp. 511-512).
Khattree, R. and Naik, D. (2000). Multivariate Data Reduction and Discrimination with SAS® Software. Cary, NC: SAS Institute Inc.
data(OlymWomen)
data(OlymWomen)
Data are measurements, in millimeters, of the heads of 200 Swiss soldiers.
data(SwissHead)
data(SwissHead)
The format is a dataframe of 200 observations and 6 variables.
The data come from Flurry and Riedwyl (1988).
Flurry, B. and Riedwyl, H. (1988). Multivariate Statistics: A Practical Approach. London: Chapman and Hall.
data(SwissHead)
data(SwissHead)
Compute Khattree-Bahuguna's Multivariate Skewness.
kbMvtSkew(x)
kbMvtSkew(x)
x |
a matrix of original observations. |
Let be the multivariate random vector and
be one of the
permutations of
. We predict
conditionally on subvector
and compute the corresponding residual
through a linear regression model for
. For
, we define
, where
is the mean of
. For
, we have
We calculate the sample skewness of
by the sample Khattree-Bahuguna's univariate skewness formula (see details of
kbSkew
that follows) respectively for and define
for all
permutations of
. The sample Khattree-Bahuguna's multivariate skewness is defined as
Clearly, .
kbMvtSkew
computes the Khattree-Bahuguna's multivairate skewness for a -dimensional data.
Khattree, R. and Bahuguna, M. (2019). An alternative data analytic approach to measure the univariate and multivariate skewness. International Journal of Data Science and Analytics, Vol. 7, No. 1, 1-16.
kbSkew
for Khattree-Bahuguna's univariate skewness.
# Compute Khattree-Bahuguna's multivairate skewness data(OlymWomen) kbMvtSkew(OlymWomen[, c("m800","m1500","m3000","marathon")])
# Compute Khattree-Bahuguna's multivairate skewness data(OlymWomen) kbMvtSkew(OlymWomen[, c("m800","m1500","m3000","marathon")])
Compute Khattree-Bahuguna's Univariate Skewness.
kbSkew(x)
kbSkew(x)
x |
a vector of original observations. |
Given a univariate random sample of size consist of observations
, let
be the order statistics of
after being centered by their mean. Define
and
The sample Khattree-Bahuguna's univariate skewness is defined as
It can be shown that . Values close to zero indicate, low skewness while those close to
indicate the presence of high degree of skewness.
kbSkew
gives the Khattree-Bahuguna's univariate skewness of the data.
Khattree, R. and Bahuguna, M. (2019). An alternative data analytic approach to measure the univariate and multivariate skewness. International Journal of Data Science and Analytics, Vol. 7, No. 1, 1-16.
# Compute Khattree-Bahuguna's univariate skewness set.seed(2019) x <- rnorm(1000) # Normal Distribution kbSkew(x) set.seed(2019) y <- rlnorm(1000, meanlog = 1, sdlog = 0.25) # Log-normal Distribution kbSkew(y)
# Compute Khattree-Bahuguna's univariate skewness set.seed(2019) x <- rnorm(1000) # Normal Distribution kbSkew(x) set.seed(2019) y <- rlnorm(1000, meanlog = 1, sdlog = 0.25) # Log-normal Distribution kbSkew(y)
Compute Mardia's Multivariate Skewness.
MardiaMvtSkew(x)
MardiaMvtSkew(x)
x |
a matrix of original observations. |
Given a -dimensional multivariate random vector with mean vector
and positive definite variance-covariance matrix
, Mardia's multivariate skewness is defined as
where and
are independently and identically distributed copies of
. For a multivariate random sample of size
,
, its sample version is defined as
where the sample mean and the sample variance-covariance matrix
. It is assumed that
.
MardiaMvtSkew
gives the sample Mardia's multivairate skewness.
Mardia, K.V. (1970). Measures of multivariate skewness and kurtosis with applications. Biometrika, 57(3), 519–530.
# Compute Mardia's multivairate skewness data(OlymWomen) MardiaMvtSkew(OlymWomen[, c("m800","m1500","m3000","marathon")])
# Compute Mardia's multivairate skewness data(OlymWomen) MardiaMvtSkew(OlymWomen[, c("m800","m1500","m3000","marathon")])
Compute Principal-component-based Khattree-Bahuguna's Multivariate Skewness.
pcKbSkew(x, cor = FALSE)
pcKbSkew(x, cor = FALSE)
x |
a matrix of original scale observations. |
cor |
a logical value indicating whether the calculation should use the correlation matrix ( |
Let be a
-dimensional multivariate random vector. We compute the sample skewness for
principal components of
respectively by the sample Khattree-Bahuguna's univariate skewness formula (see details of
kbSkew
that follows). Let be the
univariate skewnesses for
principal components. Principal-component-based Khattree-Bahuguna's multivariate skewness for a sample is then defined as
Clearly, .
pcKbSkew
gives the sample principal-component-based Khattree-Bahuguna's multivairate skewness.
Khattree, R. and Bahuguna, M. (2019). An alternative data analytic approach to measure the univariate and multivariate skewness. International Journal of Data Science and Analytics, Vol. 7, No. 1, 1-16.
kbSkew
for Khattree-Bahuguna's univariate skewness.
# Compute principal-component-based Khattree-Bahuguna's multivairate skewness data(OlymWomen) pcKbSkew(OlymWomen[, c("m800","m1500","m3000","marathon")])
# Compute principal-component-based Khattree-Bahuguna's multivairate skewness data(OlymWomen) pcKbSkew(OlymWomen[, c("m800","m1500","m3000","marathon")])
Compute Pearson's coefficient of skewness.
PearsonSkew(x)
PearsonSkew(x)
x |
a vector of original observations. |
Pearson's coefficient of skewness is defined as
where and
. The sample version based on a random sample
is defined as
where is the sample mean and
is the sample standard deviation of the data, respectively.
PearsonSkew
gives the sample Pearson's univariate skewness.
Pearson, K. (1894). Contributions to the mathematical theory of evolution. Philos. Trans. R. Soc. Lond. A 185, 71-110.
Pearson, K. (1895). Contributions to the mathematical theory of evolution II: skew variation in homogeneous material. Philos. Trans. R. Soc. Lond. A 86, 343-414.
# Compute Pearson's univariate skewness set.seed(2019) x <- rnorm(1000) # Normal Distribution PearsonSkew(x) set.seed(2019) y <- rlnorm(1000, meanlog = 1, sdlog = 0.25) # Log-normal Distribution PearsonSkew(y)
# Compute Pearson's univariate skewness set.seed(2019) x <- rnorm(1000) # Normal Distribution PearsonSkew(x) set.seed(2019) y <- rlnorm(1000, meanlog = 1, sdlog = 0.25) # Log-normal Distribution PearsonSkew(y)