วิธีการคำนวณ mape ใน python


ค่าความคลาดเคลื่อนเปอร์เซ็นต์สัมบูรณ์เฉลี่ย (MAPE) มักใช้ในการวัดความแม่นยำในการทำนายของแบบจำลอง มีการคำนวณดังนี้:

MAPE = (1/n) * Σ(|จริง – การทำนาย| / |จริง|) * 100

ทอง:

  • Σ – สัญลักษณ์ที่หมายถึง “ผลรวม”
  • n – ขนาดตัวอย่าง
  • real – มูลค่าที่แท้จริงของข้อมูล
  • การทำนาย – มูลค่าของข้อมูลที่คาดการณ์

MAPE มักใช้เพราะง่ายต่อการตีความและอธิบาย ตัวอย่างเช่น ค่า MAPE 11.5% หมายความว่าความแตกต่างโดยเฉลี่ยระหว่างค่าที่คาดการณ์กับค่าจริงคือ 11.5%

ยิ่งค่า MAPE ต่ำ โมเดลก็ยิ่งสามารถทำนายค่าได้ดีขึ้นเท่านั้น ตัวอย่างเช่น โมเดลที่มี MAPE 5% จะมีความแม่นยำมากกว่าโมเดลที่มี MAPE 10%

วิธีการคำนวณ MAPE ใน Python

ไม่มีฟังก์ชัน Python ในตัวสำหรับคำนวณ MAPE แต่เราสามารถสร้างฟังก์ชันง่ายๆ เพื่อทำการคำนวณได้:

 import numpy as np

def mape( actual , pred ): 
    actual, pred = np.array(actual), np.array(pred)
    return np.mean(np.abs((actual - pred) / actual)) * 100

จากนั้นเราสามารถใช้ฟังก์ชันนี้เพื่อคำนวณ MAPE สำหรับสองตาราง: ตารางที่มีค่าข้อมูลจริงและตารางที่มีค่าข้อมูลที่คาดการณ์ไว้

 actual = [12, 13, 14, 15, 15,22, 27]
pred = [11, 13, 14, 14, 15, 16, 18]

map(actual, pred)

10.8009

จากผลลัพธ์ เราจะเห็นว่าค่าความคลาดเคลื่อนเปอร์เซ็นต์สัมบูรณ์โดยเฉลี่ยสำหรับโมเดลนี้คือ 10.8009% กล่าวอีกนัยหนึ่ง ความแตกต่างโดยเฉลี่ยระหว่างค่าที่คาดการณ์กับมูลค่าจริงคือ 10.8009%

ข้อควรระวังในการใช้ MAPE

แม้ว่า MAPE จะคำนวณและตีความได้ง่าย แต่การใช้งานก็มีข้อเสียอยู่ 2 ประการ:

1. เนื่องจากสูตรในการคำนวณเปอร์เซ็นต์ความคลาดเคลื่อนสัมบูรณ์คือ |การทำนายจริง| / |จริง| ซึ่งหมายความว่า MAPE จะไม่ถูกกำหนดหากค่าจริงใด ๆ ที่เป็นศูนย์

2. ไม่ควรใช้ MAPE กับข้อมูลที่มีปริมาณน้อย ตัวอย่างเช่น หากความต้องการจริงสำหรับสินค้าคือ 2 และการคาดการณ์คือ 1 ค่าความผิดพลาดเปอร์เซ็นต์สัมบูรณ์จะเป็น |2-1| / |2| = 50% ซึ่งทำให้การคาดการณ์คลาดเคลื่อนค่อนข้างสูง แม้ว่าการคาดการณ์จะปิดไปเพียง 1 หน่วยเท่านั้น

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

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