# Transformation Chi-squared to Normal distribution

The relationship between the standard normal and the chi-squared distributions is well known. I was wondering though, is there a transformation that can lead from a $\chi^2 (1)$ back to a standard normal distribution?

It can be easily seen that the square root transformation does not work as its range is only positive numbers. I believe the resulting distribution is called folded normal. Is there a clever trick that works here?

One option is to exploit the fact that for any continuous random variable $X$ then $F_X(X)$ is uniform (rectangular) on [0, 1]. Then a second transformation using an inverse CDF can produce a continuous random variable with the desired distribution - nothing special about chi squared to normal here. @Glen_b has more detail in his answer.

If you want to do something weird and wonderful, in between those two transformations you could apply a third transformation that maps uniform variables on [0, 1] to other uniform variables on [0, 1]. For example, $u \mapsto 1 - u$, or $u \mapsto u + k \mod 1$ for any $k \in \mathbb{R}$, or even $u \mapsto u + 0.5$ for $u \in [0, 0.5]$ and $u \mapsto 1 - u$ for $u \in (0.5, 1]$.

But if we want a monotone transformation from $X \sim \chi^2_1$ to $Y \sim \mathcal{N}(0,1)$ then we need their corresponding quantiles to be mapped to each other. The following graphs with shaded deciles illustrate the point; note that I have had to cut off the display of the $\chi^2_1$ density near zero.

For the monotonically increasing transformation, that maps dark red to dark red and so on, you would use $Y = \Phi^{-1}(F_{\chi^2_1}(X))$. For the monotonically decreasing transformation, that maps dark red to dark blue and so on, you could use the mapping $u \mapsto 1-u$ before applying the inverse CDF, so $Y = \Phi^{-1}(1 - F_{\chi^2_1}(X))$. Here's what the relationship between $X$ and $Y$ for the increasing transformation looks like, which also gives a clue how bunched up the quantiles for the chi-squared distribution were on the far left!

If you want to salvage the square root transform on $X \sim \chi^2_1$, one option is to use a Rademacher random variable $W$. The Rademacher distribution is discrete, with $$\mathsf{P}(W = -1) = \mathsf{P}(W = 1) = \frac{1}{2}$$

It is essentially a Bernoulli with $p = \frac{1}{2}$ that has been transformed by stretching by a scale factor of two then subtracting one. Now $W\sqrt{X}$ is standard normal — effectively we are deciding at random whether to take the positive or negative root!

It's cheating a little since it is really a transformation of $(W, X)$ not $X$ alone. But I thought it worth mentioning since it seems in the spirit of the question, and a stream of Rademacher variables is easy enough to generate. Incidentally, $Z$ and $WZ$ would be another example of uncorrelated but dependent normal variables. Here's a graph showing where the deciles of the original $\chi^2_1$ get mapped to; remember that anything on the right side of zero is where $W = 1$ and the left side is $W = -1$. Note how values around zero are mapped from low values of $X$ and the tails (both left and right extremes) are mapped from the large values of $X$.

require(ggplot2)
delta     <- 0.0001 #smaller for smoother curves but longer plot times
quantiles <- 10    #10 for deciles, 4 for quartiles, do play and have fun!

chisq.df <- data.frame(x = seq(from=0.01, to=5, by=delta)) #avoid near 0 due to spike in pdf
chisq.df$pdf <- dchisq(chisq.df$x, df=1)
chisq.df$qt <- cut(pchisq(chisq.df$x, df=1), breaks=quantiles, labels=F)
ggplot(chisq.df, aes(x=x, y=pdf)) +
geom_area(aes(group=qt, fill=qt), color="black", size = 0.5) +
scale_fill_gradient2(midpoint=median(unique(chisq.df$qt)), guide="none") + theme_bw() + xlab("x") z.df <- data.frame(x = seq(from=-3, to=3, by=delta)) z.df$pdf <- dnorm(z.df$x) z.df$qt  <- cut(pnorm(z.df$x),breaks=quantiles,labels=F) ggplot(z.df, aes(x=x,y=pdf)) + geom_area(aes(group=qt, fill=qt), color="black", size = 0.5) + scale_fill_gradient2(midpoint=median(unique(z.df$qt)), guide="none") +
theme_bw() + xlab("y")

#y as function of x
data.df <- data.frame(x=c(seq(from=0, to=6, by=delta)))
data.df$y <- qnorm(pchisq(data.df$x, df=1))
ggplot(data.df, aes(x,y)) + theme_bw() + geom_line()

#because a chi-squared quartile maps to both left and right areas, take care with plotting order
z.df$qt2 <- cut(pchisq(z.df$x^2, df=1), breaks=quantiles, labels=F)
z.df$w <- as.factor(ifelse(z.df$x >= 0, 1, -1))
ggplot(z.df, aes(x=x,y=pdf)) +
geom_area(data=z.df[z.df$x > 0 | z.df$qt2 == 1,], aes(group=qt2, fill=qt2), color="black", size = 0.5) +
geom_area(data=z.df[z.df$x <0 & z.df$qt2 > 1,], aes(group=qt2, fill=qt2), color="black", size = 0.5) +
scale_fill_gradient2(midpoint=median(unique(z.df$qt)), guide="none") + theme_bw() + xlab("y")  • This is a very clever trick, I like it :). Thank you. Nov 27, 2014 at 16:55 [Well, I couldn't locate the duplicate that I thought there was; the nearest I came was the mention of the fact toward the end of this answer. (It's possible it was only discussed in comments on some question, but perhaps there was a duplicate and I just missed it.) I'll give an answer here after all.] If$X$is chi-square, with$F$as its CDF, and$Φ$is the cdf of the normal, then$Φ^{−1}(F(X))$is normal. This is obvious since the probability integral transform of$X$gives a uniform, and$Φ^{−1}(U)$is normal. So we have a monotonic transformation of the chi-squared to normal. The same trick works with any two continuous variables. This gives us a neat counterexample to the various versions of the question "are uncorrelated normal Y,Z bivariate normal?" that come up, since if Z is standard normal and$Y=Φ^{−1}(F_{χ^2_1}(Z^2))$, then$Z,Y$are both normal and they're uncorrelated, but they're definitely dependent (and have a rather pretty bivariate relationship) The transformation$T(z)=Φ^{−1}(F_{χ^2_1}(z^2))$: Histogram of a large sample of$Z+Y$values: • Could you add just a few words to your answer to explain why$Z$and$Y$are uncorrelated? It is not at all obvious to me, but then, probably I am just not seeing things from the correct perspective. Nov 27, 2014 at 3:15 • @Dilip$Z$is centered at 0 and the transformation of$Z$we apply to get$Y$is symmetric about 0. So$E(YZ)=0$. Nov 27, 2014 at 4:23 • Well, we need to show a little more to be sure E(YZ) is finite, for example, but that would present no problem. Nov 27, 2014 at 7:59 • The mapping$z \mapsto T(z)\$ can also be seen nicely in the normal density plots in my answer - the bottom one (red in middle) maps to the top one (red on left), with red mapped to red and blue mapped to blue. It is a pretty relationship! Nov 29, 2014 at 0:38