В статистике мы часто ищем способы количественной оценки взаимосвязи между факторами и реакциями в реальной жизни.

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

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

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

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

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

В нашем конкретном примере мы рассмотрим широко используемый набор данных Boston Housing, который можно найти в библиотеке scikit-learn.

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

Обозначения модели и предположения

Модель линейной регрессии представлена ​​следующим образом:

куда:

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

Эти предположения следующие:

Исследовательская работа

В рамках этой модели мы будем рассматривать MEDV как переменную ответа. MEDV - это средняя стоимость домов, занимаемых владельцами, в 1000 долларов США.

Здесь мы собираемся взглянуть на строку парного графика, у которой есть MEDV на оси y. То есть мы собираемся посмотреть на точечные диаграммы того, как стоимость жилья соотносится со всеми другими характеристиками в наборе данных.

Вы можете найти полное описание всех названий набора данных здесь:
https://www.cs.toronto.edu/~delve/data/boston/bostonDetail.html

Одно особенно линейное соотношение, которое выделяется, - это соотношение среднего количества комнат в жилище (RM).

Вот подробный обзор:

Простая линейная регрессия

Простейшая форма линейной регрессии состоит только из точки пересечения и одного факторного члена.

В этом случае мы подгоним модель методом наименьших квадратов.

Метод наименьших квадратов

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

То есть мы минимизируем квадратные ошибки, математически представленные как:

Где сигма - это сумма по всем строкам в наборе данных.

Вот как мы подбираем модель, используя statsmodel библиотеки Python.

Сначала импортируем библиотеку:

import statsmodels.api as sm

Теперь мы готовы разместить:

Обратите внимание, как мы должны добавить в столбец те, которые называются «перехват».

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

Таким образом, столбец единиц является первым столбцом в нашей матрице X, так что, когда мы умножаем на вектор коэффициентов множителя, мы получаем значение пересечения в каждом уравнении.

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

Подходящее резюме

coef: это оценки коэффициентов фактора. Часто нет смысла рассматривать интерпретацию термина перехвата. Например, в нашем случае термин перехват имеет отношение к случаю, когда в доме 0 комнат… для дома не имеет смысла не иметь комнат.

С другой стороны, коэффициент RM имеет большое значение. Это предполагает, что для каждой дополнительной комнаты вы можете ожидать увеличения средней стоимости домов, занимаемых владельцами, на 9102 доллара.

P ›| t |: Это проверка двусторонней гипотезы, в которой нулевая гипотеза заключается в том, что RM не влияет на MEDV. Поскольку p-значение настолько низкое, что приблизительно равно нулю, то есть сильные статистические доказательства, чтобы опровергнуть утверждение о том, что RM не влияет на MEDV.

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

Множественная линейная регрессия:

Что происходит, когда мы добавляем другие факторы?

Поскольку у нас больше нечего делать, почему бы просто не добавить их всех
(Предупреждение: может быть, вам не стоит пробовать это дома…… особенно если у вас тысячи функций….)

  • За исключением CHAS: поскольку он двоичный *

Хорошо… Прошу прощения за то, как долго эта сводная таблица была: /

Обратите внимание, что R-квадрат и скорректированный R-квадрат резко увеличились. Также обратите внимание, что теперь есть функция с сильными статистическими доказательствами, подтверждающими утверждение, что она НЕ влияет на MEDV.

Эта функция - AGE, и мы удалим ее из нашей модели и переоборудоваем.

Мы продолжим обрезку и сравнение, пока не получим все статистически значимые функции.

Как мы видим, столбцы Age и Indus не способствовали подгонке модели, и их лучше не учитывать.

Вероятность (F-статистика): p-значение, связанное с тестом значимости всей модели. В этом случае нулевая гипотеза состоит в том, что модель не имеет общего значения. Поскольку наше значение намного ниже 0,01, мы можем отклонить нулевую гипотезу в пользу альтернативы, согласно которой модель статистически значима.

***ПРИМЕЧАНИЕ***

Для множественной линейной регрессии коэффициенты бета интерпретируются несколько иначе.

Например, коэффициент RM предполагает, что для каждой дополнительной комнаты мы можем ожидать увеличения средней стоимости домов, занимаемых владельцем, на 3485 долларов США, при сохранении всех остальных факторов. Также обратите внимание, что фактическое значение коэффициента также изменилось.

Диагностика модели

На этом этапе вам может быть интересно, что мы могли бы сделать, чтобы улучшить соответствие модели. В связи с тем, что прил. R-квадрат составляет 0,730, безусловно, есть возможности для улучшения.

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

Помимо этого, нам также нужно будет проверить, было ли вообще когда-либо разумным применять линейную регрессию.

Для этого мы смотрим на остаточные участки.

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

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

Однако в нашем случае SLR с RM мы имеем

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

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

Фактически, в этом случае может показаться, что дисперсия изменяется согласно какой-то другой функции. Мы воспользуемся методом box-cox, чтобы решить эту проблему через секунду.

Мы можем дополнительно проверить наше предположение о нормальности, создав qqplot. Для нормального распределения график qq будет стремиться к прямой линии.

Однако обратите внимание, что эта линия явно перекошена.

Метод Бокса-Кокса

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

Реализовано с помощью scipy.stats, мы получили значение лямбда 0,45, которое мы можем использовать как 0,5, поскольку оно не будет иметь большого значения с точки зрения соответствия, но сделает наш ответ более интерпретируемым.

import scipy.stats as stats
df.RM2,fitted_lambda = stats.boxcox(df.RM)

Ниже вы найдете таблицу общих лямбда-значений и предлагаемых им преобразований ответа.

После этого мы соответствующим образом трансформируем наш ответ:

df.MEDV2 = np.sqrt(df.MEDV)

Затем мы подгоняем нашу модель к MEDV2, который является квадратным корнем из MEDV.

И наши значения R-квадрата, и скорректированные R-квадрат выросли совсем немного при том же количестве функций. Довольно круто, правда?

Кроме того, наши остаточные графики также улучшились:

Кроме того, мы также можем попробовать применить наше преобразование к каждой переменной функции.

X = df[['intercept','CRIM', 'ZN','NOX', 'RM','DIS', 'RAD',
       'TAX', 'PTRATIO', 'B', 'LSTAT']]
X2 = X.apply(np.sqrt)

Затем мы подбираем нашу модель, состоящую из X2 в качестве матрицы признаков и MEDV2 в качестве переменной ответа.

Здесь мы видим еще большее улучшение этих значений при том же количестве функций.

Наш окончательный остаточный график выглядит так:

Таким образом, очевидно, что есть еще кое-что для улучшения, но мы определенно добились определенного прогресса.

Некоторые дополнительные примечания

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

Кроме того, что касается CHAS, было бы хорошо включить погоню из-за его кодировки {1,0}. Для любых других опций было бы сложно или невозможно интерпретировать коэффициент бета, если бы варианты не были естественным образом упорядочены. Когда мы подбираем нашу окончательную модель с помощью chas, мы получаем скорректированный R-квадрат 0,794. Интерпретация коэффициента бета 0,077 в этом случае будет:

Если жилой массив граничит с рекой Чарльз, то можно ожидать, что средняя стоимость домов, занимаемых владельцами, увеличится на 77 долларов по сравнению с домом, не ограниченным рекой, при сохранении всех остальных факторов.

Заключение

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