ในการทำให้แผนภูมินี้ฉันสร้างตัวอย่างสุ่มขนาดแตกต่างจากการแจกแจงแบบปกติด้วยค่าเฉลี่ย = 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