สถาบันข้อมูลขนาดใหญ่ (องค์การมหาชน)

โมเดลของคุณเมพ (MAPE) แค่ไหน: 2 วิธีวัดผลความแม่นยำโมเดล

Jul 11, 2023

การวัดผลความแม่นยำ (Accuracy) ของ Model นั้น มีความสำคัญอย่างยิ่งในการวัดความน่าเชื่อถือและการเลือกใช้โมเดล ถ้าเช่นนั้นการคัดเลือกตัวชี้วัดที่เหมาะสมจึงมีความสำคัญไม่แพ้กับการสร้าง Model แล้วเราจะทำการเลือกตัวชี้วัดใดมาใช้ในการวัดความแม่นยำของ Model ของเรา ดังนั้นในบทความนี้ เราจะคัดเลือกตัวชี้วัด (Metrics) บางตัว ที่ใช้ในการวัดผลของโจทย์การวิเคราะห์ในประเภท Regression (เช่น ทำนายรายได้ ทำนายความต้องการใช้ไฟฟ้า) ทั้งตัวชี้วัดมาตรฐาน (เช่น MSE, RMSE, MAE, MAPE, sMAPE ฯลฯ)  และ ตัวชี้วัดที่ปรับตามบริบทการใช้งาน เพื่ออธิบายถึงวิธีการคำนวณ ข้อดีข้อเสีย และวิธีการเลือกใช้กันนะครับ

Table of Contents

  • ประเด็นควรพิจารณาก่อนเลือกใช้ตัววัดความแม่นยำ
  • ตัวชี้วัดโมเดลที่น่าสนใจมีอะไรบ้าง ?
  • Mean Absolute Percentage Error (MAPE)
  • Symmetric Mean Absolute Percentage Error (SMAPE)
  • ตัวชี้วัดตามบริบทของการใช้งาน
  • บทสรุปการนำตัวชี้วัดไปใช้งาน

ประเด็นควรพิจารณาก่อนเลือกใช้ตัววัดความแม่นยำ

ตัวชี้วัดที่ใช้ในการวัดผลโมเดลนั้นมีหลายตัว และจำเป็นต้องเลือกใช้ให้เหมาะสมแก่สถานการณ์ (no one-size-fits-all) โดยในบทความนี้ เราจะพูดถึงตัวชี้วัดต่าง ๆ โดยคำนึงถึง 3 แง่มุม ได้แก่

  1. Interpretability (ตีความง่าย): ในหลาย ๆ ครั้ง เราจำเป็นต้องรายงานผลความแม่นยำของโมเดลแก่ผู้มีส่วนได้ส่วนเสีย (Stakeholders) ซึ่งอาจไม่ได้มีพื้นฐานความเข้าใจเฉพาะทาง ในกรณีนี้ควรเลือกตัวชี้วัดที่ทำความเข้าใจได้ง่าย เพื่อทำให้สามารถตัดสินใจได้เร็ว
  2. Applicability (การนำไปใช้): ผู้วิเคราะห์ควรพิจารณาว่า ผลของโมเดลนี้จะถูกนำไปใช้เพื่ออะไร (เช่น สำรองงบประมาณ จัดเตรียมสินค้าคงคลัง ตรวจสอบความผิดปกติ หรือ ทำนายมูลค่าเพื่อการลงทุน) โดยแต่ละการนำไปใช้เหล่านี้ อาจจะมีเหมาะสมกับตัวชี้วัดคนละตัวกัน ในบางกรณีผู้วิเคราะห์อาจจะต้องคิดค้นตัวชี้วัดโดยการคำนวณจากผลกระทบที่เกิดจากความผิดพลาดของโมเดล เพื่อประกอบการตัดสินใจนำโมเดลไปใช้งาน
  3. Optimizability (ทฤษฎีที่รองรับ): ในกรณีที่เราใช้ตัวชี้วัดนี้ในการปรับโมเดล ในกรณีนี้จำเป็นต้องคำนึงถึงทฤษฎีทางคณิตศาสตร์ที่รองรับในการปรับโมเดล ว่าเหมาะสมเพียงใด ในส่วนนี้ผู้อ่านสามารถศึกษารายละเอียดเพิ่มเติมได้ผ่านบทความภาษาอังกฤษชื่อ  Forecast KPIs: RMSE, MAE, MAPE & Bias (Vandeput, 2019)

