วิธีการคำนวณ bic ใน r


Bayesian Information Criterion ซึ่งมักเรียกสั้น ๆ ว่า BIC เป็นการวัดที่ใช้ในการเปรียบเทียบความพอดีของแบบจำลองการถดถอยต่างๆ

ในทางปฏิบัติ เราปรับแบบจำลองการถดถอยหลายตัวให้เหมาะกับชุดข้อมูลเดียวกัน และเลือกแบบจำลองที่มีค่า BIC ต่ำสุดเป็นแบบจำลองที่เหมาะกับข้อมูลมากที่สุด

เราใช้สูตรต่อไปนี้เพื่อคำนวณ BIC:

BIC: (RSS+log(n)dσ̂ 2 ) / n

ทอง:

  • d: จำนวนตัวทำนาย
  • n: การสังเกตทั้งหมด
  • σ̂: การประมาณค่าความแปรปรวนของข้อผิดพลาดที่เกี่ยวข้องกับการวัดการตอบสนองแต่ละรายการในแบบจำลองการถดถอย
  • RSS: ผลรวมที่เหลือของกำลังสองจากแบบจำลองการถดถอย
  • TSS: ผลรวมกำลังสองของแบบจำลองการถดถอย

ตัวอย่างทีละขั้นตอนต่อไปนี้แสดงวิธีคำนวณค่า BIC สำหรับแบบจำลองการถดถอยใน R

ขั้นตอนที่ 1: ดูข้อมูล

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

 #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

ขั้นตอนที่ 2: ติดตั้งหลายเทมเพลต

ต่อไป เราจะปรับโมเดลการถดถอยที่แตกต่างกันหลายแบบโดยใช้ชุดข้อมูลนี้:

 #fit three different regression models
model1 <- lm(mpg ~ disp + hp, data = mtcars)
model2 <- lm(mpg ~ disp + qsec, data = mtcars)
model3 <- lm(mpg ~ disp + wt, data = mtcars)

ขั้นตอนที่ 3: เลือกรุ่นที่มี BIC ต่ำที่สุด

ในการคำนวณค่า BIC สำหรับแต่ละรุ่น เราสามารถใช้ฟังก์ชัน BIC() จากแพ็คเกจ flexmix :

 library (flexmix)

#calculate BIC of model1
BIC(model1)

[1] 174.4815

#calculate BIC of model2
BIC(model2)

[1] 177.7048

#calculate BIC of model3
BIC(model3)

[1] 170.0307

เราสามารถดูค่า BIC ของแต่ละรุ่นได้:

  • BIC ของ รุ่น 1 : 174.4815
  • รุ่น 2 BIC: 177.7048
  • รุ่น 3 BIC: 170.0307

เนื่องจากโมเดล 3 มีค่า BIC ต่ำที่สุด เราจะเลือกให้เป็นโมเดลที่เหมาะกับชุดข้อมูลมากที่สุด

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

บทช่วยสอนต่อไปนี้จะอธิบายวิธีปรับโมเดลการถดถอยทั่วไปใน R:

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

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

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