# A transform to change skew without affecting kurtosis?

I am curious if there is a transform which alters the skew of a random variable without affecting the kurtosis. This would be analogous to how an affine transform of a RV affects the mean and variance, but not the skew and kurtosis (partly because the skew and kurtosis are defined to be invariant to changes in scale). Is this a known problem?

• Do you require that the standard deviation remain constant with this transformation as well? Sep 5, 2010 at 16:04
• no, I expect it will not, but the excess kurtosis should remain fixed. I would expect the transform to be monotonic, however, and preferably deterministic. Sep 6, 2010 at 2:23
• Yikes - woe unto the person that wants to prove a non-deterministic function is monotonic. Sep 6, 2010 at 5:05
• This thread may be of interest to readers: Transformation to increase kurtosis and skewness of normal r.v.. Feb 24, 2013 at 20:43

My answer is the beginnings of a total hack, but I am not aware of any established way to do what you ask.

My first step would be to rank order your dataset you can find the proportional position in your dataset and then transform it to a normal distribution, this method was used in Reynolds & Hewitt, 1996. See sample R code below in PROCMiracle.

Once the distribution is normal, then the problem has been turned on its head - a matter of adjusting kurtosis but not skew. A google search suggested that one could follow the procedures of John & Draper, 1980 to adjust the kurtosis but not the skew - but I could not replicate that result.

My attempts to develop a crude spreading/narrowing function that takes the input (normalized) value and adds or subtracts a value from it proportional to the position of the variable on the normal scale does result in a monotonic adjustment, but in practice tends to create a bimodal distribution though one that has the desired skewness and kurtosis values.

I realize this is not a complete answer, but I thought it might provide a step in the right direction.

PROCMiracle <- function(datasource,normalrank="BLOM")
{
switch(normalrank,
"BLOM" = {
rmod <- -3/8
nmod <- 1/4
},
"TUKEY" = {
rmod <- -1/3
nmod <- 1/3
},
"VW" ={
rmod <- 0
nmod <- 1
},
"NONE" = {
rmod <- 0
nmod <- 0
}
)
print("This may be doing something strange with NA values!  Beware!")
return(scale(qnorm((rank(datasource)+rmod)/(length(datasource)+nmod))))
}

• I had been doing something like this: rank, then use the g-and-h transform to get a fixed kurtosis and skew. However, this technique assumes I actually know the population kurtosis, which I can estimate, but I am interested, philosophically, if there is a transform which preserves the kurtosis without me having to know what it is... Sep 6, 2010 at 2:26
• @shabbychef: Oh, well then sorry for not adding anything new. However, you added something new, I hadn't heard of the g-and-h formula before. Do you have a freely accessible citation that provides it? I stumbled onto one paper with it spelled out (fic.wharton.upenn.edu/fic/papers/02/0225.pdf) but the notion is a bit foreign to me (in particular is that e^Z^g or something else)? I tried it like this... but the results seemed odd... a+b*(e^g^z-1)*(exp((h*z^2)/2)/g). Sep 6, 2010 at 5:04
• @drnexus: I did not want to bias the results by mentioning my technique. I learned about the g-and-h and the g-and-k distributions from Haynes et. al, dx.doi.org/10.1016/S0378-3758(97)00050-5 , and Fisher & Klein, econstor.eu/bitstream/10419/29578/1/614055873.pdf Sep 7, 2010 at 16:32

Another possible interesting technique has come to mind, though this doesn't quite answer the question, is to transform a sample to have a fixed sample L-skew and sample L-kurtosis (as well as a fixed mean and L-scale). These four constraints are linear in the order statistics. To keep the transform monotonic on a sample of $n$ observations would then require another $n-1$ equations. This could then be posed as a quadratic optimization problem: minimize the $\ell_2$ norm between the sample order statistics and the transformed version subject to the given constraints. This is a kind of wacky approach, though. In the original question, I was looking for something more basic and fundamental. I also was implicitly looking for a technique which could be applied to individual observations, independent of having an entire cohort of samples.

I would rather model this data set using a leptokurtic distribution instead of using data-transformations. I like the sinh-arcsinh distribution from Jones and Pewsey (2009), Biometrika.