วิธีตีความเอาต์พุต glm ใน r (พร้อมตัวอย่าง)


สามารถใช้ฟังก์ชัน glm() ใน R เพื่อให้เหมาะกับโมเดลเชิงเส้นทั่วไป

ฟังก์ชันนี้ใช้ไวยากรณ์ต่อไปนี้:

glm(สูตร, ตระกูล=เกาส์เซียน, ข้อมูล, …)

ทอง:

  • สูตร: สูตรโมเดลเชิงเส้น (เช่น y ~ x1 + x2)
  • family: กลุ่มทางสถิติที่จะใช้เพื่อให้เหมาะกับโมเดล ค่าเริ่มต้นคือ Gaussian แต่ตัวเลือกอื่นๆ ได้แก่ Binomial, Gamma และ Poisson และอื่นๆ
  • data: ชื่อของบล็อกข้อมูลที่มีข้อมูล

ในทางปฏิบัติ ฟังก์ชันนี้มักใช้เพื่อให้เหมาะกับ แบบจำลองการถดถอยโลจิสติก โดยการระบุตระกูล “ทวินาม”

ตัวอย่างต่อไปนี้แสดงวิธีตีความเอาต์พุต glm ใน R สำหรับแบบจำลองการถดถอยโลจิสติก

ตัวอย่าง: วิธีตีความเอาต์พุต glm ใน R

สำหรับตัวอย่างนี้ เราจะใช้ชุดข้อมูล mtcars ที่สร้างไว้ใน R:

 #view first six rows of mtcars dataset
head(mtcars)

                   mpg cyl disp hp drat wt qsec vs am gear carb
Mazda RX4 21.0 6 160 110 3.90 2.620 16.46 0 1 4 4
Mazda RX4 Wag 21.0 6 160 110 3.90 2.875 17.02 0 1 4 4
Datsun 710 22.8 4 108 93 3.85 2.320 18.61 1 1 4 1
Hornet 4 Drive 21.4 6 258 110 3.08 3.215 19.44 1 0 3 1
Hornet Sportabout 18.7 8 360 175 3.15 3.440 17.02 0 0 3 2
Valiant 18.1 6 225 105 2.76 3,460 20.22 1 0 3 1

เราจะใช้ตัวแปร disp และ hp เพื่อทำนายความน่าจะเป็นที่รถคันหนึ่งจะใช้ค่า 1 สำหรับตัวแปร am

รหัสต่อไปนี้แสดงวิธีใช้ฟังก์ชัน glm() เพื่อให้เหมาะสมกับโมเดลการถดถอยโลจิสติกนี้:

 #fit logistic regression model
model <- glm(am ~ disp + hp, data=mtcars, family=binomial)

#view model summary
summary(model)

Call:
glm(formula = am ~ disp + hp, family = binomial, data = mtcars)

Deviance Residuals: 
    Min 1Q Median 3Q Max  
-1.9665 -0.3090 -0.0017 0.3934 1.3682  

Coefficients:
            Estimate Std. Error z value Pr(>|z|)  
(Intercept) 1.40342 1.36757 1.026 0.3048  
available -0.09518 0.04800 -1.983 0.0474 *
hp 0.12170 0.06777 1.796 0.0725 .
---
Significant. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

(Dispersion parameter for binomial family taken to be 1)

    Null deviance: 43,230 on 31 degrees of freedom
Residual deviance: 16,713 on 29 degrees of freedom
AIC: 22,713

Number of Fisher Scoring iterations: 8

ต่อไปนี้เป็นวิธีการตีความแต่ละองค์ประกอบของผลลัพธ์:

ค่าสัมประสิทธิ์และค่า P

การประมาณค่าสัมประสิทธิ์ ในผลลัพธ์บ่งชี้การเปลี่ยนแปลงโดยเฉลี่ยในบันทึกความน่าจะเป็นของตัวแปรตอบสนองที่เกี่ยวข้องกับการเพิ่มขึ้นหนึ่งหน่วยในตัวแปรทำนายแต่ละตัว

ตัวอย่างเช่น การเพิ่มขึ้นหนึ่งหน่วยในการกระจายตัวแปรตัวทำนายสัมพันธ์กับการเปลี่ยนแปลงโดยเฉลี่ย -0.09518 ในบันทึกความน่าจะเป็นที่ตัวแปรตอบสนองรับค่า 1 ซึ่งหมายความว่าค่า disp ที่สูงกว่าสัมพันธ์กับความน่าจะเป็นที่ต่ำกว่า . ของตัวแปรกำลังรับค่า 1

ข้อผิดพลาดมาตรฐาน ทำให้เราทราบถึงความแปรปรวนที่เกี่ยวข้องกับการประมาณค่าสัมประสิทธิ์ จากนั้นเราจะหารการประมาณค่าสัมประสิทธิ์ด้วยค่าคลาดเคลื่อนมาตรฐานเพื่อให้ได้ค่า az

ตัวอย่างเช่น ค่า z สำหรับการกระจายตัวแปรตัวทำนายจะถูกคำนวณเป็น -.09518 / .048 = -1.983

ค่า p Pr(>|z|) บอกเราถึงความน่าจะเป็นที่เกี่ยวข้องกับค่า z เฉพาะ สิ่งนี้บอกเราว่าตัวแปรทำนายแต่ละตัวสามารถทำนายค่าของตัวแปรตอบสนองในแบบจำลองได้ดีเพียงใด

