วิธีการทดสอบอัตราส่วนความน่าจะเป็นใน 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