Compute the sample coefficient of skewness.

skewness(x, na.rm = FALSE, method = "fisher", l.moment.method = "unbiased", 
    plot.pos.cons = c(a = 0.35, b = 0))

Arguments

x

numeric vector of observations.

na.rm

logical scalar indicating whether to remove missing values from x. If
na.rm=FALSE (the default) and x contains missing values, then a missing value (NA) is returned. If na.rm=TRUE, missing values are removed from x prior to computing the coefficient of variation.

method

character string specifying what method to use to compute the sample coefficient of skewness. The possible values are "fisher" (ratio of unbiased moment estimators; the default), "moments" (ratio of product moment estimators), or "l.moments" (ratio of \(L\)-moment estimators).

l.moment.method

character string specifying what method to use to compute the \(L\)-moments when method="l.moments". The possible values are "ubiased" (method based on the \(U\)-statistic; the default), or "plotting.position" (method based on the plotting position formula).

plot.pos.cons

numeric vector of length 2 specifying the constants used in the formula for the plotting positions when method="l.moments" and
l.moment.method="plotting.position". The default value is
plot.pos.cons=c(a=0.35, b=0). If this vector has a names attribute with the value c("a","b") or c("b","a"), then the elements will be matched by name in the formula for computing the plotting positions. Otherwise, the first element is mapped to the name "a" and the second element to the name "b".

Details

Let \(\underline{x}\) denote a random sample of \(n\) observations from some distribution with mean \(\mu\) and standard deviation \(\sigma\).

Product Moment Coefficient of Skewness (method="moment" or method="fisher")
The coefficient of skewness of a distribution is the third standardized moment about the mean: $$\eta_3 = \sqrt{\beta_1} = \frac{\mu_3}{\sigma^3} \;\;\;\;\;\; (1)$$ where $$\eta_r = E[(\frac{X-\mu}{\sigma})^r] = \frac{1}{\sigma^r} E[(X-\mu)^r] = \frac{\mu_r}{\sigma^r} \;\;\;\;\;\; (2)$$ and $$\mu_r = E[(X-\mu)^r] \;\;\;\;\;\; (3)$$ denotes the \(r\)'th moment about the mean (central moment). That is, the coefficient of skewness is the third central moment divided by the cube of the standard deviation. The coefficient of skewness is 0 for a symmetric distribution. Distributions with positive skew have heavy right-hand tails, and distributions with negative skew have heavy left-hand tails.

When method="moment", the coefficient of skewness is estimated using the method of moments estimator for the third central moment and and the method of moments estimator for the variance: $$\hat{\eta}_3 = \frac{\hat{\mu}_3}{\sigma^3} = \frac{\frac{1}{n} \sum_{i=1}^n (x_i - \bar{x})^3}{[\frac{1}{n} \sum_{i=1}^n (x_i - \bar{x})^2]^{3/2}} \;\;\;\;\; (5)$$ where $$\hat{\sigma}^2_m = s^2_m = \frac{1}{n} \sum_{i=1}^n (x_i - \bar{x})^2 \;\;\;\;\;\; (6)$$

This form of estimation should be used when resampling (bootstrap or jackknife).

When method="fisher", the coefficient of skewness is estimated using the unbiased estimator for the third central moment (Serfling, 1980, p.73; Chen, 1995, p.769) and the unbiased estimator for the variance. $$\hat{\eta}_3 = \frac{\frac{n}{(n-1)(n-2)} \sum_{i=1}^n (x_i - \bar{x})^3}{s^3} \;\;\;\;\;\; (7)$$ where $$\hat{\sigma}^2 = s^2 = \frac{1}{n-1} \sum_{i=1}^n (x_i - \bar{x})^2 \;\;\;\;\;\; (8)$$ (Note that Serfling, 1980, p.73 contains a typographical error in the numerator for the unbiased estimator of the third central moment.)

L-Moment Coefficient of skewness (method="l.moments")
Hosking (1990) defines the \(L\)-moment analog of the coefficient of skewness as: $$\tau_3 = \frac{\lambda_3}{\lambda_2} \;\;\;\;\;\; (9)$$ that is, the third \(L\)-moment divided by the second \(L\)-moment. He shows that this quantity lies in the interval (-1, 1).

When l.moment.method="unbiased", the \(L\)-skewness is estimated by: $$t_3 = \frac{l_3}{l_2} \;\;\;\;\;\; (10)$$ that is, the unbiased estimator of the third \(L\)-moment divided by the unbiased estimator of the second \(L\)-moment.

When l.moment.method="plotting.position", the \(L\)-skewness is estimated by: $$\tilde{\tau}_3 = \frac{\tilde{\lambda}_3}{\tilde{\lambda}_2} \;\;\;\;\;\; (11)$$ that is, the plotting-position estimator of the third \(L\)-moment divided by the plotting-position estimator of the second \(L\)-moment.

See the help file for lMoment for more information on estimating \(L\)-moments.

Value

A numeric scalar – the sample coefficient of skewness.

References

Berthouex, P.M., and L.C. Brown. (2002). Statistics for Environmental Engineers, Second Edition. Lewis Publishers, Boca Raton, FL.

Chen, L. (1995). Testing the Mean of Skewed Distributions. Journal of the American Statistical Association 90(430), 767–772.

Helsel, D.R., and R.M. Hirsch. (1992). Statistical Methods in Water Resources Research. Elsevier, New York, NY.

Ott, W.R. (1995). Environmental Statistics and Data Analysis. Lewis Publishers, Boca Raton, FL.

Serfling, R.J. (1980). Approximation Theorems of Mathematical Statistics. John Wiley and Sons, New York, p.73.

Taylor, J.K. (1990). Statistical Techniques for Data Analysis. Lewis Publishers, Boca Raton, FL.

Vogel, R.M., and N.M. Fennessey. (1993). \(L\) Moment Diagrams Should Replace Product Moment Diagrams. Water Resources Research 29(6), 1745–1752.

Zar, J.H. (2010). Biostatistical Analysis. Fifth Edition. Prentice-Hall, Upper Saddle River, NJ.

Author

Steven P. Millard (EnvStats@ProbStatInfo.com)

Note

Traditionally, the coefficient of skewness has been estimated using product moment estimators. Sometimes an estimate of skewness is used in a goodness-of-fit test for normality (e.g., set
test="skew" in the call to gofTest).

Hosking (1990) introduced the idea of \(L\)-moments and \(L\)-skewness.

Vogel and Fennessey (1993) argue that \(L\)-moment ratios should replace product moment ratios because of their superior performance (they are nearly unbiased and better for discriminating between distributions). They compare product moment diagrams with \(L\)-moment diagrams.

Hosking and Wallis (1995) recommend using unbiased estimators of \(L\)-moments (vs. plotting-position estimators) for almost all applications.

Examples

  # Generate 20 observations from a lognormal distribution with parameters 
  # mean=10 and cv=1, and estimate the coefficient of skewness. 
  # (Note: the call to set.seed simply allows you to reproduce this example.)

  set.seed(250) 

  dat <- rlnormAlt(20, mean = 10, cv = 1) 

  skewness(dat) 
#> [1] 0.9876632
  #[1] 0.9876632
 
  skewness(dat, method = "moment") 
#> [1] 0.9119889
  #[1] 0.9119889
 
  skewness(dat, meth = "l.moment") 
#> [1] 0.2656674
  #[1] 0.2656674

  #----------
  # Clean up
  rm(dat)