วิธีการคำนวณ mape ใน r
หนึ่งในหน่วยเมตริกที่ใช้กันมากที่สุดในการวัดความแม่นยำในการคาดการณ์ของแบบจำลองคือ MAPE ซึ่งหมายถึง เปอร์เซ็นต์ข้อผิดพลาดเฉลี่ยสัมบูรณ์
สูตรคำนวณ MAPE มีดังนี้:
MAPE = (1/n) * Σ(|จริง – คาดการณ์| / |จริง|) * 100
ทอง:
- Σ – สัญลักษณ์แฟนซีหมายถึง “ผลรวม”
- n – ขนาดตัวอย่าง
- real – มูลค่าที่แท้จริงของข้อมูล
- พยากรณ์ – ค่าที่คาดหวังของข้อมูล
MAPE มักใช้เพราะง่ายต่อการตีความและอธิบาย ตัวอย่างเช่น ค่า MAPE 6% หมายความว่าความแตกต่างโดยเฉลี่ยระหว่างค่าที่คาดการณ์กับค่าจริงคือ 6%
บทช่วยสอนนี้มีสองวิธีที่แตกต่างกันที่คุณสามารถใช้เพื่อคำนวณ MAPE ใน R
วิธีที่ 1: เขียนฟังก์ชันของคุณเอง
สมมติว่าเรามีชุดข้อมูลที่มีคอลัมน์ที่มีค่าข้อมูลจริงและคอลัมน์ที่มีค่าข้อมูลที่คาดการณ์ไว้:
#create dataset data <- data. frame (actual=c(34, 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 34 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
ในการคำนวณ MAPE เราสามารถใช้ฟังก์ชันต่อไปนี้:
#calculate MAPE
mean(abs((data$actual-data$forecast)/data$actual)) * 100
[1] 6.467108
MAPE สำหรับรุ่นนี้กลายเป็น 6.467% นั่นคือผลต่างสัมบูรณ์โดยเฉลี่ยระหว่างค่าที่คาดการณ์กับค่าจริงคือ 6.467%
วิธีที่ 2: ใช้แพ็คเกจ
นอกจากนี้เรายังสามารถคำนวณ MAPE สำหรับชุดข้อมูลเดียวกันได้โดยใช้ฟังก์ชัน MAPE() จากแพ็คเกจ MLmetrics ซึ่งใช้ไวยากรณ์ต่อไปนี้:
MAPE(y_pred, y_true)
ทอง:
- y_pred: ค่าที่คาดการณ์ไว้
- y_true: ค่าจริง
นี่คือไวยากรณ์ที่เราจะใช้ในตัวอย่างของเรา:
#load MLmetrics package library (MLmetrics) #calculate MAPE MAPE(data$forecast, data$actual) [1] 0.06467108
ซึ่งสร้างค่า MAPE เดียวกันกับ 6.467% ที่เราคำนวณโดยใช้วิธีก่อนหน้า