Cốt truyện QQ và


7

Nếu qqplot của tôi là tuyến tính nhưng độ dốc không giống với đường 45 độ, thì điều này gợi ý gì?QQplot

Tôi đang cố gắng kiểm tra sự phù hợp của phân phối laplace với dữ liệu mẫu của mình, vì vậy tôi đã tạo ngẫu nhiên các laplace phân phối (với các tham số ước tính từ mẫu của tôi) và vẽ chúng theo mẫu của tôi:

qqplot(rand, sample)
abline(0, 1, col = 'red')

Bạn có thể vui lòng đăng một đoạn tuyệt đẹp của cốt truyện: với tiêu đề hoàn toàn có thể nhìn thấy hoặc không có gì cả. Cảm ơn trước.
Jim

@Jim Tôi đã thoát khỏi tiêu đề :)
SugarMarsh

Hơn nữa, thêm một số thông tin bổ sung, ví dụ R codebạn đã sử dụng R nào? Mục tiêu là gì? Từ chối một phân phối nhất định? Cũng kiểm tra lô mật độ và biểu đồ.
Jim

1
@byouness trả lời độc đáo. Câu trả lời ngắn gọn: các bản phân phối dường như diiffer nhân lên.
Nick Cox

2
Hiện tại có hai câu trả lời cho " Nếu qqplot của tôi là tuyến tính nhưng độ dốc không giống với đường 45 độ, thì điều này gợi ý gì? " Để có thể trả lời " Tôi đang cố gắng kiểm tra sự phù hợp của phân phối laplace với mẫu của tôi dữ liệu ... "vui lòng gửi dữ liệu của bạn (ở chế độ mã ).
Jim

Câu trả lời:


5

Do thiếu dữ liệu trong câu hỏi của bạn, tôi sử dụng phân phối gaussian so với mẫu trong câu trả lời của tôi bên dưới (thay vì phân phối Laplace so với dữ liệu mẫu của bạn).

Theo như hai khoảnh khắc đầu tiên có liên quan, việc giải thích những gì bạn nhìn thấy trong cốt truyện qq là như sau:

  • Nếu các bản phân phối giống hệt nhau, bạn mong đợi một dòng :x= =y

    x <- rnorm(1000)
    qqnorm(x)
    abline(0, 1, col = 'red')

nhập mô tả hình ảnh ở đây

  • Nếu phương tiện là khác nhau, bạn mong đợi một cuộc đánh chặn một0, có nghĩa là nó sẽ ở trên hoặc dưới đây x= =y hàng:

    x <- rnorm(1000)
    qqnorm(x + 1)
    abline(0, 1, col = 'red')

nhập mô tả hình ảnh ở đây

  • Nếu độ lệch chuẩn là khác nhau, bạn mong đợi độ dốc b1:

    x <- rnorm(1000)
    qqnorm(x * 1.5)
    abline(0, 1, col = 'red')

nhập mô tả hình ảnh ở đây

Để có được trực giác của việc này, bạn chỉ cần vẽ các CDF trong cùng một cốt truyện. Ví dụ: lấy cái cuối cùng:

lines(seq(-7, 7, by = 0.01), pnorm(seq(-7, 7, by = 0.01)), col = 'red')

Hãy lấy ví dụ 3 điểm trong trục y: CDF(q)= =0,2, 0,5, 0,8 và xem giá trị của q (quantile) cung cấp cho chúng tôi mỗi giá trị CDF.

Bạn có thể thấy rằng:

Fred-1(0,2)>FX-1(0,2) (lượng tử khoảng -1)Fred-1(0,5)= =FX-1(0,5) (lượng tử = 0)Fred-1(0,8)<FX-1(0,8) (lượng tử khoảng 1)

Đó là những gì được hiển thị bởi cốt truyện qq.

nhập mô tả hình ảnh ở đây


4

Tính tuyến tính của âm mưu QQ chỉ gợi ý rằng mẫu của bạn tuân theo phân phối bình thường (hay cụ thể hơn, đó là hàm lượng tử là hàm probit). Độ dốc được xác định bởi độ lệch chuẩn (đối với sd = 1, chúng tôi nhận được mức độ phổ biếnx= =y hàng).

Một ô hình chữ S, một cái gì đó có vẻ đối xứng qua xoay 180 độ là biểu thị của phân bố đối xứng.

Một lý do trực quan cho hình dạng là do đó; để có được một đường thẳng, bạn cần một tỷ lệ tương tự về khoảng cách của các lượng tử xung quanh giá trị trung bình. Có nghĩa là nếu nóixth quantile là một số tỷ lệ khoảng cách từ giá trị trung bình khi so sánh với ythlượng tử, tỷ lệ được bảo toàn, chỉ được bảo toàn trong trường hợp phân phối bình thường. Độ dốc biểu thị nhiều hơn về độ lớn tuyệt đối của tỷ lệ này, do đó phụ thuộc vào sd. Các hình dạng khác nhau có thể được lý giải theo một cách tương tự, bằng cách xem xét tỷ lệ này tại các địa điểm khác nhau dọc theo phân phối.

