# Whitening transformation for skewness?

Let $X$ be an $(m,n)$-matrix interpreted as a two dimensional array with each column representing $m$ samples from a random variable, with known covariance matrx $M$ and mean equal to $0$, it is possible, under mild conditions ($M$ must be positive semidefinite), to transform $X$ into a (possibly not uniquely defined) matrix $X'$, having covariance the identity matrix $I$. This transformation is generally called a whitening transformation.

My question is: does it exist an analog transformation on the matrix $X$ which produces a matrix $X''$ whose sample skewness of each column is equal to zero and such that the mean and the covariance matrix of $X$ remain unchanged?

• Not in general, as consider any binary variable with unequal frequencies for the states. Skewness will be invariant over any transformation that leaves the two states distinct. It's as if you have a histogram with two spikes of unequal height. You can change the numeric labels for the values to anything you like but it's the same skewness (up to sign). Still, that comment leaves most of your question unanswered. – Nick Cox Feb 21 '15 at 12:06
• Your first paragraph refers to "the covariance of a vector". Your second paragraph refers to "the third moment of a matrix". How are you defining "the third moment of a matrix"? – Glen_b -Reinstate Monica Feb 21 '15 at 12:21
• @Glen_b I have edited the question, it was definitely unclear. Hope now is more intelligible. – RandomGuy Feb 21 '15 at 15:05
• I have a feeling it's impossible to change marginal skewness and preserve covariance. I'm trying to visualize the resulting contour plots in the 2-D case and I can't see how it would work. Also I'm not sure changing marginal skewness by itself is really a generalization. Note that whitening acts on both marginal (variance) and joint (covariance) properties. I feel like you'd first need a kind of multivariate skewness – shadowtalker Feb 21 '15 at 16:41

A generalization of whitening is Gaussianization (Chen & Gopinath, 2001). It can be used to turn continuous distributions into standard normal distributions. If $F$ is the CDF of $X$ and $\Phi$ is the CDF of a standard normal, then

$$Y = \Phi^{-1}(F(X))$$

has standard normal distribution. If $X$ is assumed to be Gaussian distributed, $\Phi^{-1} \circ F$ is just a linear whitening transformation.

You could try to design an $F$ which additionally captures some form of skewness and then reintroduce the mean and covariance if desired, i.e.,

$$Y = A\Phi^{-1}(F(X)) + b,$$

where $b$ is the mean you are trying to preserve and $A$ is such that $M = AA^\top$.

Here is a simple example where the data was generated by sampling independently from a log-normal distribution before applying an affine transformation (see here for Python code).

Data is on the left (black), skewness removed on the right (red). In practice you will not know the underlying distribution or even just the affine transformation and will have to estimate it. Unlike for the Gaussian distribution, this is generally not possible in closed form. That is, before you can remove the skewness, you will probably have to run some kind of optimization (e.g., ICA).