Một tùy chọn là khai thác thực tế là với bất kỳ biến ngẫu nhiên liên tục thì sau đó, là đồng nhất (hình chữ nhật) trên [0, 1]. Sau đó, một phép biến đổi thứ hai sử dụng CDF nghịch đảo có thể tạo ra một biến ngẫu nhiên liên tục với phân phối mong muốn - không có gì đặc biệt về chi bình phương ở mức bình thường ở đây. @Glen_b có nhiều chi tiết hơn trong câu trả lời của anh ấy.XFX(X)
Nếu bạn muốn làm điều gì đó kỳ lạ và tuyệt vời, ở giữa hai phép biến đổi đó, bạn có thể áp dụng phép biến đổi thứ ba ánh xạ các biến thống nhất trên [0, 1] sang các biến thống nhất khác trên [0, 1]. Ví dụ: hoặc cho mọi hoặc thậm chí cho và cho .u↦1−uu↦u+kmod1k∈Ru↦u+0.5u∈[0,0.5]u↦1−uu∈(0.5,1]
Nhưng nếu chúng ta muốn một phép biến đổi đơn điệu từ sang thì chúng ta cần các lượng tử tương ứng của chúng được ánh xạ với nhau. Các biểu đồ sau với các deciles bóng mờ minh họa điểm; lưu ý rằng tôi đã phải cắt bỏ màn hình hiển thị mật độ gần bằng không.X∼χ21Y∼N(0,1)χ21
Đối với phép biến đổi tăng đơn điệu, ánh xạ từ đỏ đậm sang đỏ đậm, v.v., bạn sẽ sử dụng . Đối với phép biến đổi giảm đơn điệu, ánh xạ từ đỏ đậm sang xanh đậm, v.v., bạn có thể sử dụng ánh xạ trước khi áp dụng CDF nghịch đảo, vì vậy . Đây là mối quan hệ giữa và đối với phép biến đổi ngày càng tăng, cũng cho thấy manh mối về cách các bó lượng tử cho phân bố chi bình phương ở phía bên trái!Y=Φ−1(Fχ21(X))u↦1−uY=Φ−1(1−Fχ21(X))XY
Nếu bạn muốn cứu vãn căn bậc hai biến đổi trên , một lựa chọn là sử dụng một Rademacher biến ngẫu nhiên . Phân phối Rademacher rời rạc, vớiX∼χ21W
P(W=−1)=P(W=1)=12
Nó thực chất là một Bernoulli với đã được biến đổi bằng cách kéo dài theo hệ số tỷ lệ hai sau đó trừ đi một. Bây giờ là tiêu chuẩn thông thường - thực sự chúng tôi đang quyết định ngẫu nhiên nên lấy gốc tích cực hay tiêu cực!p=12WX−−√
Đó là một chút gian lận vì nó thực sự là một sự biến đổi của chứ không phải một mình. Nhưng tôi nghĩ rằng nó đáng được đề cập vì có vẻ như trong tinh thần của câu hỏi, và một luồng các biến Rademacher đủ dễ để tạo ra. Ngẫu nhiên, và sẽ là một ví dụ khác về các biến thông thường không tương thích nhưng phụ thuộc. Đây là một biểu đồ cho thấy nơi các deciles của được ánh xạ tới; hãy nhớ rằng bất cứ điều gì ở phía bên phải của số 0 là trong đó và bên trái là . Lưu ý cách các giá trị xung quanh 0 được ánh xạ từ các giá trị thấp của và các đuôi (cả hai cực trái và phải) được ánh xạ từ các giá trị lớn của(W,X)XZWZχ21W=1W=−1XX .
Mã cho các ô ( xem thêm bài viết Stack Overflow này ):
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")