ความสัมพันธ์ระหว่างความน่าจะเป็นของโปรไฟล์และช่วงความมั่นใจคืออะไร


18

ในการทำให้แผนภูมินี้ฉันสร้างตัวอย่างสุ่มขนาดแตกต่างจากการแจกแจงแบบปกติด้วยค่าเฉลี่ย = 0 และ sd = 1 ช่วงเวลาความเชื่อมั่นถูกคำนวณโดยใช้การตัดอัลฟาตั้งแต่. 001 ถึง. 999 (เส้นสีแดง) ด้วยฟังก์ชั่น t.test () ความน่าจะเป็นของโปรไฟล์ถูกคำนวณโดยใช้รหัสด้านล่างซึ่งฉันพบในบันทึกการบรรยายที่ใส่ไว้ในบรรทัด ไม่พบลิงค์ในขณะนี้แก้ไข: พบเลย ) นี่จะแสดงเป็นเส้นสีฟ้า เส้นสีเขียวแสดงความหนาแน่นปกติโดยใช้ฟังก์ชั่นความหนาแน่น R () และข้อมูลจะแสดงโดยกล่องสี่เหลี่ยมที่ด้านล่างของแต่ละแผนภูมิ ด้านขวาเป็นโครงเรื่องของช่วงความเชื่อมั่น 95% (สีแดง) และ 1/20 ของช่วงเวลาความน่าจะเป็นสูงสุด (สีน้ำเงิน)

รหัส R ที่ใช้สำหรับความเป็นไปได้ของโปรไฟล์:

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

ป้อนคำอธิบายรูปภาพที่นี่

คำถามเฉพาะของฉันคือว่ามีความสัมพันธ์ที่รู้จักกันระหว่างช่วงเวลาสองประเภทนี้หรือไม่และเหตุใดช่วงความเชื่อมั่นจึงดูเหมือนว่าจะอนุรักษ์มากกว่าทุกกรณียกเว้นเมื่อ n = 3 ความคิดเห็น / คำตอบเกี่ยวกับว่าการคำนวณของฉันถูกต้องหรือไม่ (และเป็นวิธีที่ดีกว่าในการทำเช่นนี้) และความสัมพันธ์ทั่วไประหว่างช่วงเวลาสองประเภทนี้เป็นที่ต้องการเช่นกัน

รหัส 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)

ในตัวคุณบรรยายบันทึกmnเป็น typo สำหรับและไม่mu mean(dat)ดังที่ฉันบอกคุณในความคิดเห็นสำหรับคำถามอื่นของคุณนี่ควรชัดเจนจากคำจำกัดความหน้า 23
Elvis

@ Elvis ฉันไม่คิดอย่างนั้น mn ถูกกำหนดในหน้า 18 ของบันทึก
กระติกน้ำ

ฉันพยายามอธิบายแนวคิดเรื่องความเป็นไปได้ของโปรไฟล์ คุณสามารถแสดงความคิดเห็นเพิ่มเติมเกี่ยวกับสิ่งที่คุณทำในรหัสข้างต้นได้หรือไม่?
Elvis

3
@Elvis ฉันไม่เข้าใจ ควรสร้างช่วงความเชื่อมั่นที่ขึ้นอยู่กับความเป็นไปได้ของโปรไฟล์ด้วยความช่วยเหลือของเปอร์เซ็นไทล์ 2ซึ่งไม่ปรากฏที่ใดเลย χ2
Stéphane Laurent

1
@ StéphaneLaurentผมไม่แน่ใจว่ารหัสเดิมคือการให้ความเชื่อมั่น ค่อนข้างช่วงโอกาสสูงสุด 1/20 ฉันเชื่อว่าชื่อสำหรับช่วงความเชื่อมั่นในแผนของฉันคือช่วงความเชื่อมั่น "wald-type" และเส้นสีแดงบนพล็อตคือ "เส้นโค้งความเชื่อมั่น" ที่อธิบายไว้ในหน้าวิกิพีเดียนี้
Flask

