Понять квантильную регрессию
Для задач прогнозирования регрессии не всегда, когда мы преследуем только абсолютно точный прогноз, и на самом деле наш прогноз всегда неточен, поэтому вместо поиска абсолютной точности иногда требуется интервал прогнозирования, и в таких случаях нам нужен квантиль. регрессия - то, что мы прогнозируем интервальную оценку нашей цели.
Функция потерь
К счастью, мощный lightGBM
сделал возможным квантильное предсказание, и основное отличие квантильной регрессии от общей регрессии заключается в функции потерь, которая называется потерей пинбола или квантильной потерей. Есть хорошее объяснение потери пинбола здесь, оно имеет формулу:
Где y
- фактическое значение, z
- прогноз, а 𝛕 - целевой квантиль. Таким образом, при первом взгляде на функцию потерь мы можем видеть, что помимо того, что квантиль равен 0,5, функция потерь несимметрична. Давайте наглядно покажем это:
Реализацию можно найти на моем Git Repo. На графике были нанесены три различных квантиля, возьмите квантиль 0,8 в качестве примера, когда ошибка положительная (z > y
- прогнозируемое значение выше фактического значения), потери меньше, чем при отрицательной ошибке. В другом мире более высокая ошибка менее наказуема, это имеет смысл в том, что для прогнозирования с высоким квантилем функция потерь поощряет более высокое значение прогноза, и наоборот, для прогнозирования с низким квантилем.
Создать образец набора данных
Теперь давайте сгенерируем некоторые данные для предсказания LightGBM.
Здесь мы используем функцию sin (x) с некоторым дополнительным шумом в качестве обучающего набора.
Прогнозирование LightGBM
Инициировать LGMRegressor
:
Обратите внимание, что в отличие от общей регрессии, objective
и metric
равны quantile
, а alpha
- это квантиль, который нам нужно предсказать (подробности можно найти в моем Репо).
Визуализация прогнозов
Теперь давайте посмотрим на результат квантильного прогноза:
Мы можем видеть, что большинство зашумленных точек расположены в диапазоне прогнозов, где зеленая линия - это верхняя граница квантиля 0,9, а синяя - квантиль 0,1.
Этот пост изначально вдохновлен словом this, которое является отличной отправной точкой для квантильной регрессии.