Mối quan hệ giữa khả năng hồ sơ và khoảng tin cậy là gì?


18

Để tạo biểu đồ này, tôi đã tạo các mẫu ngẫu nhiên có kích thước khác nhau từ một phân phối bình thường với mean = 0 và sd = 1. Khoảng tin cậy sau đó được tính bằng cách sử dụng các mức cắt alpha từ 0,001 đến 0,999 (dòng màu đỏ) với hàm t.test (), khả năng hồ sơ được tính bằng mã bên dưới mà tôi tìm thấy trong các ghi chú bài giảng được đặt trên dòng (tôi có thể ' Không tìm thấy liên kết tại thời điểm Chỉnh sửa: Tìm thấy nó ), điều này được hiển thị bằng các dòng màu xanh. Các đường màu xanh lá cây hiển thị mật độ chuẩn hóa bằng hàm mật độ R () và dữ liệu được hiển thị bằng các ô vuông ở cuối mỗi biểu đồ. Bên phải là một biểu đồ sâu bướm của khoảng tin cậy 95% (màu đỏ) và 1/20 của khoảng khả năng tối đa (màu xanh).

Mã R được sử dụng cho khả năng hồ sơ:

  #mn=mean(dat)
  muVals <- seq(low,high, length = 1000)
  likVals <- sapply(muVals,
                    function(mu){
                      (sum((dat - mu)^2) /
                         sum((dat - mn)^2)) ^ (-n/2)
                    }
  )

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

Câu hỏi cụ thể của tôi là liệu có mối quan hệ đã biết giữa hai loại khoảng này hay không và tại sao khoảng tin cậy có vẻ bảo thủ hơn cho tất cả các trường hợp ngoại trừ khi n = 3. Nhận xét / câu trả lời về việc liệu các tính toán của tôi có hợp lệ không (và cách tốt hơn để làm điều này) và mối quan hệ chung giữa hai loại khoảng này cũng được mong muốn.

Mã R:

samp.size=c(3,4,5,10,20,1000)
cnt2<-1
ints=matrix(nrow=length(samp.size),ncol=4)
layout(matrix(c(1,2,7,3,4,7,5,6,7),nrow=3,ncol=3, byrow=T))
par(mar=c(5.1,4.1,4.1,4.1))
for(j in samp.size){


  #set.seed(200)
  dat<-rnorm(j,0,1)
  vals<-seq(.001,.999, by=.001)
  cis<-matrix(nrow=length(vals),ncol=3)
  cnt<-1
  for(ci in vals){
    x<-t.test(dat,conf.level=ci)$conf.int[1:2]
    cis[cnt,]<-cbind(ci,x[1],x[2])
    cnt<-cnt+1
  }


  mn=mean(dat)
  n=length(dat)
  high<-max(c(dat,cis[970,3]), na.rm=T)
  low<-min(c(dat,cis[970,2]), na.rm=T)
  #high<-max(abs(c(dat,cis[970,2],cis[970,3])), na.rm=T)
  #low<--high


  muVals <- seq(low,high, length = 1000)
  likVals <- sapply(muVals,
                    function(mu){
                      (sum((dat - mu)^2) /
                         sum((dat - mn)^2)) ^ (-n/2)
                    }
  )


  plot(muVals, likVals, type = "l", lwd=3, col="Blue", xlim=c(low,high),
       ylim=c(-.1,1), ylab="Likelihood/Alpha", xlab="Values",
       main=c(paste("n=",n), 
              "True Mean=0 True sd=1", 
              paste("Sample Mean=", round(mn,2), "Sample sd=", round(sd(dat),2)))
  )
  axis(side=4,at=seq(0,1,length=6),
       labels=round(seq(0,max(density(dat)$y),length=6),2))
  mtext(4, text="Density", line=2.2,cex=.8)

  lines(density(dat)$x,density(dat)$y/max(density(dat)$y), lwd=2, col="Green")
  lines(range(muVals[likVals>1/20]), c(1/20,1/20), col="Blue", lwd=4)
  lines(cis[,2],1-cis[,1], lwd=3, col="Red")
  lines(cis[,3],1-cis[,1], lwd=3, col="Red")
  lines(cis[which(round(cis[,1],3)==.95),2:3],rep(.05,2), 
        lty=3, lwd=4, col="Red")
  abline(v=mn, lty=2, lwd=2)
  #abline(h=.05, lty=3, lwd=4, col="Red")
  abline(h=0, lty=1, lwd=3)
  abline(v=0, lty=3, lwd=1)

  boxplot(dat,at=-.1,add=T, horizontal=T, boxwex=.1, col="Green")
  stripchart(dat,at=-.1,add=T, pch=16, cex=1.1)

  legend("topleft", legend=c("Likelihood"," Confidence Interval", "Sample Density"),
         col=c("Blue","Red", "Green"), lwd=3,bty="n")

  ints[cnt2,]<-cbind(range(muVals[likVals>1/20])[1],range(muVals[likVals>1/20])[2],
                     cis[which(round(cis[,1],3)==.95),2],cis[which(round(cis[,1],3)==.95),3])
  cnt2<-cnt2+1
}
par(mar=c(5.1,4.1,4.1,2.1))


plot(0,0, type="n", ylim=c(1,nrow(ints)+.5), xlim=c(min(ints),max(ints)), 
     yaxt="n", ylab="Sample Size", xlab="Values")
for(i in 1:nrow(ints)){
  segments(ints[i,1],i+.2,ints[i,2],i+.2, lwd=3, col="Blue")
  segments(ints[i,3],i+.3,ints[i,4],i+.3, lwd=3, col="Red")
}
axis(side=2, at=seq(1.25,nrow(ints)+.25,by=1), samp.size)

Trong bài giảng của bạn, mnlà một lỗi đánh máy mu, và không mean(dat). Như tôi đã nói với bạn trong các bình luận cho câu hỏi khác của bạn , điều này cần được làm rõ từ trang định nghĩa 23.
Elvis

@Elvis Tôi không nghĩ vậy. mn được định nghĩa trên trang 18 của ghi chú.
Flask

Tôi đã cố gắng làm rõ khái niệm về khả năng hồ sơ. Bạn có thể bình luận thêm một chút về những gì bạn đang làm trong đoạn mã trên không?
Elvis

3
@Elvis Tôi cũng không hiểu. Một khoảng tin cậy dựa trên khả năng hồ sơ nên được xây dựng với sự trợ giúp của phần trăm, không xuất hiện ở đâu. χ2
Stéphane Laurent

1
@ StéphaneLaurent Tôi không chắc chắn mã gốc được cung cấp khoảng tin cậy. Thay vào đó là khoảng thời gian tối đa 1/20. Tôi tin rằng tên của các khoảng tin cậy trong âm mưu của tôi là các khoảng tin cậy "kiểu wald" và các đường màu đỏ trên các ô là "đường cong tin cậy" được mô tả trên trang wikipedia này
Flask

Câu trả lời:


10

Tôi sẽ không đưa ra một câu trả lời hoàn chỉnh (tôi có một thời gian khó khăn để cố gắng hiểu chính xác những gì bạn đang làm), nhưng tôi sẽ cố gắng làm rõ cách khả năng hồ sơ được xây dựng. Tôi có thể hoàn thành câu trả lời của tôi sau.

Khả năng đầy đủ cho một mẫu bình thường kích thước L ( μ , σ 2 ) = ( σ 2 ) - n / 2 exp ( - Σ i ( x i - μ ) 2 / 2 σ 2 ) .n

L(μ,σ2)=(σ2)n/2exp(i(xiμ)2/2σ2).

μσ2μ

LP(μ)= =L(μ,σ2^(μ))
σ2^(μ)μ
σ2^(μ)=argmaxσ2L(μ,σ2).

σ2^(μ)=1nk(xkμ)2.

LP(μ)=(1nk(xkμ)2)n/2exp(n/2).

exp(n/2)

> data(sleep)
> difference <- sleep$extra[11:20]-sleep$extra[1:10]
> Lp <- function(mu, x) {n <- length(x); mean( (x-mu)**2 )**(-n/2) }
> mu <- seq(0,3, length=501)
> plot(mu, sapply(mu, Lp, x = difference), type="l")

khả năng hồ sơ

Liên kết với khả năng tôi sẽ cố gắng làm nổi bật liên kết với khả năng với biểu đồ sau.

Đầu tiên xác định khả năng:

L <- function(mu,s2,x) {n <- length(x); s2**(-n/2)*exp( -sum((x-mu)**2)/2/s2 )}

Sau đó thực hiện một đường viền:

sigma <- seq(0.5,4, length=501)
mu <- seq(0,3, length=501)

z <- matrix( nrow=length(mu), ncol=length(sigma))
for(i in 1:length(mu))
  for(j in 1:length(sigma))
    z[i,j] <- L(mu[i], sigma[j], difference)

# shorter version
# z <- outer(mu, sigma, Vectorize(function(a,b) L(a,b,difference)))

contour(mu, sigma, z, levels=c(1e-10,1e-6,2e-5,1e-4,2e-4,4e-4,6e-4,8e-4,1e-3,1.2e-3,1.4e-3))

σ2^(μ)

hats2mu <- sapply(mu, function(mu0) mean( (difference-mu0)**2 ))
lines(mu, hats2mu, col="red", lwd=2)

đường viền của L

Các giá trị của khả năng hồ sơ là các giá trị được lấy theo khả năng dọc theo parabola đỏ.

μ^

σ2^(μ)

Bạn cũng có thể sử dụng khả năng hồ sơ để xây dựng các bài kiểm tra điểm, ví dụ.


mu trong mã là một chuỗi các giá trị từ thấp đến cao, khả năng tại mỗi giá trị này sẽ được chia cho khả năng tại giá trị trung bình mẫu (mn). Vì vậy, nó là một khả năng bình thường hóa.
Flask

Tôi nghĩ rằng đây là điều tương tự nhưng không được bình thường hóa. Bạn có thể đặt nó trong mã R hay nói cách khác là vẽ hàm cho một số dữ liệu để chúng ta có thể so sánh?
Flask

Nó đây rồi Lúc đầu tôi nghĩ mnlà một lỗi đánh máy, bây giờ tôi nghĩ mã R là sai. Tôi sẽ kiểm tra lại vào ngày mai - tôi đã đến trễ.
Elvis

Bạn có thể đúng. Tôi không hiểu làm thế nào mã quản lý để bình thường hóa nó. Ồ, tôi hiểu rồi, "bình thường hóa" chỉ chia cho mức tối đa?
Elvis

1
Tôi nghĩ rằng nó là để làm cho nó dễ dàng nhìn thấy khi tỷ lệ khả năng nhỏ hơn một số ngưỡng (ví dụ: tối đa 1/20) ở một số giả thuyết không (ví dụ bằng 0).
Flask

7

χk2

0.14795%

Đây là những kết quả cổ điển và do đó tôi chỉ đơn giản sẽ cung cấp một số tài liệu tham khảo về điều này:

http://www.jstor.org/ sóng / 2347496

http://www.stata-journal.com/sjpdf.html?articlenum=st0132

http://www.unc.edu/cifts/2010fall/ecol/563/001/docs/lectures/lecture11.htm

http://en.wikipedia.org/wiki/Likabilities-ratio_test

http://en.wikipedia.org/wiki/Likabilities_feft#Profile_likabilities

Mã R sau đây cho thấy, ngay cả đối với các mẫu nhỏ, các khoảng thu được với cả hai cách tiếp cận đều tương tự nhau (tôi đang sử dụng lại ví dụ Elvis):

Lưu ý rằng bạn phải sử dụng khả năng hồ sơ chuẩn hóa.

data(sleep)
x <- sleep$extra[11:20]-sleep$extra[1:10]
n <- length(x)
Rp <- function(mu) {mean( (x-mean(x))^2 )^(n/2)/mean( (x-mu)^2 )^(n/2) }
Rp(mean(x))

mu <- seq(0,3, length=501)
plot(mu, sapply(mu, Rp), type="l")


Rpt<- function(mu) Rp(mu)-0.147 # Just an instrumental function

# Likelihood-confidence interval of 95% level

c(uniroot(Rpt,c(0.5,1.5))$root,uniroot(Rpt,c(1.51,3))$root)

# t confidence interval

t.test(x,conf.level=0.95)$conf.int

Nếu chúng ta sử dụng cỡ mẫu lớn hơn, khoảng tin cậy thậm chí còn gần hơn:

set.seed(123)
x <- rnorm(100)
n <- length(x)
Rp <- function(mu) {mean( (x-mean(x))^2 )^(n/2)/mean( (x-mu)^2 )^(n/2) }
Rp(mean(x))

mu <- seq(-0.5,0.5, length=501)
plot(mu, sapply(mu, Rp), type="l")


Rpt<- function(mu) Rp(mu)-0.147 # Just an instrumental function

# Likelihood-confidence interval of 95% level

c(uniroot(Rpt,c(-0.4,0))$root,uniroot(Rpt,c(0,0.4))$root)

# t confidence interval

t.test(x,conf.level=0.95)$conf.int

MỘT ĐIỂM QUAN TRỌNG:

Lưu ý rằng đối với các mẫu cụ thể, các loại khoảng tin cậy khác nhau có thể khác nhau về độ dài hoặc vị trí của chúng, điều thực sự quan trọng là phạm vi bảo hiểm của chúng. Về lâu dài, tất cả chúng nên cung cấp cùng một phạm vi bảo hiểm, độc lập với mức độ khác nhau của chúng đối với các mẫu cụ thể.


@Prokoflev nếu có một số mối quan hệ đơn giản giữa các khoảng tin cậy được tính toán với hàm R t.test () và bởi các hàm được tính theo mã hàm khả năng ở trên, bạn có thể đăng nó không. Tôi đặc biệt quan tâm đến trường hợp n = 3. Thật không may, tôi có ít kiến ​​thức về toán học nên nhiều bài báo dẫn tôi xuống hố thỏ tìm tên các ký hiệu và những gì chúng thể hiện, v.v. khi một vài dòng mã (dễ nhất là R) có thể giải thích cho tôi.
Flask

@Flask Bạn có muốn có được khoảng tin cậy cho các tham số của phân phối bình thường hoặc khung tổng quát hơn không?
Prokofiev

@Prokoflev đặc biệt cho ý nghĩa của phân phối bình thường như trong ví dụ của tôi trong câu hỏi. Tôi đặc biệt tự hỏi tại sao khoảng tin cậy lại bảo thủ hơn ngoại trừ trong trường hợp n = 3.
Flask

95%

1
Tôi bắt đầu tin rằng tôi nên nhân các khoảng khả năng với một số lượng tử của phân phối bình thường hoặc chisapes để có được khoảng tin cậy tương ứng ..
Flask

1

χ2normmộttôiTôized

  1. Khả năng đăng nhập hồ sơ là xấp xỉ bậc hai
  2. Tồn tại một biến đổi tham số làm cho khả năng đăng nhập hồ sơ xấp xỉ bậc hai.

Phương trình bậc hai rất quan trọng vì nó xác định phân phối chuẩn trong quy mô log. Càng nhiều bậc hai, phép tính gần đúng và kết quả của các TCTD càng tốt. Sự lựa chọn của bạn về mức cắt 1/20 cho các khoảng khả năng tương đương với hơn 95% CI trong giới hạn tiệm cận, vì vậy tại sao các khoảng màu xanh thường dài hơn các khoảng màu đỏ.

Bây giờ, có một vấn đề khác với khả năng hồ sơ cần được chú ý. Nếu bạn có nhiều biến số mà bạn đang định hình, thì nếu số lượng điểm dữ liệu trên mỗi thứ nguyên thấp, khả năng hồ sơ có thể rất sai lệch và lạc quan. Các khả năng hồ sơ cận biên, có điều kiện và sửa đổi sau đó được sử dụng để làm giảm sự thiên vị này.

Vì vậy, câu trả lời cho câu hỏi của bạn là CÓ ... kết nối là sự bình thường tiệm cận của hầu hết các ước tính khả năng tối đa, như được biểu hiện trong phân phối chi bình phương của tỷ lệ khả năng.


" Nếu bạn có rất nhiều biến số mà bạn đang định hình, thì nếu số lượng điểm dữ liệu trên mỗi thứ nguyên thấp, khả năng hồ sơ có thể rất sai lệch và lạc quan " Lạc quan so với cái gì?
Flask

@Flask Theo lạc quan, ý tôi là nó sẽ quá hẹp để cung cấp xác suất bảo hiểm danh nghĩa khi coi nó là khoảng tin cậy.

Tôi thấy, cảm ơn, nhưng trong trường hợp cụ thể của tôi nó thực sự bi quan? Tôi bối rối về điểm này là liệu chúng ta đang nói về khoảng khả năng hay khoảng tin cậy xuất phát từ khả năng.
Flask

@Flask Tôi nghĩ rằng các khoảng thời gian của bạn có vẻ bi quan vì bạn đang so sánh khoảng khả năng 1/20 (khả năng tương đối 5%) với CI 95%. Như đã nói bởi những người khác ở đây, bạn thực sự muốn so sánh nó với khoảng 15% khả năng tương đối để có táo với táo ... ít nhất là không có triệu chứng. Khoảng khả năng của bạn khi nó đứng đang xem xét nhiều lựa chọn hơn như là hợp pháp.

Tôi đã nêu chi tiết vấn đề thực tế mà tôi muốn áp dụng những gì tôi đang học ở đây . Tôi lo lắng rằng trong trường hợp phân phối lấy mẫu không xác định (nhưng có lẽ không bình thường) và phức tạp mà hai yêu cầu của bạn có thể không giữ được. Tuy nhiên, khả năng hồ sơ tôi tính toán dường như là bình thường và hợp lý. Có phải là phân phối lấy mẫu của giá trị trung bình nên được phân phối bình thường?
Flask
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.