Una opción es explotar el hecho de que para cualquier variable aleatoria continua $X$ entonces $F_X(X)$ es uniforme (rectangular) en [0, 1]. Luego, una segunda transformación usando una CDF invertida puede producir una variable aleatoria continua con la distribución deseada - nada especial acerca de la qui-cuadrado a normal aquí . @Glen_b tiene más detalles en su respuesta.
Si quieres hacer algo extraño y maravilloso, entre esas dos transformaciones podrías aplicar una tercera transformación que mapea variables uniformes en [0, 1] a otras variables uniformes en [0, 1]. Por ejemplo, $u \mapsto 1 - u$, o $u \mapsto u + k \mod 1$ para cualquier $k \in \mathbb{R}$, o incluso $u \mapsto u + 0.5$ para $u \in [0, 0.5]$ y $u \mapsto 1 - u$ para $u \in (0.5, 1]$.
Pero si queremos una transformación monótona de $X \sim \chi^2_1$ a $Y \sim \mathcal{N}(0,1)$ entonces necesitamos que sus cuantiles correspondientes se mapeen entre sí. Los siguientes gráficos con deciles sombreados ilustran el punto; ten en cuenta que tuve que recortar la visualización de la densidad de $\chi^2_1$ cerca de cero.
Para la transformación monótonamente creciente, que mapea el rojo oscuro al rojo oscuro y así sucesivamente, utilizarías $Y = \Phi^{-1}(F_{\chi^2_1}(X))$. Para la transformación monótonamente decreciente, que mapea el rojo oscuro al azul oscuro y así sucesivamente, podrías usar el mapeo $u \mapsto 1-u$ antes de aplicar la CDF inversa, entonces $Y = \Phi^{-1}(1 - F_{\chi^2_1}(X))$. Así es como se ve la relación entre $X$ y $Y$ para la transformación creciente, ¡lo que también da una pista de cuán apelotonados estaban los cuantiles de la distribución qui-cuadrado en la extrema izquierda!
Si quieres rescatar la transformación de raíz cuadrada en $X \sim \chi^2_1$, una opción es usar una variable aleatoria de Rademacher $W$. La distribución de Rademacher es discreta, con $$\mathsf{P}(W = -1) = \mathsf{P}(W = 1) = \frac{1}{2}$$
Esencialmente, es una Bernoulli con $p = \frac{1}{2}$ que ha sido transformada estirándose por un factor de dos y luego restando uno. Ahora $W\sqrt{X}$ es normal estándar - ¡efectivamente estamos decidiendo al azar si tomar la raíz positiva o negativa!
Es un poco de trampa porque realmente es una transformación de $(W, X)$ no solamente de $X$. Pero pensé que valía la pena mencionarlo ya que parece estar en el espíritu de la pregunta, y una serie de variables de Rademacher es suficientemente fácil de generar. Por cierto, $Z$ y $WZ$ serían otro ejemplo de variables normales no correlacionadas pero dependientes. Aquí hay un gráfico que muestra dónde se mapean los deciles del $\chi^2_1$ original; recuerda que cualquier cosa en el lado derecho de cero es donde $W = 1$ y el lado izquierdo es $W = -1$. Ten en cuenta cómo los valores alrededor de cero se mapean desde valores bajos de $X$ y las colas (tanto los extremos izquierdo y derecho) se mapean desde los valores grandes de $X$.
Código para los gráficos (ver también esta publicación de Stack Overflow):
require(ggplot2)
delta <- 0.0001 #más pequeño para curvas más suaves pero tiempos de trazado más largos
quantiles <- 10 #10 para deciles, 4 para cuartiles, ¡juega y diviértete!
chisq.df <- data.frame(x = seq(from=0.01, to=5, by=delta))
# evitar cerca de 0 debido a pico en pdf
chisq.df$pdf <- dchisq(chisq.df$x, df=1)
chisq.df$qt <- cut(pchisq(chisq.df$x, df=1), breaks=quantiles,
labels=FALSE)
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=FALSE)
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 como función de 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()
# como un cuartil de chi-cuadrado mapea a ambas áreas izquierda y derecha,
# tener cuidado con el orden de trazado
z.df$qt2 <- cut(pchisq(z.df$x^2, df=1), breaks=quantiles,
labels=FALSE)
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")