Вопрос или проблема
Я тренирую регрессионную модель (используя лес регрессии с квантилами) для прогнозирования отклонений урожайности от тренда (остатков) с использованием погодных переменных с разными временными задержками. Пытаясь улучшить точность и уверенность в своих результатах, я недавно протестировал замену целевой переменной на ее сглаженную версию (вычисленную с помощью метода локально взвешенного сглаживания точечного графика, LOWESS), используя в качестве независимой переменной признак без временной задержки (то есть, с временной задержкой = 0), пытаясь удалить шум из измеренных данных. На рисунке ниже крестики представляют собой наблюдаемые значения, красные точки – выбросы, а серой линией обозначена сглаженная версия зависимой переменной.
Я получил значительные улучшения в результате, но с этим подходом что-то не так. Я изучал использование методов сглаживания в машинном обучении и нашел, что, действительно, сглаживание является техникой, используемой в предварительной обработке данных, создании признаков и добыче данных для фильтрации шума (например, здесь или здесь; или здесь, применяемый для прогнозирования временных рядов). С одной стороны, логично удалить шум из целевой переменной, чтобы оценить “истинные значения”, полученные из процесса, который я пытаюсь смоделировать; однако я узнал, что предварительная обработка применяется к признакам (объясняющим переменным), и я не уверен, что сглаживание целевой переменной является допустимой процедурой. В заключение:
Допустимо ли заменять целевую переменную на ее сглаженную версию?
Если да, учитывая, что независимая переменная, использованная для сглаживания целевой переменной, заранее недоступна, как мне следует поступить?
а. обучить модель на сглаженной целевой переменной и протестировать ее на исходной целевой переменной; или
б. обучать и тестировать модель на сглаженной целевой переменной.
Буду признателен за любые мысли.
Допустимо ли заменять целевую переменную на ее сглаженную версию?
Это не кажется допустимым подходом. Я не убежден, что вы устранили шум, а не законные эффекты. Если вы рассмотрите любые две соседние точки на вашем графике, разница в целевой переменной, вероятно, будет обусловлена множеством факторов (не показанных на вашем графике). Это может выглядеть как шум (большие скачки), потому что мы не учитываем другие факторы. Представьте, что ваша целевая переменная – это рост студента, и вы сглаживаете его, используя рост ~ возраст с помощью loess, потому что вы наблюдаете некоторые большие скачки в росте, например, между 17 и 17.5 годами. Проблема в том, что половина ваших студентов из Нидерландов (самой высокой нации в Европе). Если вы сгладите вашу целевую переменную как выше, вы никогда не сможете получить хорошую подгонку (по сравнению с оригинальной целевой переменной, конечно), даже если вы включите национальность как признак. Иными словами, применяя такое сглаживание, вы игнорируете влияние всех других факторов и имплицитно предполагаете, что целевая переменная может быть смоделирована как гладкая функция одного (в вашем случае не наблюдаемого / недоступного) фактора. В общем, устранение шума может помочь, но я предполагаю, что на практике очень сложно различить истинные эффекты и шум. Вместо предварительной обработки целевой переменной я бы просто контролировал переобучение (например, с помощью регуляризации или ранней остановки) и позволил модели сгладить данные.
Ответ от aivanov неверен в контексте моделирования временных рядов. Поскольку ваша методология сглаживания не вводит утечку данных из будущих точек данных, это абсолютно допустимый подход. Если ваша цель, скажем, средние цены акций за последние 12 часов – это ваша цель. Она буквально ничем не отличается от любой другой цели, кроме того факта, что вам нужно убедиться, что вы не используете никаких будущих, неизвестных данных в качестве предсказателей.
Ответ или решение
Замена целевой переменной на сглаженную версию: правильный ли подход?
В контексте вашей задачи с использованием модели регрессии для предсказания отклонений урожая от тренда, разумно рассмотреть использование сглаженных целевых переменных на этапе предобработки данных. Однако при этом нужно учитывать несколько ключевых аспектов, чтобы избежать потенциальных ошибок и обеспечить валидность вашего подхода.
Почему сглаживание целевой переменной может быть проблематичным?
-
Потеря важной информации:
Сглаживание целевой переменной может привести к потере значимых изменений, которые могут быть вызваны различными факторами, например, изменениями в климате, агрономическими практиками и т.д. Как иллюстрировала ваша аналогия с ростом студентов, сглаживание может скрыть разницу, обусловленную различиями в значениях фактора, который не был учтен при сглаживании. -
Датасет и предсказания:
Если вы используете сглаживающую технику, такую как LOWESS, основанную на признаках, которые вы не собирались использовать в качестве независимых переменных, это может привести к тому, что модель будет обучаться на неправильной базе данных. Подходите к выбору признаков аккуратно, чтобы избежать возможного смещения. -
Возможное переобучение:
Сглаживание может привести к более высокому уровню точности на обучающем наборе данных, но это может уменьшить возможность обобщения модели на новых, невидимых данных. Это особенно верно, если колебания в данных не являются чистым шумом, а отражают реальную динамику, которую следует учитывать.
Если вы решили использовать сглаженную целевую переменную
Если вы всё-таки решили использовать сглаженную целевую переменную, рекомендуется следующее:
-
Тестирование:
- Опция A: Обучите модель на сглаженной целевой переменной и протестируйте её на исходных значениях. Это позволит вам оценить, насколько ваш подход улучшает предсказания в условиях реальных данных.
- Опция B: Обучите и протестируйте модель на сглаженных данных, но обязательно оставьте контрольный набор данных для проверки методологии. Это поможет удостовериться в том, что результаты не искажены.
-
Контроль за переобучением:
Чтобы обеспечить надежность модели, используйте методы контроля за переобучением, такие как регуляризация, ранняя остановка и кросс-валидация. -
Дополнительное изучение факторов:
По возможности изучите больше факторов, которые могут влиять на целевую переменную. Даже если вы используете сглаживание, добавление дополнительных переменных может помочь улучшить качество модели.
Заключение
Смягчение целевой переменной — это спорный подход, который требует осторожного рассмотрения. Хотя можно использовать методы сглаживания для снижения шума, необходимо убедиться, что это не приведет к утрате критически важной информации о данных. Если вы все же решите двигаться в этом направлении, используйте надежные методы тестирования и контроля, чтобы удостовериться в эффективности вашей модели.