Dưới đây là một số hình ảnh trực quan.

Lưu ý: Tôi đang vẽ mẫu trên trục Y là chuẩn và tôi giả định rằng cách bạn đã vẽ đặt mẫu lên trục x.

nhập mô tả hình ảnh ở đây nhập mô tả hình ảnh ở đây nhập mô tả hình ảnh ở đây nhập mô tả hình ảnh ở đây nhập mô tả hình ảnh ở đây nhập mô tả hình ảnh ở đây

Mã R:

# Creating different distributions with mean 0
library(rmutil)
set.seed(12345)
normald<-rnorm(10000,sd=2)
normald<-(normald-mean(normald))/sd(normald)
sharperpeak<-rlaplace(10000) #using Laplace distribution
sharperpeak<-(sharperpeak-mean(sharperpeak))/sd(sharperpeak)
heavytail<-rt(10000,5) #using t-distribution
heavytail<-(heavytail-mean(heavytail))/sd(heavytail)
positiveskew<-rlnorm(10000) #using lognormal distribution
positiveskew<-(positiveskew-mean(positiveskew))/sd(positiveskew)
negativeskew<-positiveskew*(-1) #shortcut
negativeskew<-(negativeskew-mean(negativeskew))/sd(negativeskew)

library(ggplot2)
library(gridExtra)

#normal plot
p1<-ggplot(data.frame(dt=normald))+geom_density(aes(x=dt),fill='green',alpha=0.6)+xlab('Normal Distribution')+geom_vline(xintercept=quantile(normald,c(0.25,0.75),color='red',alpha=0.3))
p2<-ggplot(data.frame(dt=normald))+geom_qq(aes(sample=dt))+geom_abline(slope=1,intercept = 0)
grid.arrange(p1,p2,nrow=1)

#sharppeak plot
p1<-ggplot(data.frame(dt=sharperpeak))+geom_density(aes(x=dt),fill='green',alpha=0.6)+xlab('Sharper-peaks')+geom_vline(xintercept=quantile(sharperpeak,c(0.25,0.75),color='red',alpha=0.3))
p2<-ggplot(data.frame(dt=sharperpeak))+geom_qq(aes(sample=dt))+geom_abline(slope=1,intercept = 0)
grid.arrange(p1,p2,nrow=1)

#heaviertails plot
p1<-ggplot(data.frame(dt=heavytail))+geom_density(aes(x=dt),fill='green',alpha=0.6)+xlab('Heavy Tails')+geom_vline(xintercept=quantile(heavytail,c(0.25,0.75),color='red',alpha=0.3))
p2<-ggplot(data.frame(dt=heavytail))+geom_qq(aes(sample=dt))+geom_abline(slope=1,intercept = 0)
grid.arrange(p1,p2,nrow=1)

#positiveskew plot
p1<-ggplot(data.frame(dt=positiveskew))+geom_density(aes(x=dt),fill='green',alpha=0.6)+xlab('Positively skewed Distribution')+geom_vline(xintercept=quantile(positiveskew,c(0.25,0.75),color='red',alpha=0.3))+xlim(-1.5,5)
p2<-ggplot(data.frame(dt=positiveskew))+geom_qq(aes(sample=dt))+geom_abline(slope=1,intercept = 0)
grid.arrange(p1,p2,nrow=1)

#negative skew plot
p1<-ggplot(data.frame(dt=negativeskew))+geom_density(aes(x=dt),fill='green',alpha=0.6)+xlab('Negatively skewed Distribution')+geom_vline(xintercept=quantile(negativeskew,c(0.25,0.75),color='red',alpha=0.3))+xlim(-5,1.5)
p2<-ggplot(data.frame(dt=negativeskew))+geom_qq(aes(sample=dt))+geom_abline(slope=1,intercept = 0)
grid.arrange(p1,p2,nrow=1)

# Normal distributions with different sds
normal1<-rnorm(3000,sd=2)
normal2<-rnorm(3000,sd=4)
normal3<-rnorm(3000,sd=0.5)
normal4<-rnorm(3000,sd=0.25)
final<-c(normal1,normal2,normal3,normal4)
ggplot(data.frame(dt=final,sds=factor(rep(c('2','4','0.5','0.25'),each=3000))),aes(sample=dt,color=sds))+geom_qq()+geom_abline(slope=1,intercept=0)

vậy nó có nghĩa là mẫu của tôi có độ lệch chuẩn nhỏ hơn so với mẫu tôi ước tính?
SugarMarsh

Nếu cốt truyện bạn đã đăng có số lượng lý thuyết trên trục x, nó sẽ xuất hiện như vậy. Nhưng cốt truyện QQ chỉ là một phương pháp trực quan / gần đúng để suy ra tính quy phạm. Bạn có thể có thể chạy thử nghiệm shapiro-wilk để có ý tưởng tốt hơn.
stochastic13
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.