Расчет MAPE на Python: руководство по измерению точности прогнозов

В мире прогнозирования крайне важно точно измерять эффективность моделей. Одним из часто используемых показателей для оценки точности прогнозов является средняя абсолютная процентная ошибка (MAPE). В этой статье мы рассмотрим различные методы расчета MAPE с использованием Python, попутно предоставляя разговорные объяснения и примеры кода.

Метод 1: расчет вручную
Давайте начнем с базового метода, который предполагает расчет MAPE вручную. Вы можете использовать следующую формулу:

def calculate_mape(actual, forecast):
    errors = []
    for i in range(len(actual)):
        error = abs((actual[i] - forecast[i]) / actual[i])
        errors.append(error)
    mape = sum(errors) / len(errors) * 100
    return mape

Метод 2: подход NumPy
Если вы работаете с массивами или матрицами, NumPy может упростить процесс вычислений. Вот пример:

import numpy as np
def calculate_mape(actual, forecast):
    errors = np.abs((actual - forecast) / actual)
    mape = np.mean(errors) * 100
    return mape

Метод 3: интеграция Pandas
При работе с фреймами данных в Pandas вы можете воспользоваться встроенными функциями для эффективного расчета MAPE. Вот пример:

import pandas as pd
def calculate_mape(actual, forecast):
    errors = (actual - forecast).abs() / actual
    mape = errors.mean() * 100
    return mape

Метод 4: Модуль показателей Scikit-Learn
Scikit-Learn предоставляет комплексную библиотеку для задач машинного обучения, включая метрики для оценки производительности модели. Функцию mean_absolute_percentage_errorможно использовать для расчета MAPE:

from sklearn.metrics import mean_absolute_percentage_error
def calculate_mape(actual, forecast):
    mape = mean_absolute_percentage_error(actual, forecast) * 100
    return mape

В этой статье мы рассмотрели несколько методов расчета MAPE в Python. Независимо от того, предпочитаете ли вы ручной подход, возможности NumPy, фреймы данных Pandas или модуль метрик Scikit-Learn, теперь у вас есть ряд возможностей для эффективного измерения точности прогнозов. Не забудьте выбрать метод, который лучше всего соответствует вашим данным и рабочему процессу.