ฉันเริ่มขุดลงไปในฟังก์ชั่นplot.lmฟังก์ชั่นนี้ให้หกพล็อตสำหรับ lm คือ:
- พล็อตของสารตกค้างต่อค่าติดตั้ง
- พล็อตที่ตั้งมาตราส่วนของ sqrt (| residuals |) เทียบกับค่าติดตั้ง
- พล็อต QQ ปกติพล็อตระยะทางของ Cook เทียบกับฉลากแถว
- เนื้อเรื่องของส่วนที่เหลือเทียบกับการยกระดับ
- เนื้อเรื่องของระยะทาง Cook เทียบกับ leverage / (1-leverage)
และฉันสงสัยว่าส่วนขยายทั่วไป / ที่เป็นประโยชน์อื่น ๆ ของแปลงปัจจุบันมีอยู่สำหรับตัวแบบเชิงเส้นและพวกเขาสามารถทำได้ใน R อย่างไร (ยินดีต้อนรับลิงก์ไปยังบทความของแพ็คเกจ)
ดังนั้นฟังก์ชั่น boxcox (จาก {MASS}) เป็นตัวอย่างของพล็อตการวินิจฉัยอีกประโยชน์ (และเช่นคำตอบจะดี) แต่ผมอยากรู้เพิ่มเติมเกี่ยวกับรูปแบบ / ส่วนขยายในที่มีอยู่แปลงวินิจฉัยเริ่มต้นสำหรับ LM ใน R (แม้ว่าโดยทั่วไป ข้อสังเกตอื่น ๆ ในหัวข้อยินดีเสมอ)
นี่คือตัวอย่างง่ายๆของสิ่งที่ฉันหมายถึง:
#Some example code for all of us to refer to
set.seed(2542)
x1 <- rnorm(100)
x2 <- runif(100, -2,2)
eps <- rnorm(100,0,2)
y <- 1 + 2*x1 + 3*x2 + eps
y[1:4] <- 14 # adding some contaminated points
fit <- lm(y~x1+x2)
#plot(y~x1+x2)
#summary(fit)
เพื่อพล็อตค่าคงที่เทียบกับ x ที่มีศักยภาพแต่ละอัน
plot(resid(fit)~x1); abline (h = 0)
plot(resid(fit)~x2); abline (h = 0)
# plot(resid(fit)~x1+x2) # you can also use this, but then you wouldn't be able to use the abline on any plot but the last one
ในการเพิ่มบรรทัด 0-1 (บรรทัดนี้เรียกว่าเป็นภาษาอังกฤษได้อย่างไร!) ใน qqplot เพื่อดูว่า qqline เบี่ยงเบนไปจากเท่าไหร่
plot(fit, which = 2); abline(0,1, col = "green")
หากต้องการพล็อต qq-plot โดยใช้ส่วนที่เหลือที่ได้รับการศึกษาจากภายนอก
# plot(fit, which = 2); abline(0,1, col = "green") # The next command is just like this one
qqnorm(rstandard(fit), ylim = c(-2.2,4.2)); qqline(rstudent(fit), lty = 2) ;abline(0,1, col = "green")
qqnorm(rstudent(fit), ylim = c(-2.2,4.2)); qqline(rstudent(fit), lty = 2) ;abline(0,1, col = "green")
# We can note how the "bad" points are more extreme when using the rstudent