ตัวชี้วัดโมเดลที่น่าสนใจมีอะไรบ้าง ?

เพื่อความสะดวกในการอธิบาย เราจะทำการจำลองสถาณการณ์การทำนายยอดขายของสินค้าแต่ละชิ้น โดยกำหนดให้

  • ค่าความต้องการจริง (Actual Demand) แทนด้วย  A_i ของสินค้าชิ้นนั้น,
  • ค่าทำนายของความต้องการ (Forecast Demand) แทนด้วย F_i ของสินค้าชิ้นนั้นที่ได้จากโมเดล

ในกรณีนี้ เราจะกำหนดค่าความคาดเคลื่อน (error) ของโมเดล โดยกำหนดให้ค่าความคลาดเคลื่อน

หากค่าทำนายสูงกว่าค่าจริง ค่า error จะเป็นบวก แต่ถ้าค่าจริงสูงกว่าค่าทำนาย ค่า error จะเป็นลบ

Mean Absolute Percentage Error (MAPE)

Mean Absolute Percentage Error สามารถหาได้จากค่าเฉลี่ยของค่าเปอร์เซ็นต์ความคลาดเคลื่อนมาเฉลี่ยกัน ดังสมการ

สมการคำนวณค่า MAPE Equation

โดยผู้อ่านสามารถทำความเข้าใจวิธีการคำนวณค่า MAPE ได้ตามตารางด้านล่าง

สัญลักษณ์ตัวแปรi=1i=2i=3i=4i=5
A_i543105
F_i44297
|e_i|10112
|e_i|/A_i0.2000.330.10.4
ตารางที่ 1 แสดงวิธีการคำนวณ Percentage Error ราย case

จากตารางข้างต้น จะสามารถสรุปค่าความคาดเคลื่อนเฉลี่ย ได้เท่ากับ

ค่า MAPE สามารถใช้ตีความได้ง่าย

ค่า Mean Absolute Percentage Error ใช้การรายงานผลเป็นเปอร์เซนต์ทำให้สามารถทำความเข้าใจถึงระดับความแม่นยำได้ โดยไม่ต้องคำนึงถึงขนาดของสิ่งที่กำลังทำนายอยู่ (scale-independent) ทำให้รายงานให้ผู้มีส่วนได้ส่วนเสียเข้าใจได้ง่าย และสามารถตัดสินใจได้เร็ว

ข้อจำกัดด้านเทคนิคของ MAPE

  • ตัวหารที่ใกล้เคียง 0: ในกรณีที่ค่าจริง (Actual Demand) เป็น 0 จะไม่สามารถหาค่าได้ หรือในกรณีที่มีค่าใกล้เคียง 0 จะทำให้ค่าความคาดเคลื่อน มีค่าสูงผิดปกติ
  • สูตรไม่สมมาตร: ในกรณีที่ค่าทำนายนั้น น้อยกว่าค่าจริง ค่า Absolute Percentage Error จะอยู่ที่ 0-100% แต่ในกรณีที่ค่าทำนายสูงกว่าค่าจริง ค่า Absolute Percentage Error มีโอกาสที่จะสูงกว่า 100% ดังนั้นการใช้ค่านี้ ในการเลือกโมเดล จะมีแนวโน้มที่จะได้โมเดลที่ทำนายค่าที่ต่ำกว่าปกติ

Symmetric Mean Absolute Percentage Error (SMAPE)

Symmetric Mean Absolute Percentage Error มีวิธีการคำนวณคล้ายคลึงกับ MAPE แต่เปลี่ยนตัวหารจากค่าจริง เป็นค่าเฉลี่ยของค่าจริง กับค่าทำนาย ดังสมการ

SMAPE Expression

