Освойте модели регрессии
«Регрессионный анализ похож на один из тех изощренных мощных инструментов, который относительно легко использовать, но сложно делать это правильно. А его неправильное использование потенциально опасно»
Обучение с учителем
Предыдущая глава была посвящена обучению без учителя – способу обнаружения закономерностей или кластеров в наборе данных без использования заранее определенных групп. Помните, что к неконтролируемому обучению мы подходим без каких-либо предвзятых представлений. Вместо этого мы опираемся на основополагающие аспекты данных, задаем некоторые границы и позволяем данным организоваться самим.
Однако во многих случаях о наборе данных что-то известно. Тогда вы можете использовать обучение с учителем или контролируемое обучение для выявления в нем взаимосвязей с помощью входных и известных выходных данных. В данном случае у вас есть правильные ответы, на которых вы можете «учиться». Затем вы можете оценить надежность модели, сравнив ее результаты с тем, что вам известно о реальном мире. Хорошая модель позволит вам делать точные прогнозы и объяснять некоторые основополагающие взаимосвязи между входными и выходными данными.
Как вы, вероятно, помните, обучение с учителем уже упоминалось во введении – в самом начале вашего пути становления главным по данным. Тогда мы попросили вас спрогнозировать, будет ли новый ресторан сетевым или независимым. Чтобы сделать соответствующее предположение, вы сначала изучили местоположения существующих ресторанов (входные данные) и известные метки «сетевой» или «независимый» (выходные данные). Вы обнаружили взаимосвязи между входными и выходными данными и создали «модель» в своей голове, которую использовали для того, чтобы обоснованно спрогнозировать метку для нового местоположения.
Может быть, вас это удивит, но все задачи контролируемого обучения подчиняются одной и той же парадигме. Она представлена на рис. 9.1. Входные и выходные данные, называемые обучающими, подаются на вход алгоритма, который использует взаимосвязи между входными и выходными данными для создания прогностической модели (уравнения). Эта модель может принимать новые входные данные и сопоставлять их с прогнозируемыми выходными данными. Когда выходные данные представляют собой числа, модель контролируемого обучения называется регрессионной. Когда выходными данными являются метки (категориальные переменные), модель называется классификационной.
Рис. 9.1. Базовая парадигма обучения с учителем: сопоставление входных данных с выходными
О регрессионных моделях мы поговорим в этой главе, а о классификационных – в следующей.
Эта парадигма охватывает множество интересных и ценных с практической точки зрения задач контролируемого обучения, применяемых как в старых, так и в новых технологиях. Детектор спама в вашей электронной почте, оценка стоимости вашего дома или квартиры, перевод речи, приложения для распознавания лиц и беспилотные автомобили – все это результат контролируемого обучения. В табл. 9.1 указаны входные и выходные данные, а также типы моделей, используемые в вышеперечисленных сферах.
Табл. 9.1. Области применения контролируемого обучения
По мере развития областей применения контролируемого обучения становится все легче упустить из виду тот факт, что в их основе лежит классический метод линейной регрессии, разработанный примерно в 1800 году. Линейная регрессия, в частности, метод наименьших квадратов[82], – рабочая лошадка контролируемого обучения; она часто применяется в первую очередь при прогнозировании чего-либо. Этот мощный метод используется повсеместно, и им нередко злоупотребляют.
Линейная регрессия: что она делает
Предположим, вы продаете лимонад в торговом центре и предполагаете, что температура влияет на объем продаж. То есть чем жарче на улице, тем больше лимонада вы продаете. Эта закономерность, если она верна, может помочь вам планировать закупки и прогнозировать уровень продаж в те или иные дни.
Вы наносите на график исторические данные (левый график на рис. 9.2) и замечаете нечто, напоминающее линейный тренд. Чтобы провести линию через эти точки данных, вы можете использовать уравнение[83] Продажи = m(Температура) + b. Простое уравнение, подобное этому, является своего рода моделью[84]. Но как выбрать числа m (наклон линии) и b (точка пересечения с осью) для построения этой модели?
Рис. 9.2. Этим данным достаточно хорошо соответствует множество линий, но какая из них лучше? Определить это нам поможет линейная регрессия
Можно попробовать угадать. На среднем графике на рис. 9.2 показаны четыре возможные линии, и все эти предположения кажутся вполне разумными. Но это всего лишь предположения: как бы они ни были к этому близки, они не объясняют основополагающие взаимосвязи в данных.
Линейная регрессия предполагает выполнение вычислений для получения линии наилучшего соответствия. Под наилучшим соответствием мы подразумеваем то, что данная линия оптимальным образом объясняет имеющийся линейный тренд и разброс данных. Она представляет собой оптимальное решение, насколько это возможно с математической точки зрения с учетом предоставленных данных. На правом графике на рис. 9.2 показан результат применения линейной регрессии в виде уравнения: Продажи = 1,03 (Температура) – 71,07.
Давайте посмотрим, как это работает.
Регрессия методом наименьших квадратов: больше, чем умное название
Давайте на мгновение сосредоточимся на нашей выходной переменной – уровне продаж лимонада. Если бы мы хотели спрогнозировать объем будущих продаж, разумно было бы вычислить среднее значение для прошлых показателей (12 + 13 + 15 + 14 + 17 + 16 + 19) / 7 = 15,14 доллара. Итак, мы получили простую линейную модель, согласно которой Продажи = 15,14 доллара.
Обратите внимание на то, что это по-прежнему линейное уравнение, только без учета температуры. Это означает, что вне зависимости от температуры мы прогнозируем продажи на уровне 15,14 доллара. Мы знаем, что это весьма наивное предположение, но оно соответствует нашему определению модели, сопоставляющей входные данные с выходными, даже если все выходные данные являются одинаковыми.
Итак, насколько хороша наша простая модель? Чтобы оценить ее производительность, давайте подсчитаем, насколько далеко прогнозируемый уровень продаж находится от каждого из фактических показателей. При температуре 86 °F (30 °C) вы продали лимонада на 19 долларов, а модель предсказывала 15,14 доллара. При температуре 81 °F (27 °C) вы продали лимонада на 12 долларов, а прогноз модели опять же составлял 15,14 доллара. В первом случае прогноз оказался примерно на 4 доллара ниже фактического значения, а во втором – примерно на 3 доллара выше. На данный момент наша модель далека от идеала. И чтобы как следует оценить ее предсказательную способность, нам нужно понять разницу между прогнозом модели и тем, что произошло на самом деле. Эта разница называется погрешностью и показывает, насколько сильно прогнозное значение отклоняется от фактического.
Как же можно измерить эту погрешность, чтобы понять, насколько хорошо работает наша модель? Для этого мы могли бы взять каждую фактическую цену продажи и вычесть ее из среднего прогнозного значения, которое составляет 15,14 доллара. Однако в этом случае результат суммирования погрешностей всегда будет равен нулю, потому что среднее значение, которое мы используем в качестве предиктора, представляет собой арифметический центр этих точек. Итоговая разность между всеми этими точками и центральным значением всегда равна нулю.
Однако нам все-таки нужен какой-то способ агрегировать эти погрешности, поскольку модель явно далека от идеала. Наиболее распространен так называемый метод наименьших квадратов, который предполагает возведение всех значений разности в квадрат для того, чтобы сделать их положительными[85]. При суммировании этих чисел результат не будет равен нулю (такое возможно, только если в наших данных вообще нет погрешностей). Полученный результат мы называем суммой квадратов.
Рассмотрим рис. 9.3(а). На нем вы видите исходную диаграмму рассеяния, где x = Температура, а y = Продажи. Обратите внимание: мы применили здесь нашу наивную модель, прогнозное значение которой не зависит от температуры и всегда равно 15,14, что дает нам горизонтальную линию Продажи = 15,14. Другими словами: точка данных с температурой = 86 (30 °C) и фактическим значением продаж = 19 соответствует прогнозному значению продаж = 15,14. Сплошная вертикальная линия показывает разницу между фактическим и прогнозным значением для этой точки (и всех остальных точек). При использовании регрессии мы возводим длину этой линии в квадрат, чтобы получить квадрат с площадью 14,9.
Фактическому уровню продаж в 15 долларов так же соответствует прогнозное значение 15,14 доллара, поэтому соответствующий квадрат имеет площадь (15,14–15)2 = 0,02. Сложив площади квадратов для всех точек, мы получим суммарную погрешность нашей простой модели. В правой части рис. 9.3(а) процесс вычисления суммы квадратов ошибок представлен наглядно. Чем больше сумма квадратов, тем хуже модель соответствует данным, и наоборот: чем меньше сумма квадратов, тем лучше соответствие.
Рис. 9.3. Регрессия методом наименьших квадратов предполагает нахождение такой линии, при которой сумма площадей квадратов отклонений прогнозируемых значений от фактических является минимальной
Возникает вопрос: можем ли мы найти такое значение наклона и точки пересечения, которые позволяют оптимизировать (то есть минимизировать) сумму квадратов отклонений? В настоящее время наша наивная модель не имеет наклона, но имеет точку пересечения на отметке 15,14 доллара.
Очевидно, что модель, представленная на рис. 9.3 (а), не оптимальна. Чтобы приблизиться к оптимуму, давайте добавим наклон m, введя в уравнение переменную температуры. На рис. 9.3(b) мы предполагаем, что разумными значениями для наклона и точки пересечения могут быть 0,6 и –34,91 соответственно. Это превращает нашу модель с плоской линией, представленную на рис. 9.3(а), в наклонную линию, которая отражает некоторый восходящий тренд. Кроме того, мы сразу замечаем уменьшение общей площади квадратов.
Благодаря включению в модель переменной температуры значение отклонения существенно уменьшилось. Прогнозное значение для точки с температурой = 86 (30 °C) изменилось с 15,14 в случае простой модели на Продажи = 0,6(86) – 34,91 = 16,69, что привело к уменьшению вклада соответствующего наблюдения в сумму квадратов с 14,9 до (16,69–19)2 = 5,34.
Вы могли бы подставлять значения наклона и точки пересечения вплоть до получения единственной комбинации, минимизирующей сумму квадратов. Однако линейная регрессия позволяет сделать это математически. На рис. 9.3(с) показана наименьшая сумма квадратов ошибок для имеющихся данных. Малейшее отклонение от указанных значений наклона и точки пересечения привело бы к увеличению площадей этих квадратов.
Вы можете использовать эту информацию, чтобы оценить, насколько хорошо итоговая модель соответствует данным. Результат линейной регрессии, показанный на рис. 9.3(c), все еще не идеален, однако он явно превосходит модель, представленную на рис. 9.3 (а), прогнозное значение которой каждый раз составляло 15,14 доллара.
Насколько превосходит? Мы начали с площади (суммы квадратов) в 34,86, а при использовании итоговой модели эта площадь уменьшилась до 7,4. Это значит, что мы уменьшили общую площадь на (34,86–7,4) = 27,46, то есть на 27,46/34,86 = 78,8 %. В таких случаях часто говорят, что модель «объяснила», «описала» или «предсказала» 78,8 % (или 0,788) дисперсии данных. Это число называется «R-квадратом» или R2.
Если модель идеально соответствует данным, R2 = 1. Однако не стоит рассчитывать на то, что в работе вам будут часто встречаться модели с высоким значением R2[86]. Когда такое происходит, это говорит о том, что, скорее всего, произошла ошибка, и вам следует пересмотреть процессы сбора данных. Как вы помните из главы 3, вариации присутствуют во всем, и их невозможно объяснить полностью. Так уж устроена Вселенная.
Линейная регрессия: что она дает
Давайте быстро повторим то, что мы обсуждали ранее, в контексте парадигмы контролируемого обучения, представленной на рис. 9.1. У нас был набор данных, состоящий из столбца с входными значениями и столбца с выходными значениями, который мы подали на вход алгоритма линейной регрессии. Этот алгоритм извлек из данных оптимальные коэффициенты для подстановки в линейное уравнение Продажи = m(Температура) + b, создав модель Продажи = 1,03(Температура) – 71,07, которую можно использовать для прогнозирования прибыли от продажи лимонада.
Модели линейной регрессии пользуются популярностью во многих отраслях, потому что они не только делают прогнозы, но и объясняют то, как входные признаки соотносятся с выходными данными. (Кроме того, их совсем не трудно вычислить.) Коэффициент наклона, равный 1,03, говорит о том, что при повышении температуры на один градус можно ожидать увеличения продаж на 1,03 доллара. Это значение сообщает нам как величину, так и направление влияния входных данных на выходные.
Учитывая то, что в мире и в собираемых данных присутствует случайность и изменчивость, можно предположить наличие встроенной изменчивости и в значениях коэффициентов линейной регрессии. Если бы вы собрали новый набор данных о продажах своего лимонада, вы могли бы обнаружить, что при росте температуры на 1 градус ваша выручка увеличивается не на 1,03, а на 1,25 доллара. Данные, подаваемые на вход алгоритма, являются выборкой, поэтому вам следует думать о полученных результатах в терминах статистики. Статистическое программное обеспечение помогает это делать, предоставляя p-значения для каждого коэффициента (нулевая гипотеза, H0: коэффициент = 0) и сообщая о наличии статистически значимого отличия коэффициента от нуля. Например, коэффициент 0,000003 очень близок к нулю и для практических целей может считаться нулевым в вашей модели.
Иными словами, если коэффициент значимо не отличается от нуля, вы можете исключить соответствующий признак из своей модели, поскольку входное значение не влияет на выходное. Разумеется, уроки статистики из главы 6 не теряют при этом своей актуальности. Коэффициент может быть статистически, но не практически значимым. Всегда выясняйте коэффициенты моделей, влияющих на ваш бизнес.
Включение множества признаков
Мы предполагаем, что ваш бизнес не ограничивается простой торговлей лимонадом. Ваши продажи, скорее всего, зависят не только от температуры (если это сезонный бизнес), но и от многих других факторов. К счастью, простую модель линейной регрессии, о которой мы говорили выше, можно расширить, включив в нее множество признаков[87]. Регрессия с одним входным параметром называется простой линейной регрессией, а с несколькими – множественной линейной регрессией.
Рассмотрим пример множественной линейной регрессии на основе данных о жилье, которые мы анализировали в главе 5. Этот набор данных содержит 1234 дома и 81 входной параметр, из которых для упрощения примера мы рассмотрим только 6. (Мы также могли бы использовать АГК для снижения размерности, но не стали этого делать, чтобы не усложнять пример.)
Давайте построим модель для прогнозирования цены продажи дома (выходной параметр) на основе площади участка, года постройки, площади 1-го, 2-го этажа и подвала в квадратных футах и количества полноценных ванных комнат. На основе данных алгоритм линейной регрессии вычисляет наилучшие значения точки пересечения и коэффициентов, перечисленные в табл. 9.2.
Табл. 9.2. Модель множественной линейной регрессии для описания данных о недвижимости. Все соответствующие p-значения статистически значимы на уровне 0,05
Основной принцип модели множественной регрессии состоит в том, чтобы изолировать влияние одной переменной, контролируя при этом остальные. Например, мы можем сказать, что при прочих неизменных значениях входных данных цена продажи дома, построенного годом позднее (в среднем), будет выше на 818,38 доллара. Коэффициенты каждого признака показывают величину и направление его воздействия на цену. Обязательно учитывайте единицы измерения. Добавление 1 единицы площади в квадратных футах отличается от добавления 1 единицы к количеству ванных комнат. Статистик может масштабировать данные при необходимости сравнения сопоставимых коэффициентов.
Каждый коэффициент также подвергается соответствующему статистическому тесту, который сообщает нам о том, имеет ли его значение статистически значимое отличие от нуля. Если нет, мы можем без опасений исключить его из модели, поскольку он не добавляет никакую информацию и не влияет на результат.
Линейная регрессия: какую путаницу она вызывает
Если бы мы были какими-нибудь аферистами, мы бы закончили главу предыдущим разделом, предложив вам приобрести программу для расчета линейной регрессии в качестве панацеи, позволяющей решить все проблемы вашего бизнеса. Наш рекламный слоган был бы таким: «Введите данные, получите модель и начните делать прогнозы относительно своего бизнеса уже сегодня!» Звучит фантастически просто – однако к этому моменту вы уже наверняка понимаете, что при работе с данными ничто не так просто, как кажется (или рекламируется). Как говорилось в эпиграфе к этой главе, при неправильном применении линейная регрессия может оказаться потенциально опасной. Поэтому при создании или использовании регрессионных моделей всегда сохраняйте здоровый скептицизм. Уравнения, терминология и вычисления создают впечатление, будто модель линейной регрессии способна автоматически исправить любую проблему в вашем наборе данных. Но это не так.
Давайте рассмотрим некоторые подводные камни использования линейной регрессии.
Пропущенные переменные
Модели контролируемого обучения не могут выявить взаимосвязь между входной и выходной переменной в случае исключения входной переменной из модели. Рассмотрим нашу простую модель, которая предсказывала уровень продаж лимонада на основе средних значений прошлых продаж без учета температуры.
Главные по данным, будучи осведомленными об этой проблеме, могут предложить для включения в модели информативные, релевантные признаки. Однако не стоит отдавать выбор признаков на откуп аналитикам. Ключ к созданию успешной модели контролируемого обучения – включение в нее правильных данных и наличие опыта в интересующей предметной области.
Например, модель с ценами на жилье, описанная в предыдущем разделе, имеет значение R2, равное 0,75. Это означает, что с помощью нашей модели мы объяснили 75 % вариаций цены продажи. Теперь подумайте о не включенных в эту модель признаках, которые помогли бы предсказать цену дома, – например о таких вещах, как экономические условия, процентные ставки, рейтинги начальных школ и так далее. Эти пропущенные переменные не только влияют на прогнозы модели, но и могут привести к сомнительным толкованиям. Вы заметили, что указанный в табл. 9.2 коэффициент, связанный с количеством ванных комнат, является отрицательным? Это не имеет никакого смысла.
Вот еще один пример. Рассмотрим модель линейной регрессии, которая выявила положительную корреляцию между размером обуви и количеством слов, которые человек может прочитать за минуту. Очевидно, что в данной модели отсутствует такая входная переменная, как возраст, включение которой позволило бы обойтись без входной переменной «размер обуви». Разумеется, в своей работе вы редко будете сталкиваться со столь очевидными примерами, однако поверьте нам на слово: пропущенные переменные могут и будут порождать проблемы и неверные интерпретации. Кроме того, многие вещи коррелируют с такой часто опускаемой переменной, как время.
Мы надеемся, что при чтении этого раздела вы вспомните о том, что «корреляция не говорит о наличии причинно-следственной связи». Если одна переменная помечена в модели как входная, а другая – как выходная, это не означает, что входные данные обусловливают выходные.
Мультиколлинеарность
Если при использовании линейной регрессии вашей целью является интерпретируемость – возможность определить влияние входных переменных на выходные путем изучения коэффициентов – то вам следует знать о так называемой мультиколлинеарности. Мультиколлинеарность означает, что несколько переменных коррелируют друг с другом – и это создает проблему для интерпретируемости вашей модели.
Как вы помните, цель множественной регрессии – изолировать влияние одной из переменных при сохранении постоянных значений остальных входных переменных. Однако это возможно лишь в том случае, если данные являются некоррелированными.
Например, предположим, что данные о продажах лимонада, которые мы анализировали ранее, имеют температуру как в градусах Цельсия, так и в градусах Фаренгейта. Очевидно, что эти два показателя полностью коррелированы, поскольку один является функцией другого. Однако допустим, что показания температуры регистрируются с помощью разных приборов с целью внесения некоторой вариации[88]. В этом случае модель превратится:
1. Из Продажи = 1,03 (Температура) – 71,07.
2. В Продажи = –0,2(Температура в градусах Фаренгейта) + 2,1(Температура в градусах Цельсия) – 30,8.
Теперь похоже, что температура в градусах Фаренгейта отрицательно коррелирует с выходным параметром! Однако нам известно, что входные данные смешаны, даже избыточны, и линейная регрессия не в состоянии разрушить имеющуюся взаимосвязь. Мультиколлинеарность имеет место в большинстве наборов данных наблюдений, так что считайте это предупреждением. Что касается экспериментальных данных, то они обычно собираются таким образом, чтобы предотвратить мультиколлинеарность, насколько это возможно[89].
Утечка данных
Вернемся к построению модели для прогнозирования цены продажи дома. Но на этот раз допустим, что набор обучающих данных включает не только характеристики дома (площадь, количество спален и так далее), но и первоначально предложенную цену. Этот набор данных показан в табл. 9.3.
Табл. 9.3. Выборка данных о домах
Запустив модель на этих данных, вы можете заметить, что начальное предложение очень хорошо предсказывает цену продажи. «Отлично!» – думаете вы и решаете положиться на это, чтобы спрогнозировать цены на жилье для своей компании.
Затем модель запускается в производство. При попытке использовать модель вы обнаруживаете, что у вас нет доступа к первоначальному предложению по домам, цены продажи которых вы пытаетесь предсказать, поскольку они еще не проданы! Это пример утечки данных[90], которая происходит, когда некая сопутствующая выходная переменная маскируется под входную.
Проблема с использованием первоначального предложения заключается во времени. Представьте, что вы можете узнать значение начального предложения только после фактической продажи дома.
Поскольку мы погружены в данные, нам очень трудно заметить подобные утечки. К сожалению, во многих учебниках этой проблеме не уделяется внимание, потому что там используются идеализированные наборы данных, тогда как в реальных наборах вероятность утечки есть всегда. Как главный по данным, вы должны следить за тем, чтобы ваши входные и выходные параметры не содержали перекрывающуюся информацию.
Мы вернемся к обсуждению проблемы утечки данных в следующих главах.
Ошибки экстраполяции
Экстраполяция – это прогнозирование значения за пределами диапазона входных данных, использованных для построения модели. В случае торговли лимонадом при температуре 0 °F модель предсказала бы объем продаж на уровне –71,07 доллара. Если бы в доме не было ни одного квадратного фута площади и ни одной ванной комнаты (то есть если бы дома фактически не существовало), модель предсказала бы цену продажи в –1 614 841,60 доллара. Оба значения не имеют смысла.
Модели делают прогнозы за пределами диапазона данных, на которых они «учились». В отличие от людей, уравнения не имеют здравого смысла, позволяющего понять, что их результаты неверны. Математические уравнения не способны думать. Если вы подставите в них числа в качестве входных данных, они выдадут вам некий численный результат. Именно вы как главный по данным должны понимать, что имеет место экстраполяция.
Следует подчеркнуть, что результаты модели всегда рассчитываются на основе конкретных данных. То есть вы не должны делать прогнозы на основе данных, которые «соответствуют» диапазону обучающих данных, но не соответствуют контексту, в котором эти данные были собраны, поскольку модель ничего не знает о происходящих в мире изменениях.
Если бы вы построили модель, предсказывающую цены на дома в 2007 году, она показала бы себя ужасно в 2008 году после обвала рынка жилья. Использование такой модели в 2008 году означало бы экстраполяцию данных о рыночных условиях 2007 года, которые весьма сильно отличались от условий 2008 года. В 2021 году, пока мы писали эту книгу, многие отрасли сталкивались с этой проблемой из-за пандемии COVID-19. Модели, обученные на данных, собранных до ее начала, больше не отражают многие из вновь возникших взаимосвязей, а значит, больше не актуальны.
Многие взаимосвязи не являются линейными
Линейная регрессия не годится для моделирования поведения фондового рынка, который на протяжении всей своей истории рос экспоненциально, а не линейно. Статистический отдел компании Procter & Gamble посоветовал бы «не подгонять прямую линию к кривой в форме банана».
В арсенале статистиков есть инструменты для преобразования некоторых нелинейных данных в линейные. Тем не менее иногда стоит просто признать тот факт, что линейная регрессия не подходит для решения стоящей перед вами задачи.
Вы объясняете или предсказываете?
В этой главе мы обсуждали две цели применения регрессионных моделей – объяснение взаимосвязей и прогнозирование. Судя по всему, модели линейной регрессии могут делать и то и другое. Коэффициенты модели линейной регрессии (при правильных условиях) обеспечивают интерпретируемость, которой уделяется большое внимание во многих отраслях – например, в клинических испытаниях, когда исследователи пытаются понять точную величину и направление влияния входного параметра (дозировка лекарства) на выходной (кровяное давление). В данном случае необходимо проявлять большую осторожность, чтобы избежать негативного влияния мультиколлинеарности и пропущенных переменных на объяснительную способность модели.
В других областях, таких как машинное обучение, целью является точное предсказание[91]. Например, наличие мультиколлинеарности может не представлять проблемы, если модель способна хорошо предсказывать будущие результаты. Когда цель модели – предсказать новые выходные данные, вы должны быть очень осторожны, чтобы избежать так называемого переобучения.
Как вы помните, модели – это упрощенные версии реальности. Хорошая модель хорошо аппроксимирует взаимосвязи между входными и выходными данными. По сути, она регистрирует некое скрытое явление, выражением которого и являются данные.
Однако переобученная модель фиксирует не взаимосвязь, существование которой мы предполагаем, а взаимодействие обучающих данных со всем присутствующим в них шумом и вариациями. Поэтому ее прогнозы – не результат моделирования, а просто некий набор точек данных, которые у нас уже есть.
По сути, переобученные модели запоминают выборочные обучающие данные и плохо обобщают новые наблюдения. Посмотрите на рис. 9.4. Слева вы видите данные о продажах лимонада с моделью линейной регрессии. Справа представлена сложная регрессионная модель, которая прекрасно предсказывает некоторые точки. Какую из них вы хотели бы использовать для прогнозирования?
Рис. 9.4. Две конкурирующие модели. Модель слева хорошо обобщает, а переобученная модель справа, по сути, просто запоминает данные. Из-за вариаций модель справа не сможет хорошо предсказывать новые точки
Для предотвращения переобучения можно разделить набор данных на две части: обучающий набор, используемый для построения модели, и тестовый набор, позволяющий оценить ее эффективность. Производительность модели на тестовом наборе данных, на которых она не училась, позволяет оценить ее предсказательную способность.
Производительность регрессионной модели
Сталкиваясь с регрессионной моделью на работе, будь то модель множественной линейной регрессии или что-то более изощренное, вы можете оценить ее соответствие вашим данным с помощью графика сравнения фактического и прогнозируемого значений. Некоторые полагают, что мы не можем визуализировать производительность модели регрессии при наличии слишком большого количества входных данных – однако помните о том, что сделала модель. Она преобразовала входные параметры (один или несколько) в выходные.
Итак, для каждой строки в наборе данных у вас есть фактическое значение и связанное с ним прогнозируемое значение. Создайте на их основе диаграмму рассеяния. Они должны быть хорошо коррелированы. Такой визуальный тест позволит вам быстро оценить эффективность вашей модели. Ваши специалисты по работе с данными могут предоставить несколько связанных показателей (одним из которых является R-квадрат), однако не стоит смотреть только на эти цифры. Всегда, всегда требуйте предоставить вам график сравнения фактических и прогнозируемых значений. Пример с использованием модели, построенной на основе данных о жилье, представлен на рис. 9.5.
Рис. 9.5. На этом графике вы видите, что модель плохо прогнозирует цены на самые дорогие дома. Можете ли вы определить другие недостатки этой модели, используя этот график?
Прочие модели регрессии
Вы также можете столкнуться с такими вариантами линейной регрессии, как LASSO и Ridge (ридж-регрессия, или гребневая регрессия), которые могут помочь при наличии большого количества коррелированных входных данных (мультиколлинеарность) или в тех случаях, когда количество входных переменных превышает количество строк в вашем наборе данных. В результате получается модель, похожая на модели множественной регрессии.
Другие модели регрессии выглядят совершенно иначе. Метод k-ближайших соседей, обсуждавшийся во введении, применялся к задаче классификации, но его также можно применить и к задаче регрессии. Например, для предсказания цены продажи любого дома мы могли бы взять среднюю цену продажи трех ближайших к нему недавно проданных домов. В этом случае для решения задачи регрессии использовался бы метод k-ближайших соседей.
В следующей главе мы рассмотрим некоторые из этих моделей, поскольку их можно использовать для решения задач как классификации, так и регрессии.
Подведение итогов
Наша цель в этой главе состояла в том, чтобы помочь вам развить интуитивное понимание принципа контролируемого обучения и его фундаментального алгоритма – линейной регрессии. Мы также рассмотрели множество причин, по которым регрессионные модели могут ошибаться. Помните об этих проблемах и подводных камнях, потому что вопрос не в том, какие из них повлияют на ваши регрессионные модели, а в том, сколько это сделают.
Как вы, вероятно, уже догадались, обучающие данные обусловливают как мощь, так и ограниченность контролируемого обучения. К сожалению, зачастую компании уделяют больше внимания новейшим алгоритмам контролируемого обучения, чем сбору актуальных, точных и достаточных данных для подачи на вход этих алгоритмов. Пожалуйста, помните мантру «мусор на входе, мусор на выходе». Хорошие данные – ключевое условие эффективности моделей контролируемого обучения.
Если вы понимаете принцип обучения без учителя и обучения с учителем, то вы понимаете суть машинного обучения. Поздравляем! И извините за отсутствие больших открытий. Мы стремились преподать вам основы машинного обучения, обойдясь без громких рекламных слоганов и лишней шумихи. Машинное обучение предполагает как обучение без учителя, так и обучение с учителем.
Мы продолжим разговор о машинном обучении в следующей главе в контексте обсуждения моделей классификации.