วิธีการทดสอบอัตราส่วนความน่าจะเป็นใน r


การทดสอบอัตราส่วนความน่าจะ เป็นจะเปรียบเทียบความดีของความพอดีของแบบจำลองการถดถอยที่ซ้อนกันสองแบบ

โมเดลแบบซ้อน เป็นเพียงโมเดลที่ประกอบด้วยชุดย่อยของตัวแปรทำนายในโมเดลการถดถอยโดยรวม

ตัวอย่างเช่น สมมติว่าเรามีแบบจำลองการถดถอยต่อไปนี้ซึ่งมีตัวแปรทำนายสี่ตัว:

Y = β 0 + β 1 x 1 + β 2 x 2 + β 3 x 3 + β 4 x 4 + ε

ตัวอย่างของโมเดลที่ซ้อนกันจะเป็นโมเดลต่อไปนี้ซึ่งมีตัวแปรทำนายดั้งเดิมเพียงสองตัวเท่านั้น:

Y = β 0 + β 1 x 1 + β 2 x 2 + ε

เพื่อตรวจสอบว่าแบบจำลองทั้งสองนี้มีความแตกต่างกันอย่างมีนัยสำคัญหรือไม่ เราสามารถทำการทดสอบอัตราส่วนความน่าจะเป็นที่ใช้สมมติฐานว่างและสมมติฐานทางเลือกต่อไปนี้:

H 0 : โมเดลเต็มและโมเดลแบบซ้อนเข้ากับข้อมูลได้ดีพอๆ กัน ดังนั้นคุณควร ใช้โมเดลที่ซ้อนกัน

HA : โมเดลเต็มเหมาะกับข้อมูลได้ดีกว่าโมเดลที่ซ้อนกันอย่างมาก ดังนั้นคุณต้อง ใช้เทมเพลตแบบเต็ม

หากค่า p ของการทดสอบต่ำกว่าระดับนัยสำคัญที่กำหนด (เช่น 0.05) เราก็สามารถปฏิเสธสมมติฐานว่างและสรุปได้ว่าแบบจำลองแบบเต็มมีความพอดีที่ดีกว่าอย่างมาก

ตัวอย่างต่อไปนี้แสดงวิธีการทดสอบอัตราส่วนความน่าจะเป็นใน R

ตัวอย่าง: การทดสอบอัตราส่วนความน่าจะเป็นใน R

รหัสต่อไปนี้แสดงวิธีปรับโมเดลการถดถอยสองแบบต่อไปนี้ใน R โดยใช้ข้อมูลจากชุดข้อมูล mtcars ในตัว:

รุ่นเต็ม: mpg = β 0 + β 1 ใช้ได้ + β 2 คาร์โบไฮเดรต + β 3 hp + β 4 สูบ

รุ่น: mpg = β 0 + β 1 ใช้ได้ + β 2 คาร์โบไฮเดรต

เราจะใช้ฟังก์ชัน lrtest() ของแพ็คเกจ lmtest เพื่อทำการทดสอบอัตราส่วนความน่าจะเป็นในทั้งสองโมเดลนี้:

 library (lmtest)

#fit full model
model_full <- lm(mpg ~ disp + carb + hp + cyl, data = mtcars)

#fit reduced model
model_reduced <- lm(mpg ~ disp + carb, data = mtcars)

#perform likelihood ratio test for differences in models
lrtest(model_full, model_reduced)

Likelihood ratio test

Model 1: mpg ~ disp + carb + hp + cyl
Model 2: mpg ~ available + carb
  #Df LogLik Df Chisq Pr(>Chisq)
1 6 -77.558                     
2 4 -78.603 -2 2.0902 0.3517

จากผลลัพธ์ เราจะเห็นว่าสถิติการทดสอบไคสแควร์คือ 2.0902 และค่า p ที่สอดคล้องกันคือ 0.3517

เนื่องจากค่า p นี้ไม่น้อยกว่า 0.05 เราจึงไม่สามารถปฏิเสธสมมติฐานว่างได้

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

จากนั้นเราจึงทำการทดสอบอัตราส่วนความน่าจะเป็นอีกครั้งเพื่อพิจารณาว่าแบบจำลองที่มีตัวแปรตัวทำนายตัวเดียวมีความแตกต่างอย่างมีนัยสำคัญจากแบบจำลองที่มีตัวทำนายทั้งสองตัวหรือไม่:

 library (lmtest)

#fit full model
model_full <- lm(mpg ~ disp + carb, data = mtcars)

#fit reduced model
model_reduced <- lm(mpg ~ disp, data = mtcars)

#perform likelihood ratio test for differences in models
lrtest(model_full, model_reduced)

Likelihood ratio test

Model 1: mpg ~ available + carb
Model 2: mpg ~ available
  #Df LogLik Df Chisq Pr(>Chisq)   
1 4 -78.603                        
2 3 -82.105 -1 7.0034 0.008136 **
---
Significant. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

จากผลลัพธ์เราจะเห็นว่าค่า p ของการทดสอบอัตราส่วนความน่าจะเป็นคือ 0.008136 เนื่องจากจำนวนนี้น้อยกว่า 0.05 เราจึงปฏิเสธสมมติฐานว่าง

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

ดังนั้นโมเดลสุดท้ายของเราจะเป็น:

mpg = β 0 + β 1 ที่มีอยู่ + β 2 คาร์โบไฮเดรต

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

วิธีดำเนินการถดถอยเชิงเส้นอย่างง่ายใน R
วิธีดำเนินการถดถอยเชิงเส้นพหุคูณใน R
วิธีการตีความรหัสความหมายใน R

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

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