ตัววัดผล Symmetric Mean Absolute Percentage Error นั้นสามารถแก้ไขปัญหาเรื่องการหารด้วย 0 ได้ นอกจากนี้ยังสามารถจำกัดค่าความคลาดเคลื่อนของแต่ละกรณีไว้ที่ระหว่าง 0-200% แต่ตัวชี้วัดแบบสมมาตรนี้ยังมีความ Sensitive สูงต่อกรณีที่ทั้งค่าจริง และค่าทำนายมีค่าเข้าใกล้ 0 เช่นในกรณีที่ค่าจริงมีค่า A_i แต่ F_i กรณีนี้จะคำนวณค่า symmetric error ได้เป็น 100% ซึ่งอาจจะไม่สมเหตุสมผลได้บางกรณี

Mean Absolute Error (MAE)

เป็นอีกตัวชี้วัดที่ได้รับความนิยมสูง โดยสามารถคำนวณได้ จากการนำค่าสัมบูรณ์ของความคลาดเคลื่อน (Absolute Error) มาเฉลี่ยกัน ดังสมการ

MAE Expression

วิธีการคำนวณ MAE นั้นตรงไปตรงมา แต่การทำความเข้าใจนั้นยากกว่า Mean Absolute Percentage Error เนื่องจากจำเป็นต้องพิจารณาควบคู่กับขนาด (scale) ของสิ่งที่ทำนายด้วย สมมติว่าค่า MAE ของโมเดลหนึ่งเท่ากับ 20 เซนติเมตร ผู้ตีความจำเป็นต้องพิจารณาว่าโมเดลนี้กำลังทำนายขนาดของอะไร ถ้าโมเดลนี้ใช้ทำนายความสูงของตึกที่มีความสูงเฉลี่ย 10 เมตร ในกรณีนี้ถือว่าดี แต่ถ้าใช้ทำนายความสูงของมนุษย์ที่มึความสูงเฉลี่ย 1.5 เมตร ในกรณีนี้อาจจะถือว่าไม่ดีพอ ในกรณีนี้จำเป็นต้องหารค่า MAE ด้วยค่าเฉลี่ยของค่าจริงหรือที่เราจะเรียกว่า %MAE ของ MAE ดังสมการ

%MAE Equation
วัตถุประสงค์ค่าเฉลี่ยMAE% MAE
ทำนายความสูงมนุษย์1.5 m20 cm13.3%
ทำนายความสูงตึก10 m20 cm2%
ตารางที่ 2 เปรียบเทียบความสำคัญของการพิจารณาขนาดของสิ่งที่วัดผล

ในกรณีนี้ ผู้วิเคราะห์จะพบว่า เราสามารถหลีกเลี่ยงข้อจำกัดในการหา MAPE ในกรณีที่ค่าจริง (Actual Value) มีค่าใกล้ 0 ได้ โดยค่า %MAE นั้นสามารถตีความได้ว่าเป็นการคำนวณ ค่าความคาดเคลื่อนเฉลี่ยแบบถ่วงน้ำหนัก โดยที่ทำการถ่วงน้ำหนักของแต่ละค่าทำนาย ด้วยค่าจริงของค่าที่ต้องการทำนาย ในบางตำราจะถูกเรียกเป็นอีกชื่อว่า WMAPE (Weighted Mean Absolute Percentage Error) ซึ่งสามารถตีความได้ว่า เป็นการนำเอาเปอร์เซ็นต์ความคลาดเคลื่อน มาเฉลี่ยกันแบบถ่วงน้ำหนักด้วยค่าจริง

การสับสนระหว่าง MAPE และ %MAE

โดยในการใช้หลาย ๆ ครั้ง ผู้วิเคราะห์มักมีการใช้ค่าสองตัวนี้สลับกัน ดังนั้น เพื่อป้องกันความสับสนผู้เขียนจึงแนะนำให้เขียนสูตรแนบไว้ทุกครั้ง เพื่อป้องกันความสับสน

Root Mean Square Error (RMSE)

