วิธีคำนวณ wmape ใน r (พร้อมตัวอย่าง)
หนึ่งในหน่วยเมตริกที่ใช้กันมากที่สุดในการวัดความแม่นยำในการคาดการณ์ของแบบจำลองคือ WMAPE ซึ่งย่อมาจาก เปอร์เซ็นต์ข้อผิดพลาดเปอร์เซ็นต์สัมบูรณ์โดยเฉลี่ยถ่วงน้ำหนัก
สูตรคำนวณ WMAPE คือ:
WMAPE = (Σ|y i – ŷ i |*w i ) / (Σy i *w i ) * 100
ทอง:
- Σ – สัญลักษณ์ที่หมายถึง “ผลรวม”
- y i – คุณค่าที่แท้จริงของการสังเกต ครั้งที่ 3
- ŷ i – ค่าทำนายของการสังเกต ครั้งที่ i
- w i – น้ำหนักของการสังเกต ครั้งที่ i
เราสามารถกำหนดฟังก์ชันต่อไปนี้เพื่อคำนวณ WMAPE ใน R:
find_WMAPE <- function (y, yhat, w){ return (sum(abs(y-yhat)*w)/sum(y*w)*100) }
ตัวอย่างต่อไปนี้แสดงวิธีใช้ฟังก์ชันนี้ในทางปฏิบัติ
ตัวอย่าง: การคำนวณ WMAPE ใน R
สมมติว่าเรามีกรอบข้อมูลต่อไปนี้ใน R ซึ่งมีข้อมูลเกี่ยวกับยอดขายจริงและการคาดการณ์สำหรับร้านค้าปลีก:
#create dataset data <- data. frame (actual=c(23, 37, 44, 47, 48, 48, 46, 43, 32, 27, 26, 24), forecast=c(37, 40, 46, 44, 46, 50, 45, 44, 34, 30, 22, 23)) #view dataset data current forecast 1 23 37 2 37 40 3 44 46 4 47 44 5 48 46 6 48 50 7 46 45 8 43 44 9 32 34 10 27 30 11 26 22 12 24 23
ในการคำนวณ WMAPE สำหรับความแตกต่างระหว่างยอดขายจริงและยอดขายที่คาดการณ์ เราสามารถกำหนดเวกเตอร์ของน้ำหนักที่จะใช้ จากนั้นใช้ฟังก์ชัน WMAPE ที่เรากำหนดไว้ก่อนหน้านี้:
#define function to calculate WMAPE find_WMAPE <- function (y, yhat, w){ return (sum(abs(y-yhat)*w)/sum(y*w)*100) } #define weights for each month weights <- c(20, 20, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6) #calculate WMAPE find_WMAPE(df$actual, df$predicted, weights) [1] 13.27635
WMAPE สำหรับรุ่นนี้กลายเป็น 13.27635%
นั่นคือข้อผิดพลาดเปอร์เซ็นต์สัมบูรณ์เฉลี่ยถ่วงน้ำหนักระหว่างมูลค่าการขายที่คาดการณ์ไว้และมูลค่าการขายจริงคือ 13.27635%
โปรดทราบว่าเราได้กำหนดน้ำหนักที่มากขึ้นให้กับค่าเดือนมกราคมและกุมภาพันธ์ในตัวอย่างนี้
คุณสามารถกำหนดน้ำหนักให้มากขึ้นหรือน้อยลงให้กับการสังเกตต่างๆ ได้โดยขึ้นอยู่กับปัญหาเฉพาะของคุณ โดยพิจารณาจากความสำคัญของข้อผิดพลาดแต่ละข้อในแบบจำลองของคุณ
แหล่งข้อมูลเพิ่มเติม
บทช่วยสอนต่อไปนี้จะอธิบายวิธีดำเนินการงานทั่วไปอื่นๆ ใน R:
วิธีการคำนวณ MAPE ใน R
วิธีการคำนวณ SMAPE ใน R
วิธีการคำนวณ RMSE ใน R