ตัวอย่างเช่น ค่า p ที่เกี่ยวข้องกับค่า z สำหรับการกระจายตัวแปรคือ 0.0474 เนื่องจากค่านี้น้อยกว่า 0.05 เราจะบอกว่า disp เป็นตัวแปรทำนายที่มีนัยสำคัญทางสถิติในแบบจำลอง

คุณสามารถตัดสินใจใช้ระดับนัยสำคัญที่ 0.01, 0.05 หรือ 0.10 เพื่อพิจารณาว่าตัวแปรทำนายแต่ละตัวมีนัยสำคัญทางสถิติหรือไม่ ขึ้นอยู่กับความต้องการของคุณ

ค่าเบี่ยงเบนเป็นศูนย์และตกค้าง

ค่าเบี่ยงเบนเป็น ศูนย์ในเอาต์พุตบอกเราว่าแบบจำลองที่มีเพียงคำดั้งเดิมสามารถทำนายตัวแปรตอบสนองได้ดีเพียงใด

ค่าเบี่ยงเบนที่เหลือ บอกเราว่าตัวแปรตอบสนองสามารถทำนายโดยแบบจำลองเฉพาะที่เราเหมาะสมกับตัวแปรทำนาย p ได้ดีเพียงใด ยิ่งค่าต่ำ โมเดลก็ยิ่งสามารถทำนายค่าของตัวแปรตอบสนองได้ดีขึ้น

เพื่อพิจารณาว่าแบบจำลองนั้น “มีประโยชน์” หรือไม่ เราสามารถคำนวณสถิติไคสแควร์ได้ดังนี้:

X 2 = ส่วนเบี่ยงเบนเป็นศูนย์ – ส่วนเบี่ยงเบนที่เหลือ

ด้วยระดับความอิสระ p

จากนั้นเราจะพบค่า p ที่เกี่ยวข้องกับสถิติไคสแควร์นี้ ยิ่งค่า p-value ต่ำ โมเดลก็ยิ่งสามารถใส่ชุดข้อมูลได้ดีขึ้นเท่านั้น เมื่อเทียบกับโมเดลที่มีเพียงคำดั้งเดิม

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

  • ค่าเบี่ยงเบนเป็นศูนย์ : 43.23 โดย df = 31
  • ค่าเบี่ยงเบนคงเหลือ : 16.713 โดย df = 29

เราสามารถใช้ค่าเหล่านี้เพื่อคำนวณสถิติ X 2 ของแบบจำลอง:

  • X 2 = ส่วนเบี่ยงเบนเป็นศูนย์ – ส่วนเบี่ยงเบนที่เหลือ
  • X2 = 43.23 – 16.713
  • X2 = 26,517

มี p = 2 องศาอิสระของตัวแปรทำนาย

เราสามารถใช้ เครื่องคำนวณไคสแควร์เป็นค่า P เพื่อค้นหาว่าค่า X 2 เท่ากับ 26.517 และมีดีกรีอิสระ 2 องศา มีค่า p เท่ากับ 0.000002

เนื่องจากค่า p นี้ต่ำกว่า 0.05 มาก เราจึงสรุปได้ว่าแบบจำลองนี้มีประโยชน์มาก

เอไอซี

เกณฑ์ข้อมูล Akaike ( AIC ) เป็นการวัดที่ใช้ในการเปรียบเทียบความพอดีของแบบจำลองการถดถอยต่างๆ ยิ่งค่าต่ำเท่าใด โมเดลการถดถอยก็จะพอดีกับข้อมูลได้ดีขึ้นเท่านั้น

มีการคำนวณดังนี้:

AIC = 2K – 2 ลิตร (L)

ทอง:

  • K: จำนวนพารามิเตอร์โมเดล
  • ln (L) : ความน่าจะเป็นของบันทึกของแบบจำลอง ข้อมูลนี้บอกเราว่าแบบจำลองนี้มีแนวโน้มเพียงใดโดยอิงตามข้อมูล

มูลค่าที่แท้จริงของ AIC นั้นไม่มีความหมาย

อย่างไรก็ตาม หากคุณพอดีกับโมเดลการถดถอยหลายตัว คุณสามารถเปรียบเทียบค่า AIC ของแต่ละโมเดลได้ รุ่นที่มี AIC ต่ำที่สุดจะให้ขนาดที่พอดีที่สุด

ที่เกี่ยวข้อง: ค่า AIC ที่ดีคืออะไร?

แหล่งข้อมูลเพิ่มเติม

บทช่วยสอนต่อไปนี้ให้ข้อมูลเพิ่มเติมเกี่ยวกับวิธีการใช้ฟังก์ชัน glm() ใน R:

ความแตกต่างระหว่าง glm และ lm ใน R
วิธีใช้ฟังก์ชันทำนายด้วย glm ใน R

บทช่วยสอนต่อไปนี้จะอธิบายวิธีจัดการกับข้อผิดพลาดทั่วไปเมื่อใช้ฟังก์ชัน glm()

วิธีจัดการคำเตือน R: glm.fit: อัลกอริทึมไม่ได้มาบรรจบกัน
วิธีจัดการ: glm.fit: ความน่าจะเป็นที่ปรับด้วยตัวเลข 0 หรือ 1 เกิดขึ้น

เพิ่มความคิดเห็น

อีเมลของคุณจะไม่แสดงให้คนอื่นเห็น ช่องข้อมูลจำเป็นถูกทำเครื่องหมาย *