Наука о данных с нуля

Основы: линейная регрессия

Интуиция в том, как работают линейные модели

Для многих моделей линейной регрессии были рассмотрены первые модели прогнозирования. Хотя они концептуально просты, они обладают некоторыми ключевыми функциями, которые делают их гибкими, мощными и понятными. В то время как более новые и более сложные в концептуальном плане модели могут превосходить линейную регрессию, линейные модели продолжают широко использоваться, особенно в социальных науках и сферах политики, где сбор данных может быть дорогостоящим, а модели с высокой степенью интерпретации имеют значительную ценность. Расширения линейной регрессии, такие как Ridge и Lasso, могут помочь избежать переобучения в многофункциональных моделях и даже выполнить выбор функций. Логистическая регрессия соответствует линейной структуре задач классификации. Во-первых, давайте посмотрим, как работает линейная регрессия на плоскости.

Что

Линейная регрессия моделирует выходную переменную как линейную комбинацию входных характеристик. Что это означает? Давайте начнем с простейшего случая и разберемся, как работает модель, а затем подумаем, как она масштабируется до более сложных случаев с большим количеством функций.

Линейная модель пытается найти как можно более простую связь между переменной функции и выходными данными. Часто это называют «подгонкой». Вы, возможно, помните из класса алгебры, что любую данную строку можно выразить как некоторую форму уравнения:

Где y - ваша зависимая переменная / выход, m - наклон, а x - ваша входная / независимая переменная. Для каждой единицы, на которую вы увеличиваете x, y увеличивается на m единиц (или уменьшается, если m отрицательно). Термин b - это термин перехват, который сдвигает вашу линию вверх или вниз без изменения наклона. Линейная регрессия пытается найти аналогичную связь между входной функцией и зависимой переменной и в итоге создает аналогичную формулу:

В одной переменной он выглядит как линия, за исключением того, что мы переименовали коэффициент m в греческую букву beta. Представим себе простой пример. Вот набор точек данных:

Это, как и любой другой набор данных в реальном мире, немного шумно, но есть явная тенденция: по мере увеличения x увеличивается и y. Возможно, эту связь можно хорошо оценить с помощью линии. Как выбрать линию? Рассмотрим следующие варианты:

Какая линия лучше всего отражает тенденцию? Это не обязательно ясно. Оранжевая линия кажется наиболее близкой к точкам с левой стороны, но затем, когда вы приближаетесь к центру распределения, она становится нечеткой. С правой стороны, возможно, оранжевая линия вышла за отметку и находится слишком высоко.

Модель линейной регрессии выбирает линию, минимизируя расстояние по вертикали между линией и отдельными точками. Учитывая только красную линию и вертикальные расстояния между точками и линией, которые теперь показаны фиолетовыми сегментами:

Линия регрессии представляет ваш прогноз для любого заданного значения x. Эти фиолетовые линии представляют ошибку прогноза для каждой из этих точек. Конечно, ни одна прямая линия, которую вы рисуете, не будет полностью безошибочной, но кажется разумной целью попытаться минимизировать эту ошибку. На самом деле есть еще один небольшой поворот: модели линейной регрессии обычно не просто находят линию, которая минимизирует ошибки предсказания, они находят линию, которая минимизирует значение квадратов ошибок предсказания. Для более склонных к математике это называется суммой квадратов ошибок или SSE и представляется следующей формулой:

Тот факт, что мы минимизируем квадратные ошибки, и дал этому методу название: обычный метод наименьших квадратов или OLS. Давайте включим значение квадратных ошибок в нашу визуализацию. Красная линия имеет коэффициент 40 и значение точки пересечения 10:

Регулировка точки пересечения перемещает линию вверх и вниз. Если мы изменили точку пересечения на 30, линия переместится вверх. Новая линия - лучший или худший предсказатель? Он становится ближе к некоторым точкам, но дальше от точек, уже находящихся ниже линии. Однако, глядя на сумму квадратных ошибок, можно предположить, что новая строка в целом является худшим предсказателем:

