Đó là ngôn ngữ khó hiểu. Các giá trị được báo cáo được đặt tên là giá trị z. Nhưng trong trường hợp này, họ sử dụng sai số chuẩn ước tính thay cho độ lệch thực. Do đó trong thực tế, chúng gần với giá trị t hơn . So sánh ba kết quả đầu ra sau:
1) Tóm tắt.glm
2) t-test
3) z-test
> 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
Chúng không phải là giá trị p chính xác. Một tính toán chính xác của giá trị p sử dụng phân phối nhị thức sẽ hoạt động tốt hơn (với khả năng tính toán hiện nay, đây không phải là vấn đề). Phân phối t, giả sử phân phối Gaussian của lỗi, không chính xác (nó đánh giá quá cao p, vượt quá mức alpha xảy ra ít thường xuyên hơn trong "thực tế"). Xem so sánh sau:
# 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")
Đường cong màu đen đại diện cho sự bình đẳng. Các đường cong màu đỏ là dưới nó. Điều đó có nghĩa là đối với một giá trị p được tính toán cho bởi hàm tóm tắt glm, chúng ta thấy tình huống này (hoặc chênh lệch lớn hơn) ít thường xuyên hơn trong thực tế so với giá trị p chỉ ra.
glm