এটি বিভ্রান্তিকর ভাষা। রিপোর্ট করা মানগুলির নাম দেওয়া হয়েছে জেড-মান। তবে এক্ষেত্রে তারা সত্য বিচ্যুতির জায়গায় আনুমানিক স্ট্যান্ডার্ড ত্রুটি ব্যবহার করে । সুতরাং বাস্তবে তারা টি-মানগুলির কাছাকাছি । নিম্নলিখিত তিনটি আউটপুট তুলনা করুন:
1) সারাংশ.glm
2) টি-পরীক্ষা
3) জেড-পরীক্ষা
> set.seed(1)
> x = rbinom(100, 1, .7)
> coef1 <- summary(glm(x ~ 1, offset=rep(qlogis(0.7),length(x)), family = "binomial"))$coefficients
> coef2 <- summary(glm(x ~ 1, family = "binomial"))$coefficients
> coef1[4] # output from summary.glm
[1] 0.6626359
> 2*pt(-abs((qlogis(0.7)-coef2[1])/coef2[2]),99,ncp=0) # manual t-test
[1] 0.6635858
> 2*pnorm(-abs((qlogis(0.7)-coef2[1])/coef2[2]),0,1) # manual z-test
[1] 0.6626359
এগুলি সঠিক পি-মান নয়। দ্বি দ্বি বিতরণ ব্যবহার করে পি-মানটির সঠিক গণনা আরও ভাল কাজ করবে (আজকাল কম্পিউটিং পাওয়ার সাথে, এটি কোনও সমস্যা নয়)। টি-বিতরণ, ত্রুটির কোনও গাউসীয় বিতরণ ধরে নেওয়া সঠিক নয় (এটি পি-এর চেয়ে বেশি বোঝায়, আলফা স্তরকে অতিক্রম করে "বাস্তবতায়" কম দেখা যায়)। নিম্নলিখিত তুলনা দেখুন:
# trying all 100 possible outcomes if the true value is p=0.7
px <- dbinom(0:100,100,0.7)
p_model = rep(0,101)
for (i in 0:100) {
xi = c(rep(1,i),rep(0,100-i))
model = glm(xi ~ 1, offset=rep(qlogis(0.7),100), family="binomial")
p_model[i+1] = 1-summary(model)$coefficients[4]
}
# plotting cumulative distribution of outcomes
outcomes <- p_model[order(p_model)]
cdf <- cumsum(px[order(p_model)])
plot(1-outcomes,1-cdf,
ylab="cumulative probability",
xlab= "calculated glm p-value",
xlim=c(10^-4,1),ylim=c(10^-4,1),col=2,cex=0.5,log="xy")
lines(c(0.00001,1),c(0.00001,1))
for (i in 1:100) {
lines(1-c(outcomes[i],outcomes[i+1]),1-c(cdf[i+1],cdf[i+1]),col=2)
# lines(1-c(outcomes[i],outcomes[i]),1-c(cdf[i],cdf[i+1]),col=2)
}
title("probability for rejection as function of set alpha level")
কালো বাঁক সমতা প্রতিনিধিত্ব করে। লাল বক্ররেখার নীচে এটি। এর অর্থ হ'ল গ্ল্যাম সংক্ষিপ্তসার ফাংশন দ্বারা প্রদত্ত গণনা করা পি-মানের জন্য, আমরা এই পরিস্থিতিটি (বা বৃহত্তর পার্থক্য) পি-মান নির্দেশের চেয়ে বাস্তবে কম দেখি।
glm