Как рассчитать mape в python
Средняя абсолютная процентная ошибка (MAPE) обычно используется для измерения точности прогнозирования моделей. Он рассчитывается следующим образом:
MAPE = (1/n) * Σ(|факт – прогноз| / |факт|) * 100
Золото:
- Σ – символ, означающий «сумма».
- n – размер выборки
- реальный – фактическое значение данных
- предсказание – значение прогнозируемых данных
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 легко рассчитать и интерпретировать, его использование имеет два потенциальных недостатка:
1. Поскольку формула расчета абсолютной процентной ошибки |фактическое предсказание| / |реальный| это означает, что MAPE не будет определен, если какое-либо из фактических значений равно нулю.
2. MAPE не следует использовать с данными небольшого объема. Например, если фактический спрос на товар равен 2, а прогноз равен 1, значение абсолютной процентной ошибки будет |2-1| / |2| = 50%, что делает ошибку прогноза довольно высокой, даже если прогноз отклоняется всего на 1 единицу.