glm ใน R - pvalue ใดที่แสดงให้เห็นถึงความดีของแบบเต็มรูปแบบ?


10

ฉันกำลังเรียกใช้ glms ใน R (โมเดลเชิงเส้นเชิงเส้นทั่วไป) ฉันคิดว่าฉันรู้จัก pvalues ​​- จนกระทั่งฉันเห็นว่าการเรียกสรุปสำหรับ glm ไม่ได้ให้ตัวแทน pvalue ที่เอาชนะคุณของโมเดลทั้งหมด - อย่างน้อยก็ไม่ได้อยู่ในตำแหน่งที่โมเดลเชิงเส้นทำ

ฉันสงสัยว่าสิ่งนี้จะได้รับเป็นค่าสำหรับการสกัดกั้นที่ด้านบนของตารางค่าสัมประสิทธิ์ ดังนั้นในตัวอย่างต่อไปนี้ในขณะที่ Wind.speed .. knots และ canopy_density อาจมีความสำคัญต่อตัวแบบเราจะรู้ได้อย่างไรว่าตัวแบบนั้นสำคัญหรือไม่ ฉันจะรู้ได้อย่างไรว่าจะเชื่อใจคุณค่าเหล่านี้หรือไม่ ฉันถูกสงสัยหรือไม่ว่า Pr (> | z |) สำหรับ (Intercept) แสดงถึงความสำคัญของตัวแบบ? รุ่นนี้มีความหมายหรือไม่? ขอบคุณ!

ฉันควรทราบว่าการใช้การทดสอบแบบ F จะไม่ทำให้เกิดความเสียหายเนื่องจากฉันได้รับข้อความแสดงข้อผิดพลาดที่บอกว่าการทดสอบแบบ F ในครอบครัวแบบทวินามนั้นไม่เหมาะสม

Call:
glm(formula = Empetrum_bin ~ Wind.speed..knots. + canopy_density, 
    family = binomial, data = CAIRNGORM)

Deviance Residuals: 
    Min       1Q   Median       3Q      Max  
-1.2327  -0.7167  -0.4302  -0.1855   2.3194  

Coefficients:
                   Estimate Std. Error z value Pr(>|z|)  
(Intercept)          1.8226     1.2030   1.515   0.1298  
Wind.speed..knots.  -0.5791     0.2628  -2.203   0.0276 *
canopy_density      -2.5733     1.1346  -2.268   0.0233 *
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1   1

(Dispersion parameter for binomial family taken to be 1)

    Null deviance: 59.598  on 58  degrees of freedom
Residual deviance: 50.611  on 56  degrees of freedom
  (1 observation deleted due to missingness)
AIC: 56.611

1
หากฉันจำได้อย่างถูกต้องในการถดถอยแบบทวินามคุณควรใช้การทดสอบความเบี่ยงเบนหรือการทดสอบ Log Likelihood ซึ่งคล้ายกับการทดสอบ F ที่ใช้ในการถดถอยเชิงเส้น นี่คือ -2 * (Null LL - อิ่มตัว LL) ซึ่งเหมาะกับการแจกแจงแบบไคสแควร์ แม้ว่าฉันจะไม่เห็นโอกาสในการบันทึกโมเดลในผลลัพธ์สรุปของคุณ มันอยู่ในโมเดลวัตถุ แต่ไม่ได้อยู่ในเอาต์พุตสรุปหรือไม่?
SamPassmore

คำตอบ:


10

คุณสามารถทำการทดสอบไคสแควร์แบบ asymptotic (59.598-50.611) กับไคสแควร์ที่มี (58-56) df หรือใช้anova()กับวัตถุ glm ของคุณ (ที่ไม่ทำการทดสอบโดยตรง แต่อย่างน้อยก็คำนวณ ( 59.598-50.611) และ (58-56) สำหรับคุณ)

นี่คือประสิทธิภาพการวิเคราะห์อันซ์

นี่คือการเรียงลำดับของการคำนวณที่คุณสามารถทำได้ (ในชุดข้อมูลอื่นซึ่งมาพร้อมกับ R):

spray1=glm(count~spray,family=poisson,data=InsectSprays)  # full model
spray0=glm(count~1,family=poisson,data=InsectSprays)      # null model
with(anova(spray0,spray1),pchisq(Deviance,Df,lower.tail=FALSE)[2]) 

ซึ่งให้ค่า p สำหรับค่าasymptotic chi square statstic ตามค่าเบี่ยงเบนมาตรฐาน

หรือคุณสามารถใช้devianceและdf.residualฟังก์ชั่นเพื่อทำสิ่งนี้:

 pchisq(deviance(spray0)-deviance(spray1),
     df.residual(spray0)-df.residual(spray1),
    lower.tail=FALSE)

-

หลายคนจะใช้การเปรียบเทียบระหว่าง AIC แบบเต็มและ null (หรือในบางกรณีอาจเป็นการเปรียบเทียบระหว่างแบบจำลองที่น่าสนใจและแบบจำลองแบบอิ่มตัว) เพื่อหาว่าแบบจำลองนั้นดีกว่าโมฆะในแง่นั้นหรือไม่

-

ฉันถูกสงสัยหรือไม่ว่า Pr (> | z |) สำหรับ (Intercept) แสดงถึงความสำคัญของตัวแบบ?

มันไม่ได้ อันที่จริงค่า p-intercept มักไม่ได้รับความสนใจโดยตรง

หากคุณกำลังพิจารณาโมเดลที่มีพารามิเตอร์การกระจายฉันเห็นบางคนแย้งว่าทำการทดสอบ F แทนการใช้ asymptotic chi-square มันสอดคล้องกับคนที่ใช้ t-test แทน az ในสัมประสิทธิ์บุคคล ไม่น่าจะเป็นการประมาณที่สมเหตุสมผลในกลุ่มตัวอย่างขนาดเล็ก ฉันไม่ได้เห็นการสืบทอดหรือการจำลองที่จะแนะนำว่า F นั้นจำเป็นต้องมีการประมาณที่เหมาะสม (เช่นดีกว่าผลเชิงซีมโทติค) ในกรณีของ GLMs โดยทั่วไป อาจมีอยู่จริง แต่ฉันไม่เห็นเลย


2
คุณสามารถเรียกใช้Anova(fit, type = 2)จากcarไลบรารีได้
Algorithmatic

3

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

LLR = -2 * (fit$null.deviance - fit$deviance)

นี่คือสูตรสำหรับการทดสอบอัตราส่วนความน่าจะเป็น

pchisq(LLR, 2, lower.tail = FALSE)

และนี่จะให้ค่า p กับคุณ แม้ว่าฉันจะไม่มั่นใจ 100% นั่นคือ df ที่ถูกต้อง ฉันค่อนข้างแน่ใจว่ามันเป็นความแตกต่างของจำนวนพารามิเตอร์ที่คุณมี 2 ในรูปแบบอิ่มตัวของคุณและไม่มีในรูปแบบ Null, ergo df = 3 - 1 = 2 แต่นั่นอาจเป็นสิ่งที่ต้องติดตามต่อไป


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