Python에서 mape를 계산하는 방법


평균 절대 백분율 오차(MAPE)는 일반적으로 모델의 예측 정확도를 측정하는 데 사용됩니다. 다음과 같이 계산됩니다.

MAPE = (1/n) * Σ(|실제 – 예측| / |실제|) * 100

금:

  • Σ – “합계”를 의미하는 기호
  • n – 표본 크기
  • real – 데이터의 실제 값
  • 예측 – 예측된 데이터의 값

MAPE는 해석과 설명이 쉽기 때문에 흔히 사용됩니다. 예를 들어 MAPE 값이 11.5%라는 것은 예측값과 실제값의 평균 차이가 11.5%라는 의미입니다.

MAPE 값이 낮을수록 모델이 값을 더 잘 예측할 수 있습니다. 예를 들어 MAPE가 5%인 모델은 MAPE가 10%인 모델보다 더 정확합니다.

Python에서 MAPE를 계산하는 방법

MAPE를 계산하는 내장 Python 함수는 없지만 이를 수행하는 간단한 함수를 만들 수 있습니다.

 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는 계산하고 해석하기 쉽지만 사용에는 두 가지 잠재적인 단점이 있습니다.

1. 절대 백분율 오차 계산 공식은 |실제 예측|이므로 / |진짜| 이는 실제 값 중 하나라도 0이면 MAPE가 정의되지 않음을 의미합니다.

2. MAPE는 용량이 적은 데이터에는 사용하면 안 됩니다. 예를 들어, 품목에 대한 실제 수요가 2이고 예측이 1인 경우 절대 백분율 오류 값은 |2-1|입니다. / |2| = 50%, 예측이 1단위만 벗어나더라도 예측 오류가 상당히 높게 나타납니다.

의견을 추가하다

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다