คำตอบ:


10

ฉันจะไม่ให้คำตอบที่สมบูรณ์ (ฉันมีความยากลำบากในการพยายามทำความเข้าใจกับสิ่งที่คุณกำลังทำ) แต่ฉันจะพยายามอธิบายให้ชัดเจนว่ามีการสร้างโปรไฟล์อย่างไร ฉันอาจทำคำตอบให้เสร็จในภายหลัง

ความน่าจะเป็นเต็มรูปแบบสำหรับตัวอย่างปกติของขนาดคือ L ( μ , σ 2 ) = ( σ 2 ) - n / 2ประสบการณ์( - Σผม ( x ฉัน - μ ) 2 / 2n

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

หากเป็นพารามิเตอร์ที่คุณสนใจและσ 2เป็นพารามิเตอร์ที่สร้างความรำคาญวิธีแก้ปัญหาที่ใช้อนุมานเฉพาะในμคือการกำหนดโปรไฟล์ความน่าจะเป็น L P (μσ2μ โดยที่ ^ σ 2 ( μ )คือ MLE สำหรับ μคงที่: ^ σ 2 ( μ ) = argmax σ 2 L ( μ ,

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")

ความเป็นไปได้ของโปรไฟล์

เชื่อมโยงกับโอกาสที่ฉันจะพยายามเน้นการเชื่อมโยงที่มีโอกาสกับกราฟต่อไปนี้

ก่อนกำหนดโอกาส:

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

จากนั้นทำพล็อตรูปร่าง:

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)

โครงร่างของ L

ค่าความน่าจะเป็นของโพรไฟล์คือค่าที่ได้จากความน่าจะเป็นตามพาราโบลาสีแดง

μ^

σ2^(μ)

นอกจากนี้คุณยังสามารถใช้โปรไฟล์ความน่าจะเป็นเพื่อสร้างแบบทดสอบคะแนนตัวอย่างเช่น


mu ในโค้ดเป็นลำดับของค่าจากต่ำไปสูงความน่าจะเป็นที่แต่ละค่าเหล่านี้จะถูกแบ่งโดยโอกาสที่ค่าเฉลี่ยตัวอย่าง (mn) ดังนั้นจึงเป็นโอกาสปกติ
ขวด

ฉันคิดว่านี่เป็นสิ่งเดียวกัน แต่ไม่ปรับมาตรฐาน คุณสามารถใส่ไว้ในรหัส R หรือทำหน้าที่ของฟังก์ชั่นสำหรับข้อมูลบางอย่างเพื่อให้เราเปรียบเทียบได้หรือไม่?
กระติกน้ำ

นี่มันคือ ตอนแรกฉันคิดว่าmnเป็นตัวพิมพ์ผิดตอนนี้ฉันคิดว่ารหัส R ผิดทั้งหมด ฉันจะตรวจสอบอีกครั้งในวันพรุ่งนี้ - ฉันจะสายอยู่
Elvis

คุณอาจจะถูก ฉันไม่เข้าใจวิธีการจัดการรหัสเพื่อทำให้ปกติ โอ้ฉันเข้าใจแล้ว "การปรับสภาพ" เป็นเพียงการหารด้วยจำนวนสูงสุด?
Elvis

1
ฉันคิดว่าการทำให้เป็นเรื่องง่ายที่จะเห็นเมื่ออัตราส่วนความน่าจะเป็นน้อยกว่าขีด จำกัด บางอย่าง (เช่นสูงสุด 1 / 20th) ที่สมมติฐานว่าง (เช่นศูนย์)
กระติกน้ำ

7

χk2กระจาย ความคิดประกอบด้วยการคว่ำการทดสอบสมมติฐานที่ได้จากสถิติอัตราส่วนความน่าจะเป็น

0.14795%

เหล่านี้เป็นผลลัพธ์ที่คลาสสิกและดังนั้นฉันจะให้อ้างอิงบางอย่างเกี่ยวกับเรื่องนี้:

http://www.jstor.org/stable/2347496

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

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

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

http://en.wikipedia.org/wiki/Likelihood_function#Profile_likelihood

รหัส R ต่อไปนี้แสดงให้เห็นว่าแม้สำหรับตัวอย่างขนาดเล็กช่วงเวลาที่ได้รับจากทั้งสองวิธีนั้นคล้ายคลึงกัน (ฉันกำลังใช้ตัวอย่าง Elvis อีกครั้ง):

โปรดทราบว่าคุณต้องใช้ความเป็นไปได้ของโปรไฟล์ปกติ

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

หากเราใช้ขนาดตัวอย่างที่มีขนาดใหญ่ขึ้นช่วงความเชื่อมั่นจะใกล้เคียงยิ่งขึ้น:

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

จุดสำคัญ:

โปรดทราบว่าสำหรับตัวอย่างที่เฉพาะเจาะจงช่วงความเชื่อมั่นที่แตกต่างกันอาจแตกต่างกันในแง่ของความยาวหรือสถานที่สิ่งที่สำคัญคือความครอบคลุม ในระยะยาวพวกเขาทุกคนควรให้ความคุ้มครองแบบเดียวกันโดยอิสระกับความแตกต่างของตัวอย่างที่เฉพาะเจาะจง


@Prokoflev หากมีความสัมพันธ์ง่ายๆระหว่างช่วงความเชื่อมั่นที่คำนวณด้วยฟังก์ชัน R t.test () และจากการคำนวณโดยรหัสฟังก์ชันโอกาสในการทำงานข้างต้นคุณสามารถโพสต์ได้ ฉันสนใจเป็นพิเศษในคดี n = 3 โชคไม่ดีที่ฉันมีพื้นฐานด้านคณิตศาสตร์เล็กน้อยกระดาษจำนวนมากพาฉันไปที่ช่องกระต่ายเพื่อค้นหาชื่อของสัญลักษณ์และสิ่งที่พวกเขาเป็นตัวแทน ฯลฯ เมื่อโค้ดไม่กี่บรรทัด (ง่ายที่สุดคือ R) สามารถอธิบายให้ฉันฟังได้
Flask

@Flask คุณสนใจที่จะรับช่วงความเชื่อมั่นสำหรับพารามิเตอร์ของการแจกแจงแบบปกติหรือเป็นกรอบทั่วไปมากขึ้นหรือไม่?
Prokofiev

@Prokoflev เฉพาะสำหรับค่าเฉลี่ยของการแจกแจงแบบปกติตามที่แสดงในตัวอย่างของฉันในคำถาม ฉันสงสัยโดยเฉพาะอย่างยิ่งว่าทำไมช่วงเวลาของความมั่นใจจึงอนุรักษ์มากกว่ายกเว้นในกรณี n = 3
ขวด

95%

1
ผมเริ่มที่จะเชื่อว่าฉันควรจะคูณช่วงโอกาสโดย quantile ของทั้งกระจายปกติหรือค่าไคสแควที่จะได้รับความเชื่อมั่นที่สอดคล้องกันบางอย่าง ..
กระติกน้ำ

1

ฉันจะไม่ให้คำตอบทางคณิตศาสตร์มากเกินไป แต่ฉันอยากจะตอบคำถามสำคัญของคุณเกี่ยวกับความสัมพันธ์ระหว่างช่วงเวลาที่เป็นไปได้ของโปรไฟล์และ CI ในขณะที่ผู้ตอบแบบสอบถามคนอื่น ๆ ชี้ให้เห็นว่า CI สามารถสร้างได้จากความน่าจะเป็นของโปรไฟล์โดยใช้χ2nโอRม.aล.ผมZอีd

  1. ประวัติความเป็นไปได้ของแฟ้มบันทึกคือประมาณกำลังสอง
  2. มีการแปลงพารามิเตอร์ที่ทำให้โปรไฟล์ความน่าจะเป็นบันทึกประมาณกำลังสอง

สมการกำลังสองมีความสำคัญเนื่องจากมันกำหนดการกระจายแบบปกติในสเกลล็อก ยิ่งมีกำลังสองมากเท่าไหร่การประมาณและ CIs ที่ดีขึ้นก็จะยิ่งดีขึ้นเท่านั้น ทางเลือกของคุณในการตัด 1 / 20th สำหรับช่วงเวลาความน่าจะเป็นเท่ากับ 95% CI ในขีด จำกัด ของซีมโทติคซึ่งเป็นสาเหตุที่ช่วงสีฟ้ามักจะยาวกว่าสีแดง

ขณะนี้มีปัญหาอื่นที่มีความเป็นไปได้ของโปรไฟล์ที่ต้องการความสนใจ หากคุณมีตัวแปรจำนวนมากที่คุณทำโปรไฟล์หากจำนวนจุดข้อมูลต่อมิติต่ำโปรไฟล์ความน่าจะเป็นของโปรไฟล์อาจมีอคติและมองโลกในแง่ดี ความน่าจะเป็นของโปรไฟล์แบบมีเงื่อนไขเงื่อนไขและปรับเปลี่ยนจะถูกนำมาใช้เพื่อลดอคตินี้

ดังนั้นคำตอบสำหรับคำถามของคุณคือใช่ ... การเชื่อมต่อเป็นค่านิยมเชิงเส้นกำกับของตัวประมาณความเป็นไปได้สูงสุดมากที่สุดดังที่ปรากฏในการแจกแจงไคสแควร์ของอัตราส่วนความน่าจะเป็น


" ถ้าคุณมีตัวแปรมากมายที่คุณทำโปรไฟล์ถ้าจำนวนจุดข้อมูลต่อมิติต่ำความเป็นไปได้ที่โปรไฟล์จะมีอคติและมองโลกในแง่ดี " มองโลกในแง่ดีเมื่อเทียบกับอะไร
กระติกน้ำ

@Flask โดยแง่ดีฉันหมายความว่ามันจะแคบเกินไปที่จะให้ความน่าจะเป็นความครอบคลุมเล็กน้อยเมื่อถือเป็นช่วงความมั่นใจ

ฉันเห็นขอบคุณ แต่ในกรณีเฉพาะของฉันมันเป็นแง่ร้ายจริงหรือ ฉันสับสนในจุดนี้ว่าเรากำลังพูดถึงช่วงเวลาที่น่าจะเป็นหรือช่วงความมั่นใจที่ได้มาจากความน่าจะเป็น
กระติกน้ำ

@Flask ฉันคิดว่าคุณมีช่วงเวลาที่มองโลกในแง่ร้ายเพราะคุณกำลังเปรียบเทียบช่วงเวลาที่น่าจะเป็น 1/20 (โอกาสที่สัมพันธ์กัน 5%) กับ 95% CI ตามที่คนอื่น ๆ ระบุไว้ที่นี่คุณต้องการเปรียบเทียบกับช่วงเวลาที่น่าจะเป็น 15% เพื่อให้แอปเปิ้ลกับแอปเปิ้ล ... อย่างน้อยแสดงอาการ ช่วงเวลาที่น่าจะเป็นของคุณในขณะที่มันกำลังพิจารณาตัวเลือกเพิ่มเติมเป็นที่น่ารำคาญ

ฉันมีรายละเอียดปัญหาที่เกิดขึ้นจริงที่ฉันปรารถนาที่จะใช้สิ่งที่ฉันเรียนรู้ที่จะอยู่ที่นี่ ฉันกังวลว่าในกรณีที่การกระจายตัวตัวอย่างไม่เป็นที่รู้จัก (แต่อาจไม่ปกติ) และซับซ้อนที่ข้อกำหนดสองข้อของคุณอาจไม่ถือ แต่ความน่าจะเป็นของโพรไฟล์ที่ฉันคำนวณดูเหมือนจะเป็นเรื่องปกติและสมเหตุสมผล มันคือการกระจายตัวตัวอย่างของค่าเฉลี่ยควรกระจายตามปกติหรือไม่
ขวด
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.