ใครช่วยบอกฉันได้ว่าจะตีความ 'ส่วนที่เหลือเทียบพอดี', 'ปกติ q-q', 'มาตราส่วนที่ตั้ง' และ 'ส่วนที่เหลือเทียบกับความสามารถในการแปลง'? ฉันกำลังจัดวาง GLM แบบทวินามให้เหมาะสมแล้วบันทึกและวางแผนใหม่
ใครช่วยบอกฉันได้ว่าจะตีความ 'ส่วนที่เหลือเทียบพอดี', 'ปกติ q-q', 'มาตราส่วนที่ตั้ง' และ 'ส่วนที่เหลือเทียบกับความสามารถในการแปลง'? ฉันกำลังจัดวาง GLM แบบทวินามให้เหมาะสมแล้วบันทึกและวางแผนใหม่
คำตอบ:
R
ไม่มีplot.glm()
วิธีที่แตกต่าง เมื่อคุณเหมาะสมกับรูปแบบด้วยglm()
และเรียกplot()
มันเรียก? plot.lmซึ่งเป็นที่เหมาะสมสำหรับการเชิงเส้นแบบจำลอง (กล่าวคือมีระยะเวลาของข้อผิดพลาดการกระจายตามปกติ)
โดยทั่วไปความหมายของพล็อตเหล่านี้ (อย่างน้อยสำหรับโมเดลเชิงเส้น) สามารถเรียนรู้ได้ในเธรดที่มีอยู่หลายรายการใน CV (เช่น: Residuals vs. Fitted ; qq-plots ในหลายแห่ง: 1 , 2 , 3 ; Scale-Location ; Residuals vs Leverage ) อย่างไรก็ตามการตีความเหล่านั้นโดยทั่วไปจะไม่ถูกต้องเมื่อแบบจำลองในคำถามเป็นการถดถอยโลจิสติก
โดยเฉพาะอย่างยิ่งแผนการมักจะ 'ดูตลก' และทำให้ผู้คนเชื่อว่ามีบางอย่างผิดปกติกับตัวแบบเมื่อมันสมบูรณ์แบบ เราสามารถเห็นสิ่งนี้ได้โดยการดูแปลงเหล่านั้นด้วยการจำลองง่ายๆสองแบบที่เรารู้ว่าแบบจำลองนั้นถูกต้อง:
# we'll need this function to generate the Y data:
lo2p = function(lo){ exp(lo)/(1+exp(lo)) }
set.seed(10) # this makes the simulation exactly reproducible
x = runif(20, min=0, max=10) # the X data are uniformly distributed from 0 to 10
lo = -3 + .7*x # this is the true data generating process
p = lo2p(lo) # here I convert the log odds to probabilities
y = rbinom(20, size=1, prob=p) # this generates the Y data
mod = glm(y~x, family=binomial) # here I fit the model
summary(mod) # the model captures the DGP very well & has no
# ... # obvious problems:
# Deviance Residuals:
# Min 1Q Median 3Q Max
# -1.76225 -0.85236 -0.05011 0.83786 1.59393
#
# Coefficients:
# Estimate Std. Error z value Pr(>|z|)
# (Intercept) -2.7370 1.4062 -1.946 0.0516 .
# x 0.6799 0.3261 2.085 0.0371 *
# ...
#
# Null deviance: 27.726 on 19 degrees of freedom
# Residual deviance: 21.236 on 18 degrees of freedom
# AIC: 25.236
#
# Number of Fisher Scoring iterations: 4
ตอนนี้ให้ดูที่แปลงที่เราได้รับจากplot.lm()
:
ทั้งสองResiduals vs Fitted
และScale-Location
แปลงดูเหมือนว่ามีปัญหากับรูปแบบ แต่เรารู้ว่าไม่มี แผนการเหล่านี้มีไว้สำหรับตัวแบบเชิงเส้นมักจะทำให้เข้าใจผิดเมื่อใช้กับตัวแบบการถดถอยโลจิสติก
ลองดูตัวอย่างอื่น:
set.seed(10)
x2 = rep(c(1:4), each=40) # X is a factor with 4 levels
lo = -3 + .7*x2
p = lo2p(lo)
y = rbinom(160, size=1, prob=p)
mod = glm(y~as.factor(x2), family=binomial)
summary(mod) # again, everything looks good:
# ...
# Deviance Residuals:
# Min 1Q Median 3Q Max
# -1.0108 -0.8446 -0.3949 -0.2250 2.7162
#
# Coefficients:
# Estimate Std. Error z value Pr(>|z|)
# (Intercept) -3.664 1.013 -3.618 0.000297 ***
# as.factor(x2)2 1.151 1.177 0.978 0.328125
# as.factor(x2)3 2.816 1.070 2.632 0.008481 **
# as.factor(x2)4 3.258 1.063 3.065 0.002175 **
# ...
#
# Null deviance: 160.13 on 159 degrees of freedom
# Residual deviance: 133.37 on 156 degrees of freedom
# AIC: 141.37
#
# Number of Fisher Scoring iterations: 6
ตอนนี้แผนการทั้งหมดดูแปลก ๆ
แล้วแปลงเหล่านี้แสดงอะไรให้คุณดูบ้าง?
Residuals vs Fitted
พล็อตสามารถช่วยให้คุณดูตัวอย่างเช่นถ้ามีแนวโน้มโค้งที่คุณพลาด แต่พอดีของการถดถอยโลจิสติกคือ curvilinear โดยธรรมชาติดังนั้นคุณสามารถมีแนวโน้มดูแปลก ๆ ในส่วนที่เหลือไม่มีอะไรผิดปกติ Normal Q-Q
พล็อตช่วยให้คุณสามารถตรวจสอบได้หากเหลือของคุณจะกระจายตามปกติ แต่ส่วนเบี่ยงเบนความเบี่ยงเบนไม่จำเป็นต้องกระจายตามปกติเพื่อให้แบบจำลองนั้นถูกต้องดังนั้นความปกติ / ความไม่ปกติของส่วนที่เหลือไม่จำเป็นต้องบอกอะไรเลย Scale-Location
พล็อตสามารถช่วยให้คุณระบุ heteroscedasticity แต่แบบจำลองการถดถอยโลจิสติกนั้นมีความต่างกันโดยธรรมชาติ Residuals vs Leverage
สามารถช่วยให้คุณระบุค่าผิดปกติที่เป็นไปได้ แต่ค่าผิดปกติในการถดถอยแบบลอจิสติกไม่จำเป็นต้องแสดงในลักษณะเดียวกับในการถดถอยเชิงเส้นดังนั้นพล็อตนี้อาจจะใช่หรือไม่มีประโยชน์ในการระบุตัวตน บทเรียนนำกลับบ้านง่ายๆที่นี่คือแปลงเหล่านี้อาจใช้ยากมากที่จะช่วยให้คุณเข้าใจสิ่งที่เกิดขึ้นกับแบบจำลองการถดถอยโลจิสติกของคุณ มันอาจจะดีที่สุดสำหรับคนที่จะไม่มองแปลงเหล่านี้เลยเมื่อใช้การถดถอยโลจิสติกเว้นแต่พวกเขามีความเชี่ยวชาญมาก
อ่านเพิ่มเติมเกี่ยวกับสมมติฐานของการถดถอยในหลาย ๆ ด้านที่มีความคล้ายคลึงกัน (เช่นที่นี่หรือการสอนเกี่ยวกับการถดถอยใน R ที่นี่ )