วิธีการคำนวณ 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% ที่เราคำนวณโดยใช้วิธีก่อนหน้า

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

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