วิธีการคำนวณ smape ใน r


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

SMAPE = (1/n) * Σ(|การคาดการณ์ – จริง| / ((|จริง| + |คาดการณ์|)/2) * 100

ทอง:

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

ยิ่งค่าของ SMAPE น้อยเท่าใด ความแม่นยำในการทำนายของแบบจำลองที่กำหนดก็จะยิ่งดีขึ้นเท่านั้น

บทช่วยสอนนี้จะอธิบายสองวิธีที่แตกต่างกันที่คุณสามารถใช้เพื่อคำนวณ SMAPE ใน R

วิธีที่ 1: ใช้ smape() จากแพ็คเกจ Metrics

วิธีหนึ่งในการคำนวณ SMAPE ใน R คือการใช้ฟังก์ชัน smape() จากแพ็คเกจ Metrics :

 library (Metrics)

#define actual values
actual <- c(12, 13, 14, 15, 15, 22, 27)

#define forecasted values
forecast <- c(11, 13, 14, 14, 15, 16, 18)

#calculate SMAPE
smape(actual, forecast)

[1] 0.1245302

เราจะเห็นว่าค่าความคลาดเคลื่อนเปอร์เซ็นต์เฉลี่ยสัมบูรณ์แบบสมมาตรสำหรับแบบจำลองนี้คือ 12.45%

วิธีที่ 2: เขียนฟังก์ชันของคุณเอง

อีกวิธีหนึ่งในการคำนวณ STAPE คือการสร้างฟังก์ชันของเราเองดังนี้:

 find_smape <- function (a, f) {
  return ( 1 /length(a) * sum( 2 *abs(fa) / (abs(a)+abs(f))* 100 ))
}

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

 #define actual values
actual <- c(12, 13, 14, 15, 15,22, 27)

#define forecasted values
forecast <- c(11, 13, 14, 14, 15, 16, 18)

#calculate SMAPE
find_smape(actual, forecast)

[1] 12.45302

เป็นอีกครั้งที่ SMEPE กลายเป็น 12.45% ซึ่งตรงกับผลลัพธ์ของตัวอย่างก่อนหน้านี้

แหล่งข้อมูลเพิ่มเติม

วิธีการคำนวณ MAPE ใน R
วิธีการคำนวณ MAD ใน R
วิธีการคำนวณ MAE ใน R
วิธีการคำนวณ RMSE ใน R
วิธีการคำนวณ MSE ใน R

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

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