# Bivariate Skewed Normal Distribution

What is the equation for a multivariate skewed normal distribution, specifically a two dimensional skewed normal distribution?

• Google: bivariate skew normal distribution or biomet.oxfordjournals.org/content/83/4/715.full.pdf amongst many such links Dec 11 '16 at 5:48
• This threw me off because all bivariate normal distributions are symmetric. But apparently this is a larger family of distributions that includes the normal. Dec 11 '16 at 11:13
• The paper referenced @wolfies provides the multivariate skewed normal density in equation 2.3 and treats the special case of the bivariate case in section 3 with its density given in equation 3.1. Dec 11 '16 at 11:34

Bivariate (or multivariate) skew normal distributions can be constructed with the same methods that is used in the univariate case. The usual univariate skewnormal density (due to Azzalini https://en.wikipedia.org/wiki/Skew_normal_distribution) is given by $$\phi_{\text{Skew}}(x;\alpha) =2\phi(x)\Phi(\alpha x)$$ where $\phi$ is the usual standard normal density and $\alpha$ is a new skewness parameter. $\Phi$ is the standard normal cumulative distribution.

We can use the same construction in the multivariate case, introducing the covariance matrix $\Omega$ but still keeping the center at zero. $$\phi_{d,\text{Skew}}(x;\Omega,\alpha) = 2 \phi_d(x;\Omega)\Phi(\alpha^T x)$$ where $d$ is the dimension and $\phi_d$ is the multinormal density with covariance matrix $\Omega$ (and center zero), $\Phi$ is still the univariate standard normal cumulative distribution.

A contour plot is shown below, the parameters used can be gleaned from the R code below it:

library(sn)

alpha <-  c(0.5, 1)
Omega <-  matrix(c(1, 0.5, 0.5, 1), 2, 2)
xran  <-  seq(-3, 3, length=101)
yran  <-  seq(-3, 3, length=101)
z     <-  outer(xran, yran, FUN=Vectorize( function(x, y) dmsn(c(x, y), c(0, 0),
Omega, alpha) )  )
image(xran, yran, z)