วิธีการคำนวณ aic ใน r (รวมถึงตัวอย่าง)
Akaike Information Criterion (AIC) เป็นตัวชี้วัดที่ใช้ในการเปรียบเทียบความพอดีของแบบจำลองการถดถอยหลายตัว
มีการคำนวณดังนี้:
AIC = 2K – 2 ลิตร (L)
ทอง:
- K: จำนวนพารามิเตอร์โมเดล ค่าเริ่มต้นของ K คือ 2 ดังนั้นแบบจำลองที่มีตัวแปรทำนายเพียงตัวเดียวจะมีค่า K เป็น 2+1 = 3
- ln (L) : ความน่าจะเป็นของบันทึกของแบบจำลอง ซอฟต์แวร์ทางสถิติส่วนใหญ่สามารถคำนวณค่านี้ให้คุณโดยอัตโนมัติ
AIC ได้รับการออกแบบมาเพื่อค้นหาแบบจำลองที่อธิบายความแปรผันของข้อมูลได้มากที่สุด ขณะเดียวกันก็ลงโทษแบบจำลองที่ใช้พารามิเตอร์จำนวนมากเกินไป
เมื่อคุณติดตั้งแบบจำลองการถดถอยหลายตัวแล้ว คุณสามารถเปรียบเทียบ ค่า AIC ของแต่ละรุ่นได้ ยิ่ง AIC ต่ำ ก็ยิ่งเหมาะกับรุ่นมากขึ้น
ในการคำนวณ AIC ของแบบจำลองการถดถอยหลายตัวใน R เราสามารถใช้ฟังก์ชัน aictab() จากแพ็คเกจ AICcmodavg
ตัวอย่างต่อไปนี้แสดงวิธีใช้ฟังก์ชันนี้เพื่อคำนวณและตีความ AIC สำหรับแบบจำลองการถดถอยต่างๆ ใน R
ตัวอย่าง: คำนวณและตีความ AIC ใน R
สมมติว่าเราต้องการปรับ โมเดลการถดถอยเชิงเส้นหลายตัว ที่แตกต่างกันสามแบบโดยใช้ตัวแปรจากชุดข้อมูล mtcars
ต่อไปนี้เป็นตัวแปรทำนายที่เราจะใช้ในแต่ละรุ่น:
- ตัวแปรทำนายในโมเดล 1: disp, hp, wt, qsec
- ตัวแปรทำนายในโมเดล 2: disp, qsec
- ตัวแปรทำนายในโมเดล 3: disp, wt
รหัสต่อไปนี้แสดงวิธีการปรับโมเดลการถดถอยแต่ละแบบให้เหมาะสม:
#fit three models
model1 <- lm(mpg ~ disp + hp + wt + qsec, data = mtcars)
model2 <- lm(mpg ~ disp + qsec, data = mtcars)
model3 <- lm(mpg ~ disp + wt, data = mtcars)
ต่อไป เราจะใส่โมเดลลงในรายการและใช้ฟังก์ชัน aictab() เพื่อคำนวณ AIC ของแต่ละโมเดล:
library (AICcmodavg) #define list of models models <- list(model1, model2, model3) #specify model names mod.names <- c('disp.hp.wt.qsec', 'disp.qsec', 'disp.wt') #calculate AIC of each model aictab(cand.set = models, modnames = mod.names) Model selection based on AICc: K AICc Delta_AICc AICcWt Cum.Wt LL disp.hp.wt.qsec 6 162.43 0.00 0.83 0.83 -73.53 available wt 4 165.65 3.22 0.17 1.00 -78.08 disp.qsec 4 173.32 10.89 0.00 1.00 -81.92
ต่อไปนี้เป็นวิธีการตีความผลลัพธ์:
- K: จำนวนพารามิเตอร์ในโมเดล
- AICc: ค่า AIC ของโมเดล ตัวพิมพ์เล็ก “c” บ่งชี้ว่า AIC คำนวณจาก AIC ที่ถูกแก้ไขสำหรับตัวอย่างขนาดเล็ก
- Delta_AICc: ความแตกต่างระหว่าง AIC ของรุ่นที่ดีที่สุดกับรุ่นปัจจุบันเมื่อเปรียบเทียบ
- AICcWt: สัดส่วนของพลังการทำนายทั้งหมดที่พบในแบบจำลอง
- Cum.Wt : ผลรวมสะสมของน้ำหนัก AIC
- LL: ความน่าจะเป็นของบันทึกของโมเดล ข้อมูลนี้บอกเราว่าแบบจำลองนี้น่าจะเป็นไปได้เพียงใดเมื่อพิจารณาจากข้อมูลที่เราใช้
โมเดลที่มีค่า AIC ต่ำที่สุดจะแสดงรายการก่อนเสมอ จากผลลัพธ์เราจะเห็นว่าโมเดลต่อไปนี้มีค่า AIC ต่ำที่สุด จึงเป็นโมเดลที่เหมาะสมที่สุด:
mpg = β 0 + β 1 (disp) + β 2 (hp) + β 3 (น้ำหนัก) + β 4 (qsec)
เมื่อเราระบุแบบจำลองนี้ดีที่สุดแล้ว เราสามารถดำเนินการปรับแบบจำลองให้เหมาะสมและวิเคราะห์ผลลัพธ์ รวมถึงค่า R-squared และค่าสัมประสิทธิ์เบต้า เพื่อกำหนดความสัมพันธ์ที่แน่นอนระหว่างชุดของตัวแปรทำนายและ ตัวแปรตอบสนอง
แหล่งข้อมูลเพิ่มเติม
วิธีดำเนินการถดถอยเชิงเส้นอย่างง่ายใน R
วิธีดำเนินการถดถอยเชิงเส้นพหุคูณใน R
วิธีการคำนวณ R-squared ที่ปรับแล้วใน R
วิธีการคำนวณ Mallows Cp ใน R