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단위만 벗어나더라도 예측 오류가 상당히 높게 나타납니다.