วิธีการคำนวณ mse ใน r
หนึ่งในหน่วยเมตริกที่ใช้กันมากที่สุดในการวัดความแม่นยำในการทำนายของแบบจำลองคือ MSE ซึ่งย่อมาจาก ค่าคลาดเคลื่อนกำลังสองเฉลี่ย มีการคำนวณดังนี้:
MSE = (1/n) * Σ(จริง – คาดการณ์) 2
ทอง:
- Σ – สัญลักษณ์แฟนซีหมายถึง “ผลรวม”
- n – ขนาดตัวอย่าง
- real – มูลค่าที่แท้จริงของข้อมูล
- การทำนาย – มูลค่าของข้อมูลที่คาดการณ์
ยิ่งค่า MSE ต่ำ โมเดลก็ยิ่งสามารถทำนายค่าได้แม่นยำยิ่งขึ้น
วิธีการคำนวณ MSE ใน R
มีวิธีง่ายๆ สองวิธีที่คุณสามารถใช้เพื่อคำนวณ MSE ของแบบจำลองการถดถอยใน R ทั้งนี้ขึ้นอยู่กับรูปแบบข้อมูลของคุณ
วิธีที่ 1: คำนวณ MSE จากแบบจำลองการถดถอย
ในสถานการณ์หนึ่ง คุณอาจมีแบบจำลองการถดถอยที่ติดตั้งแล้ว และเพียงต้องการคำนวณ MSE ของแบบจำลอง ตัวอย่างเช่น คุณอาจมีแบบจำลองการถดถอยต่อไปนี้:
#load mtcars dataset data(mtcars) #fit regression model model <- lm(mpg~disp+hp, data=mtcars) #get model summary model_summ <-summary(model)
ในการคำนวณ MSE ของแบบจำลองนี้ คุณสามารถใช้สูตรต่อไปนี้:
#calculate MSE
mean(model_summ$residuals^2)
[1] 8.85917
สิ่งนี้บอกเราว่า MSE คือ 8.85917
วิธีที่ 2: คำนวณ MSE จากรายการค่าที่คาดการณ์และค่าจริง
ในสถานการณ์อื่น คุณอาจมีรายการของค่าที่คาดการณ์และค่าจริง ตัวอย่างเช่น:
#create data frame with a column of actual values and a column of predicted values data <- data.frame(pred = predict(model), actual = mtcars$mpg) #view first six lines of data head(data) pred actual Mazda RX4 23.14809 21.0 Mazda RX4 Wag 23.14809 21.0 Datsun 710 25.14838 22.8 Hornet 4 Drive 20.17416 21.4 Hornet Sportabout 15.46423 18.7 Valiant 21.29978 18.1
ในกรณีนี้ คุณสามารถใช้สูตรต่อไปนี้เพื่อคำนวณ MSE:
#calculate MSE
mean((data$actual - data$pred)^2)
[1] 8.85917
สิ่งนี้บอกเราว่า MSE คือ 8.85917 ซึ่งตรงกับ MSE ที่เราคำนวณโดยใช้วิธีก่อนหน้า