เป็นตัวชี้วัดที่ทำการทำนายที่นิยมใช้ในการวัดผล สามารถวัดได้โดยการนำค่ากำลังสองของความคลาดเคลื่อนมาเฉลี่ยกัน แล้วถอดรากที่ 2 ดังสมการ

RMSE Equation

ตัวชี้วัด Root Mean Square Error (RMSE) นั้นมีความซับซ้อนมากกว่าการคำนวณ MAE (Mean Square Error) เล็กน้อย และจะให้น้ำหนักความเสียหาย (Penalize) กับกรณีที่ค่าความคลาดเคลื่อนมีความสุดโต่ง โดยตัวค่า RMSE นั้นสามารถหาเป็น % ได้เช่นเดียวกับ MAE ด้วยสูตร

% RMSE

ค่า RMSE นั้นจะได้รับความนิยมสูงในการใช้เพื่อฝึกฝน และเลือกแบบจำลอง เนื่องจากตัวสูตรนั้นค่อนข้างง่ายต่อการหาค่าอนุพันธ์ (Derivative) ทำให้การปรับแบบจำลองนั้น สามารถทำได้อย่างเป็นธรรมชาติมากกว่า และเป็นค่าชี้วัดที่ใช้ในการแข่งขันสำหรับโจทย์ประเภท Regression จำนวนมากบน Platform Kaggle

ตัวชี้วัดตามบริบทของการใช้งาน

เราได้ทำการอธิบายถึงตัวชี้วัดความแม่นยำมาตรฐานไปแล้ว โดยส่วนใหญ่แล้วจะเป็นการคำนวณค่าเฉลี่ยของความคลาดเคลื่อนด้วยวิธีที่แตกต่างกันออกไป แต่ในบางกรณี ตัวชี้วัดมาตรฐานเหล่านี้ไม่สามารถนำมาปรับใช้เพื่อตัดสินใจในบริบททางธุรกิจได้ เช่น ในกรณีที่ทำนายความต้องการ (Demand Forecast)

การทำนายความต้องการสินค้ามากเกินจริง (Overestimate) อาจนำไปสู่การเพิ่มต้นทุนในการจัดเก็บสินค้าได้ แต่การทำนายสินค้าน้อยกว่าความเป็นจริง (Underestimate) ทำให้ไม่มีสินค้าขายและเสียโอกาสในการทำธุรกิจ ซึ่งการทำนายมากหรือน้อย มีน้ำหนักของความเสียหายทางธุรกิจไม่เท่ากัน ผู้ใช้อาจจำเป็นต้องใช้ความคิดสร้างสรรค์ในการคิดตัวชี้วัดให้เหมาะสม

โดยในบทความนี้จะนำเสนอเพิ่มอีก 2 วิธี ที่สามารถนำมาปรับใช้งานได้ คือ

  1. Error Tolerance Threshold คือ การกำหนดค่าความคลาดเคลื่อนที่ยอมรับได้ (เช่น +/- 20%) แล้วนำมาคำนวณสัดส่วนของจำนวนกรณีที่มีค่าความคลาดเคลื่อนอยู่ในเกณฑ์ที่ยอมรับได้หารด้วยจำนวนกรณีทั้งหมด และทำการรายงานเป็นค่าความแม่นยำ วิธีการนี้ถูกปรับใช้จากแนวคิด Factorize-MAPE (Lapiello, 2022)
  2. Potential Revenue Loss คือ เป็นวิธีการคำนวณมูลค่าความเสียหายที่เกิดขึ้นจากการทำนายที่คลาดเคลื่อน โดยมีกรณีศึกษาจากงานวิจัยของ Walmart (Ramakrishnan, et al., 2019) ที่ทำการทำนายความผิดปกติของการตั้งราคาสินค้าแบบอัตโนมัติ (Dynamic Pricing) โดยโปรแกรมจะทำการกรองสินค้าที่มีการตั้งราคาผิดปกติ และจัดลำดับความสำคัญของการตรวจสอบ โดยเรียงลำดับตามค่าความเสียหายที่อาจจะเกิดขึ้น เช่น กรณีตั้งราคาต่ำไป จะทำให้ขาดทุนเท่าไหร่ หรือการตั้งราคาที่สูงไป จะทำให้เสียโอกาสในการทำกำไรไปเท่าไหร่

