Вопрос или проблема
Я сейчас работаю с линейной регрессией для задачи регрессии временных рядов (извините, но я не могу рассказать слишком много о проблеме и векторе признаков из-за соглашения о неразглашении).
Я масштабировал как входные значения, так и целевую переменную (X и y) с помощью StandardScaler() из библиотеки scikit-learn.
Причина масштабирования как X, так и y заключается в том, что, поскольку это задача регрессии временных рядов, мы используем предыдущее значение y (целевое значение) как признак (X) для следующей точки данных.
Таким образом, существует связь между y и X.
Поэтому я подумал, что для поддержания зависимости между X и y (предыдущим целевым значением) мне нужно масштабировать их оба.
После обучения модели я получил низкое значение RMSE на валидационном и тестовом наборах. Обратите внимание, что валидационный и тестовый наборы содержат данные с масштабированными/нормализованными значениями X и y.
Однако, когда я попытался пересчитать (inverse_transform) прогнозы и оценить RMSE прогнозов по сравнению с истинным целевым значением тестового набора (истинное целевое значение также уже было пересчитано), я получил высокую ошибку RMSE.
Мой вопрос: является ли хорошей практикой оценивать RMSE/точность пересчитанных (обратных трансформированных) прогнозов по сравнению с истинными целевыми значениями?
Ошибка в процентах от истинного значения в каждом случае, вероятно, одинаковая – она просто кажется больше, потому что стандартизированные значения намного меньше, чем нестандартизированные (стандартизированные значения будут в основном между -1 и 1, а нестандартизированные значения будут такими, какими они есть в вашем наборе данных).
Попробуйте измерить соответствие вашей линейной модели, используя корреляционный коэффициент Пирсона, проверяя, как ваши предсказанные значения коррелируют с истинными значениями. Это должно быть одинаково как для масштаба, так и для несмещения и даст вам лучшее представление о том, хороша ли ваша модель.
Вы также можете построить график, изображающий ваши предсказанные значения относительно истинных в виде разброса, чтобы увидеть примерно, что происходит.
Ответ или решение
Вопрос о правильности оценки производительности модели с использованием метрик, сопоставляющих предсказания в обратном масштабе и истинные целевые значения, является важной темой в области анализа данных и машинного обучения. В контексте работы с линейной регрессией для задачи регрессии временных рядов, давайте подробно рассмотрим основные моменты, связанные с этой практикой.
1. Масштабирование данных
Вы правильно отмечаете, что использование StandardScaler()
для масштабирования как входных переменных (X), так и целевой переменной (y) может быть оправданным в случае временных рядов. Это позволяет сохранить зависимость между данными, особенно если целевая переменная является своего рода шайбой, использующейся в качестве предшествующего значения для будущих предсказаний. Однако такое масштабирование может привести к потере интерпретируемости производительности модели в метриках, поскольку RMSE в стандартизированных значениях будет выглядеть намного меньшим по сравнению с оригинальными значениями.
2. Оценка производительности модели
Когда вы используете RMSE для оценки производительности модели, важно учитывать, что он зависит от масштаба данных. Если вы сначала преобразуете ваши предсказания обратно в исходный масштаб (inverse transform), а затем сравниваете эти значения с истинными целевыми значениями, это может привести к ошибке, особенно если ваши данные имеют широкий диапазон значений. Высокое значение RMSE после обратного преобразования может быть следствием различий в масштабе, а не низкой производительности модели.
3. Альтернативные подходы к оценке
Для более корректной оценки модели можно использовать следующие методы:
-
Корреляция Пирсона: Этот метод даст вам представление о том, насколько сильно предсказанные значения коррелируют с истинными значениями. Корреляция не зависит от масштаба, поэтому это может быть более надежный индикатор качества модели.
-
Графическое представление: Построение диаграммы рассеяния настоящих значений по сравнению с предсказанными может помочь визуально оценить, насколько хорошо модель работает. Если точки находятся рядом с линией y=x, это свидетельствует о хорошей производительности модели.
-
Стандартное отклонение: Анализ стандартного отклонения предсказанных значений относительно истинных значений также может дать дополнительную информацию о качестве модели.
4. Заключение
Таким образом, оценка RMSE предсказанных и истинных значений после обратного масштабирования не всегда является лучшей практикой, особенно в условиях, когда масштаб данных значительно варьируется. Рекомендуется использовать более универсальные показатели качества моделей, такие как корреляция и визуализация, чтобы получить полноту картины производительности вашей модели. Это улучшит интерпретируемость результатов и предоставит более глубокое понимание того, что действительно происходит в модели.
Рекомендации выше помогут вам более эффективно оценивать производительность вашей модели линейной регрессии в задачах регрессии временных рядов.