Конечно, мы можем также настроить коэффициент, изменив наклон линии. Оказалось, что наша линия была слишком крутой, уменьшение коэффициента до 30 улучшает общие прогнозы:

С помощью небольшого вычисления мы можем найти значения для коэффициента и точки пересечения, которые минимизируют SSE и дают нам наилучшую возможную линию соответствия (или, точнее, ваш компьютер может использовать вычисление и найти эти значения за вас).

Хотя все эти примеры были простыми, с одной функцией ввода, этот метод легко обобщается для нескольких измерений. Для любого заданного набора характеристик многомерная модель OLS найдет соответствующий набор коэффициентов. Эти многомерные модели немного сложнее визуализировать, но они концептуально идентичны. Вместо одного коэффициента бета у нас будет несколько бета-версий, по одной для каждой входной функции:

Возможно, вы уже видите из этих описаний формулы линейной модели, что одно из преимуществ линейных моделей состоит в том, насколько легко интерпретировать их работу с помощью коэффициентов. Если значение X1 увеличивается на единицу, оценка модели для y увеличивается на значение бета-единицы. Легко увидеть, что влияет на ценность вашего прогноза, и легко сказать, как ваш прогноз изменится, если вы гипотетически измените одну из характеристик.

Предположения и предостережения

Модели линейной регрессии неявно делают определенные предположения о переменных функции и о том, как они связаны с зависимой переменной. Частично то, что делает линейную регрессию полезной, заключается в том, что она имеет предсказуемые особенности в ситуациях, когда эти допущения выполняются. Вы можете, например, создать точные пределы погрешности для любого данного прогноза. Если основные предположения не выполняются, модели линейной регрессии не будут такими точными, хотя они могут быть полезны в том смысле, что они дают полезные прогнозы. Что это за предположения?

1. Выходная переменная представляет собой линейную комбинацию переменных характеристик - линейность

Это просто означает, что выходная переменная точно описывается некоторым набором коэффициентов, умноженных на соответствующие переменные характеристики. Наша формула, в которой каждая входная переменная характеристики умножается на ее коэффициент бета, технически называется «линейной комбинацией». Важно отметить, что, хотя это называется линейностью, это не означает, что все линейные регрессии представляют собой просто прямые линии, потому что входные переменные признаков не обязательно должны быть линейными . Рассмотрим такой пример:

Эти точки, очевидно, не являются линейными - я могу подтвердить, что они имеют квадратную форму, созданные путем создания линейного набора точек и затем простого возведения значения y в квадрат. Конечно, ни одна прямая линия не будет хорошо отражать кривую! Однако линейная регрессия может обрабатывать такой набор данных, потому что входная функция может быть квадратичной. Раньше наши примеры были явно линейными, поэтому наши формулы также были линейными:

В этом случае, похоже, что происходит что-то квадратичное, но мы все равно можем использовать линейную структуру с небольшой инженерией функций. Давайте добавим новую функцию, которая будет нашей исходной функцией в квадрате. Теперь у нас есть новая формула:

Эта формула представляет собой линейную комбинацию двух функций, X1 и квадрата X1. Он по-прежнему имеет линейность! Все наши предыдущие фреймворки работают в основном одинаково, и мы можем моделировать точки и визуализировать ошибки одними и теми же способами:

2. Постоянная дисперсия - гомоскедастичность.

Это причудливый способ сказать, что дисперсия выходной переменной остается неизменной при перемещении по входным переменным. Например, этот набор точек выглядит гомоскедастичным и главным кандидатом на линейную регрессию:

Если мы подгоним линию к этому, мы заметим, что хотя точки могут не всегда попадать точно на линию, но среднее расстояние между линией прогноза и точками, похоже, не увеличивается или уменьшается по мере продвижения:

С другой стороны, это распределение не имеет постоянной дисперсии, технический термин гетероскедастический:

Такое распределение выглядит менее подходящим для линейной регрессии. Конечно, мы можем подогнать под него линию, но прогнозы, которые дает эта линия, кажутся все менее и менее точными:

Замечание о гетероскодеальности должно заставить вас немного задуматься об использовании линейной модели, но это не означает, что линейные модели OLS полностью недействительны. В реальных данных гетероскедичность часто является признаком того, что некоторая характеристика - некоторая объясняющая переменная, в частности термин взаимодействия - с объяснительной ценностью еще не включена в модель. Чтобы проиллюстрировать, что я имею в виду, давайте представим реальный сценарий, который может дать нам данные, подобные приведенному выше.

Допустим, вы являетесь экономическим исследователем и проводите исследование распределения доходов. Вы хотите создать модель, которая будет прогнозировать доход на основе некоторого набора переменных: кажется, что доходы варьируются в зависимости от того, где вы находитесь, уровня образования человека и т. Д. Одна переменная, которую следует включить, - это то, как долго человек находится в рабочая сила. За исключением экономических спадов, люди стремятся зарабатывать больше по мере продвижения по карьерной лестнице. Вы спрашиваете своих респондентов, как долго они работают, и наносите результаты по оси абсцисс против их уровня дохода по оси ординат. Вы обнаружите, что у вас есть график, подобный приведенному выше, с постоянно расширяющимся конусом доходов. Вас посоветовали опасаться гетероскедичности. Означает ли это, что вам следует исключить эту переменную или попробовать другой тип модели? Возможно нет.

Прежде чем предпринять какие-либо радикальные меры, давайте попробуем продумать отношения, которые каждая из наших переменных имеет друг с другом. Мы видим, что доходы растут с годами работы, но скорость, по которой это происходит, не одинакова для всех. Давайте попробуем разделить наши данные по одной из других переменных. Возьмем, к примеру, уровень образования и сгруппируем наших респондентов по тому, имеют ли они высшее образование, высшее образование или профессиональную степень, например, юрист или врач. Рассматривая каждую из этих групп по отдельности, мы можем получить такой график, где разные цвета представляют разные уровни образования:

Теперь данные больше похожи на три гомоскедастических распределения! Кажется, что каждый уровень образования хорошо оценивается линией, но наклон линий немного отличается, что придавало общему распределению вид гетероскадаскичности, когда мы смотрели только на годы работы и доход. Фактически, мы можем учесть это в одной модели, не разделяя данные на три группы, включив термин взаимодействия: новую функцию, которую мы создадим, которая является чем-то вроде нашей ценности для уровня образования, умноженной на количество лет работы. . Наша формула регрессии будет выглядеть примерно так:

Проблема в подобной ситуации заключается в том, что она требует участия человека - модель не может выполнить проектирование функций за вас. В областях, где у вас есть знания предметной области и вы можете сделать разумное предположение о том, как могут взаимодействовать переменные функций, вы все равно можете использовать линейную модель и получить хорошо подходящую и легко объяснимую модель.

3. Независимость ошибок

Ошибки, то есть разница между фактическими значениями в данных и прогнозируемыми значениями модели, не должны коррелировать с каждой из них. Условия ошибки для любого набора случайных точек должны по существу выглядеть как одинаково распределенные независимые случайные величины. Если это не так, это означает, что ваша модель будет менее предсказуемой в некоторых областях, чем в других. Опять же, это может быть признаком отсутствия систематической ошибки переменной.

4. Отсутствие идеальной мультиколлинеарности.

В то время как объекты могут быть созданы из других объектов, возводя их в квадрат или взаимодействуя между собой, ни один объект не должен быть полностью коррелирован с другим (например, если один объект измеряет возраст в годах, а другой измеряет возраст в месяцах) или быть линейной комбинацией Другие особенности. Во-первых, это создает проблемы интерпретируемости, когда несколько коэффициентов могут описывать одну и ту же строку - например, y = 24 * number_of_years = 12 * number_of_years + 1 * number_of_months = 2 * number_of_months. Это также создает проблему, потому что статистические пакеты обычно решают коэффициенты с использованием линейной алгебры способом, который не работает, если существует идеальная мультиколлинеарность. (С технической точки зрения «матрица плана», представляющая значения переменных для каждой выборки, должна быть обратимой, чего нельзя сказать о мультиколлинеарности.)