Линейная регрессия1

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

Обобщенная линейная модель (GLM) расширяет линейную регрессию, чтобы включить ненормальные распределения, включая двоичные данные результатов, данные подсчета, данные вероятности, данные о пропорциях и многие другие типы данных. В общем, GLM используется для анализа линейных и нелинейных эффектов непрерывных и категориальных переменных-предикторов на дискретную или непрерывную переменную отклика. Например, для прогнозирования категориального результата (где переменная ответа - истина / ложь, 1/0 и т. Д.) Часто рекомендуется использовать форму GLM, называемую логистической регрессией.

В R есть несколько пакетов, реализующих GLM. Фактически, есть полезная виньетка CRAN, которая обеспечивает быстрый анализ всех пакетов CRAN, в названии которых есть glm. Интересно исследовать всю работу, проделанную людьми по всему миру под названием GLM, но для наших целей мы будем придерживаться функции glm () в базовом пакете статистики R.

Давайте посмотрим на простой пример, в котором мы хотим моделировать двоичные данные с помощью GLM. Мы можем использовать хорошо известный набор данных mtcars «Motor Trend Car Road Test», доступный в базе R. Этот набор данных содержит 32 наблюдения и 11 переменных. Переменная vs указывает тип двигателя автомобиля: 0 - V-образный, 1 - прямой. Это будет наша переменная ответа. Мы хотим создать модель, которая поможет нам предсказать вероятность того, что у транспортного средства будет V-образный двигатель или прямой двигатель. Для этого мы будем использовать два предиктора: wt (вес - 1000 фунтов) и disp (смещение - кубические дюймы).

‹# Подбираем модель с обычным ответом / предсказателем

‹# формула и укажите биномальное распределение ошибок

‹glm1‹ - glm (формула = vs ~ wt + disp, data = mtcars,

family = binomial)

›сводка (glm1)

Звоните:

glm (формула = vs ~ wt + disp, family = binomial, data = mtcars)

Остаточные отклонения:

Мин. 1 квартал, медиана, 3 квартал, макс.

-1.67506 -0.28444 -0.08401 0.57281 2.08234

Коэффициенты:

Расчетная стандартная. Ошибка значения z Pr (›| z |)

(Перехват) 1,60859 2,43903 0,660 0,510

wt 1.62635 1.49068 1.091 0.275

disp -0,03443 0,01536 -2,241 0,025 *

Сигниф. коды: 0 ‘***’ 0,001 ‘**’ 0,01 ‘*’ 0,05 ‘.’ 0,1 ‘’ 1

(Параметр дисперсии для биномиального семейства принимается равным 1)

Нулевое отклонение: 43,86 на 31 степени свободы

Остаточное отклонение: 21,40 при 29 степенях свободы

AIC: 27,4

Количество итераций подсчета Фишера: 6

Из оценок коэффициентов видно, что wt влияет на vs положительно, а disp - немного отрицательно. Мы также видим, что коэффициент веса не имеет значения (p ›0,05), а коэффициент смещения значим (см. Звездочку).

Теперь мы можем использовать подобранную модель, чтобы делать прогнозы (мы также увидим, насколько хороши прогнозы). Мы хотим предсказать vs при весе 3000 фунтов. и объемом двигателя 150 кубических дюймов.

›# Используйте подходящую модель, чтобы прогнозировать vs для веса 3000

›# фунт. и водоизмещение 250

›newdata = data.frame (wt = 3.0, disp = 150)

›прогнозировать (glm1, newdata, type =” response ”)

1

0.7896128

Прогнозируемая вероятность составляет ~ 79%.

Показатели качества подгонки

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

  • Отклонение - в выходных данных подобранной модели glm1 мы видим два важных показателя: нулевое отклонение и остаточное отклонение. Отклонение - это измерение качества соответствия для GLM, где большие значения указывают на худшее соответствие. Нулевое отклонение показывает, насколько хорошо переменная ответа предсказывается моделью, которая включает только точку пересечения (общее среднее всех групп). Для нашего примера у нас есть значение 43,9 для 31 степени свободы. Последующее включение независимых переменных wt и disp служит для уменьшения отклонения до 21,4 при 29 степенях свободы, что значительно снижает отклонение. Точно так же остаточное отклонение уменьшилось на 22,46 с потерей двух степеней свободы.
  • Оценка Фишера - этот показатель имеет отношение к тому, как была оценена модель. При оценке Фишера используется итеративный подход (по умолчанию алгоритм Ньютона-Рафсона). По сути, модель подбирается на основе предположения для оценочных значений. Затем алгоритм определяет, можно ли улучшить соответствие с помощью различных оценок. Если это так, он движется в этом направлении (например, используя более высокое значение для оценки), а затем снова соответствует модели. Алгоритм останавливается, когда чувствует, что повторное движение не принесет значительного дополнительного улучшения. Строка в выходных данных GLM показывает, сколько итераций потребовалось для завершения процесса (сходимости). Для glm1 мы видим, что для подбора Fisher Scoring потребовалось шесть итераций.
  • Информационный критерий Акаике (AIC) - это еще одна метрика качества соответствия, которая учитывает способность модели соответствовать данным. Это очень полезно, поскольку дает метод оценки качества модели путем сравнения связанных моделей. Он основан на метрике отклонения, но наказывает вас за усложнение модели. Подобно скорректированному R-квадрату, он предназначен для предотвращения включения нерелевантных предикторов. Однако, в отличие от скорректированного R-квадрата, само число не имеет значения. Если у вас есть несколько похожих моделей-кандидатов (где все переменные более простой модели встречаются в более сложных моделях), вам следует выбрать модель с наименьшим AIC. Так что это полезно для сравнения моделей, но само по себе не поддается интерпретации.
  • Хосмер-Лемешоу - Другой подход к определению качества соответствия двоичных данных - использование теста Хосмера Лемешоу (см. Код R ниже). Модель glm1, по-видимому, хорошо подходит, потому что нет существенной разницы между моделью и наблюдаемыми данными (т. Е. Значение p выше 0,05). Как и в случае с другими метриками соответствия модели, мы можем использовать этот тест как одну часть информации для определения того, насколько хорошо модель соответствует. Он плохо работает с очень большими или очень маленькими наборами данных, но, тем не менее, часто бывает полезен.

›библиотека (ResourceSelection)

›hoslem.test (mtcars $ vs, fit (glm1))

Тест согласия Хосмера и Лемешоу (GOF)

данные: mtcars $ vs, подогнано (glm1)

X-квадрат = 6,4717, df = 8, значение p = 0,5945

Чтобы узнать больше о GLM, посетите семинар в ODSC west: Общее учебное занятие: машинное обучение в R, часть I.

Оригинальная история здесь.

— — — — — — — — — — — — — — — — — —

Прочтите больше статей по науке о данных на OpenDataScience.com, включая учебные пособия и руководства от новичка до продвинутого уровня! Подпишитесь на нашу еженедельную рассылку здесь и получайте последние новости каждый четверг.