บทสรุปแนวทางการคัดเลือกตัวชี้วัดไปใช้งาน

โดยสรุปแล้ว การเลือกตัวชี้วัดที่เหมาะสมควรคำนึงถึง

  • ความยากง่ายในการตีความ
  • การปรับใช้ให้เข้ากับบริบทของธุรกิจ
  • ทฤษฎีเบื้องหลังตัวชี้วัดนั้น ๆ

ถ้าหากเราเลือกตัวชี้วัดได้อย่างเหมาะสม จะทำให้ผู้มีส่วนได้ส่วนเสีย (Stakeholders) สามารถตัดสินใจได้รวดเร็ว แม่นยำ และมั่นใจมากขึ้น นอกจากนี้ยังสามารถทำให้แบบจำลองของเรา มีโอกาสที่จะได้นำไปต่อยอดเพื่อใช้ประโยชน์ในวงกว้างได้มากขึ้นอีกด้วย

สามารถสรุปแนวทางการนำไปใช้ได้โดยสังเขปดังตารางนี้

ชื่อตัวชี้วัดข้อสรุป
MAPEตีความง่าย เนื่องจากแสดงผลเป็นเปอร์เซนต์ถ้าค่าจริงมีค่าใกล้กับ 0 จะทำให้ค่า MAPE สูงจนดูไม่น่าเชื่อถือไม่ควรใช้กับโจทย์ที่มีความแปรปรวนสูง
% MAE, wMAPEตีความง่าย เนื่องจากแสดงผลเป็นเปอร์เซ็นต์สามารถใช้ให้เห็นภาพรวมสำหรับโจทย์ที่มีความแปรปรวนสูง
% RMSEมีความอ่อนไหวต่อ Outlier เหมาะที่จะใช้เป็น Loss Function
Tolerance Thresholdสามารถเชื่อมโยงกับบริบททางธุรกิจได้ไม่อ่อนไหวต่อ Outlier
Potential Revenue Lossสามารถเชื่อมโยงกับบริบททางธุรกิจได้แต่จำเป็นต้องมีความเข้าใจในธุรกิจ
ตารางที่ 3 แนวทางการคัดเลือกตัวชี้วัดไปใช้งาน

ซึ่งในบทความนี้จะพูดถึงเฉพาะตัวชี้วัดที่เกี่ยวข้องกับโจทย์การทำนายประเภท Regression (คำตอบเป็นตัวเลข) เท่านั้น สำหรับโจทย์ทำนายประเภท Classification (คำตอบเป็นหมวดหมู่) นั้นจะมีการวัดที่แตกต่างกันซึ่งผู้อ่านสามารถศึกษาเพิ่มเติมได้ที่ Top 3 Classification Machine Learning Metrics

เรียบเรียงโดย วีรภัทร สาธิตคณิตกุล

ตรวจทานและปรับปรุงโดย นววิทย์ พงศ์อนันต์

แหล่งอ้างอิง

  1. Lapiello, E., 2022. How good is your forecasting? Unpacking metrics to evaluate true business impact of your models.
  2. Lewinson, E., 2020. Choosing the correct error metric
  3. Ramakrishnan, J., Shaabani, E., Li, C. & Sustik, M. A., 2019. Anomaly Detection for an E-Commerce Pricing System.
  4. Vandeput, N., 2019. Forecast KPIs: RMSE, MAE, MAPE & Bias.
  5. ลดความเสี่ยงการให้บริการสินเชื่อด้วย machine learning
  6. Bayesian Trap: กับดักจากความแม่นยำ
  7. Logistic Regression ด้วย Microsoft Excel

Weerapat Satitkanitkul

Senior Data Scientist at Big Data Institute (Public Organization), BDI

Navavit Ponganan

Editor-in-Chief and Senior Data Scientist at Big Data Institute (Public Organization), BDI