ควรใช้การแก้ไของศาอิสระเพื่ออนุมานพารามิเตอร์ GLM หรือไม่?


11

คำถามนี้เป็นคำถามแรงบันดาลใจจากคำตอบ Martijn ของที่นี่

สมมติว่าเราเหมาะกับ GLM สำหรับหนึ่งพารามิเตอร์ตระกูลเช่นแบบทวินามหรือปัวซองและเป็นขั้นตอนที่น่าจะเป็นแบบเต็ม (ตรงข้ามกับ quasipoisson) จากนั้นความแปรปรวนเป็นฟังก์ชันของค่าเฉลี่ย ด้วยทวินาม:และ Poisson[X]var[X]=E[X]E[1X]var[X]=E[X]

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

เช่นเดียวกับการถดถอยเชิงเส้นสัมประสิทธิ์มีการแจกแจงปกติแบบซีมโทติคและในการอนุมานตัวอย่าง จำกัด เราสามารถประมาณการกระจายตัวตัวอย่างด้วยเส้นโค้งปกติ

คำถามของฉันคือ: เราได้อะไรจากการประมาณค่าการแจกแจงแบบ T กับการกระจายตัวตัวอย่างของสัมประสิทธิ์ในตัวอย่าง จำกัด หรือไม่? ในอีกด้านหนึ่งเรารู้ความแปรปรวน แต่เราไม่ทราบการกระจายที่แน่นอนดังนั้นการประมาณ T ดูเหมือนจะเป็นทางเลือกที่ผิดเมื่อตัวประมาณ bootstrap หรือ jackknife สามารถอธิบายความคลาดเคลื่อนเหล่านี้ได้อย่างเหมาะสม ในทางกลับกันบางทีความอนุรักษ์นิยมเล็กน้อยของการแจกแจงแบบทีเป็นที่นิยมในทางปฏิบัติ


1
คำถามที่ดี. คุณอาจต้องการที่จะดูที่การแก้ไข Bartlett
Ben Bolker

1
ฉันคิดว่าคำถามนี้ไม่ถูกต้องเมื่อใช้ MLE หรือ QMLE คุณจะมีการประมาณค่าเชิงอนุมานและเชิงอนุมานแบบ asymptotically ถามว่าสมมติฐาน A หรือ B ดีกว่าในการตั้งค่า จำกัด ไม่สามารถตอบได้มันจะเดือดไปทางโลกีย์เสมอ "ขึ้นอยู่กับข้อมูลและสมมติฐานที่คุณยินดีทำ" โดยส่วนตัวแล้วฉันชอบ bootstrapping และใช้ทุกครั้งที่ทำได้ แต่ไม่ผิดที่ใช้มาตรฐานการทดสอบ z หรือ t - มันไม่อนุญาตให้คุณหลบหนีปัญหาข้อมูลขนาดเล็กและดังนั้นคุณจึงยังคงตั้งสมมติฐาน )
Repmat

คำตอบ:


3

คำตอบสั้น ๆ :ยังไม่มีคำตอบเต็มรูปแบบ แต่คุณอาจสนใจในการแจกแจงต่อไปนี้ที่เกี่ยวข้องกับคำถามที่เชื่อมโยง: มันเปรียบเทียบ z-test (เช่นเดียวกับที่ใช้โดย glm) และ t-test

    layout(matrix(1:2,1,byrow=TRUE))

    # 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)
    p_model2 = 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]
      model2 <- glm(xi ~ 1, family = "binomial")
      coef <- summary(model2)$coefficients
      p_model2[i+1] = 1-2*pt(-abs((qlogis(0.7)-coef[1])/coef[2]),99,ncp=0)
    }


    # plotting cumulative distribution of outcomes z-test
    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 with z-test \n as function of set alpha level")


    # plotting cumulative distribution of outcomes t-test
    outcomes <- p_model2[order(p_model2)]
    cdf <- cumsum(px[order(p_model2)])
    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 with t-test \n as function of set alpha level")
    [![p-test vs t-test][1]][1]

และมีความแตกต่างเพียงเล็กน้อยเท่านั้น และการทดสอบ z ก็ดีกว่า (แต่อาจเป็นเพราะทั้ง t-test และ z-test นั้น "ผิด" และอาจเป็นข้อผิดพลาดของการทดสอบ z ชดเชยข้อผิดพลาดนี้)

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

คำตอบยาว: ...

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