Введение
В этом практическом занятии показано, как использовать квантильную регрессию для создания интервалов прогноза с использованием scikit-learn. Мы сгенерируем синтетические данные для задачи регрессии, применим функцию к ним и создадим наблюдения целевой переменной с использованием логнормального распределения. Затем мы разделим данные на обучающую и тестовую выборки, подберем нелинейные квантильные и наименьших квадратов регрессоры и создадим равномерно распределенный набор значений входных переменных, охватывающий диапазон [0, 10]. Мы сравним предсказанный медиану с предсказанным средним, проанализируем метрики ошибки и калибруем доверительный интервал. Наконец, мы настроим гиперпараметры квантильных регрессоров.
Советы по использованию ВМ
После запуска ВМ нажмите в левом верхнем углу, чтобы переключиться на вкладку Notebook и приступить к практике в Jupyter Notebook.
Иногда вам может потребоваться подождать несколько секунд, пока Jupyter Notebook полностью загрузится. Валидация операций не может быть автоматизирована из-за ограничений Jupyter Notebook.
Если вы столкнетесь с проблемами при обучении, не стесняйтесь обращаться к Labby. Оставьте отзыв после занятия, и мы оперативно решим проблему для вас.
Генерация синтетических данных
Мы сгенерируем синтетические данные для задачи регрессии, применяя функцию к равномерно отобранным случайным входным значениям. Чтобы сделать задачу интересной, мы генерируем наблюдения целевой переменной y в виде суммы детерминированного члена, вычисляемого функцией f, и случайного шумового члена, который подчиняется центрированному логнормальному распределению. Логнормальное распределение несимметрично и имеет длинный хвост: наблюдение больших выбросов вероятно, но наблюдение малых выбросов невозможно.
Разделение данных на обучающую и тестовую выборки
Мы разделим данные на обучающую и тестовую выборки.
Подгонка нелинейных квантильных и наименьших квадратов регрессоров
Мы подгоним модели градиентного бустинга, обученные с использованием квантильного потерь и alpha = 0,05, 0,5, 0,95. Модели, полученные для alpha = 0,05 и alpha = 0,95, формируют 90%-й доверительный интервал. Модель, обученная с alpha = 0,5, производит регрессию медианы.
Создание равномерно распределенного набора значений входных переменных для оценки
Мы создадим равномерно распределенный набор значений входных переменных, охватывающий диапазон [0, 10].
Построение истинной условной функции среднего f
Мы построим истинную условную функцию среднего f, предсказания условного среднего (потери равны квадрату ошибки), условную медиану и условной 90%-й интервал (от 5-го до 95-го условных перцентилей).
Анализ метрик ошибки
Мы измерим модели с помощью метрик mean_squared_error и mean_pinball_loss на обучающем наборе данных. В одной колонке показаны все модели, оцененные одной и той же метрикой.
Настройка гиперпараметров квантильных регрессоров
Мы настроим гиперпараметры нового регрессора 5-го перцентиля, выбрав наилучшие параметры модели методом кросс-валидации по pinball потере с alpha = 0,05. Затем настроим гиперпараметры для регрессора 95-го перцентиля.
Резюме
В этом практическом занятии показано, как использовать квантильную регрессию для создания интервалов прогноза с использованием scikit - learn. Мы сгенерировали синтетические данные для задачи регрессии, применили функцию к ним и создали наблюдения целевой переменной с использованием логнормального распределения. Мы разделили данные на обучающий и тестовый наборы, подобрали нелинейные квантильные и метод наименьших квадратов регрессоры и создали равномерно распределенный набор значений входных переменных, охватывающий диапазон [0, 10]. Мы сравнили предсказанную медиану с предсказанным средним, проанализировали метрики ошибки и калибровали доверительный интервал. Наконец, мы настроили гиперпараметры квантильных регрессоров.