Поиск…


Логистическая регрессия по набору данных «Титаник»

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

Имя происходит от используемой функции ссылки, функции logit или log-odds . Обратная функция логита называется логистической функцией и задается:

Эта функция принимает значение между ] -Inf; + Inf [ и возвращает значение от 0 до 1 ; т.е. логистическая функция принимает линейный предиктор и возвращает вероятность.

glm регрессию можно выполнить с glm функции glm с опцией family = binomial (ярлык для family = binomial(link="logit") , логит - это функция связи по умолчанию для семейства биномиал).

В этом примере мы пытаемся предсказать судьбу пассажиров на борту RMS Titanic.

Прочтите данные:

url <- "http://biostat.mc.vanderbilt.edu/wiki/pub/Main/DataSets/titanic.txt"
titanic <- read.csv(file = url, stringsAsFactors = FALSE)

Очистите отсутствующие значения:

В этом случае мы заменяем недостающие значения на приближение, среднее.

titanic$age[is.na(titanic$age)] <- mean(titanic$age, na.rm = TRUE) 

Обучить модель:

titanic.train <- glm(survived ~ pclass + sex + age,
                         family = binomial, data = titanic)

Резюме модели:

summary(titanic.train)

Выход:

Call:
glm(formula = survived ~ pclass + sex + age, family = binomial, data = titanic)

Deviance Residuals: 
    Min       1Q   Median       3Q      Max  
-2.6452  -0.6641  -0.3679   0.6123   2.5615  

Coefficients:
             Estimate Std. Error z value Pr(>|z|)    
(Intercept)  3.552261   0.342188  10.381  < 2e-16 ***
pclass2nd   -1.170777   0.211559  -5.534 3.13e-08 ***
pclass3rd   -2.430672   0.195157 -12.455  < 2e-16 ***
sexmale     -2.463377   0.154587 -15.935  < 2e-16 ***
age         -0.042235   0.007415  -5.696 1.23e-08 ***
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

(Dispersion parameter for binomial family taken to be 1)

    Null deviance: 1686.8  on 1312  degrees of freedom
Residual deviance: 1165.7  on 1308  degrees of freedom
AIC: 1175.7

Number of Fisher Scoring iterations: 5
  • Первое, что отображается, - это вызов. Это напоминание о модели и указанных опциях.

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

  • В следующей части вывода показаны коэффициенты, их стандартные ошибки, z-статистика (иногда называемая статистикой Wald z) и связанные с ней значения p.

    • Качественные переменные «думмируются». В качестве ссылки рассматривается модальность. Эталонная модальность может быть изменена с I в формуле.
    • Все четыре предиктора статистически значимы на уровне 0,1%.
    • Коэффициенты логистической регрессии дают изменение логарифмических коэффициентов результата для однократного увеличения предикторной переменной.
    • Чтобы увидеть соотношение шансов (мультипликативное изменение шансов выживания на единицу увеличения предикторной переменной), оценивайте параметр.
    • Чтобы увидеть доверительный интервал (CI) параметра, используйте confint .
  • Ниже таблицы коэффициентов соответствуют индексы, в том числе нулевые и отклоняющие значения и Akaike Information Criterion (AIC), которые могут использоваться для сравнения производительности модели.

    • Сравнивая модели с максимальной вероятностью с теми же данными, чем меньше AIC, тем лучше подходит.
    • Одним из показателей соответствия модели является значение общей модели. Этот тест спрашивает, подходит ли модель с предикторами лучше, чем модель с просто перехватом (т. Е. Нулевой моделью).

Пример коэффициентов шансов:

exp(coef(titanic.train)[3])

 pclass3rd 
0.08797765 

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

Пример доверительного интервала для параметров:

confint(titanic.train)

Waiting for profiling to be done...
                  2.5 %      97.5 %
(Intercept)  2.89486872  4.23734280
pclass2nd   -1.58986065 -0.75987230
pclass3rd   -2.81987935 -2.05419500
sexmale     -2.77180962 -2.16528316
age         -0.05695894 -0.02786211

Пример расчета значения общей модели:

Статистическая статистика распределяется по хи-квадрату со степенями свободы, равными различиям в степенях свободы между током и нулевой моделью (т. Е. Числом предикторных переменных в модели).

with(titanic.train, pchisq(null.deviance - deviance, df.null - df.residual
, lower.tail = FALSE))
[1] 1.892539e-111

Значение p находится вблизи 0, что показывает сильно значимую модель.



Modified text is an extract of the original Stack Overflow Documentation
Лицензировано согласно CC BY-SA 3.0
Не связан с Stack Overflow