Подгонка модели вероятности выживания воробьёв
В этом упражнении вы оцените вероятность того, что воробей переживёт суровую зимнюю бурю, на основе его физических характеристик. Набор данных sparrow уже загружен. Целевая переменная — status ("Survived", "Perished"). Рассматриваемые признаки:
total_length: длина птицы от кончика клюва до кончика хвоста (мм)weight: масса в граммахhumerus: длина плечевой кости (кость «верхней руки», соединяющая крыло с телом) (дюймы)
Помните, что при использовании glm() (docs) для построения модели логистической регрессии необходимо явно указывать family = binomial:
glm(formula, data = data, family = binomial)
Вы вызовете summary() и broom::glance(), чтобы изучить модель с помощью различных функций диагностики. Одна из метрик, которую вы рассмотрите, — аналог \(R^2\), называемый псевдо-\(R^2\).
$$ pseudoR^2 = 1 - \frac{deviance}{null.deviance} $$
Девиансу можно дать интуитивное объяснение, аналогичное дисперсии: это мера разброса в категориальных данных. Псевдо-\(R^2\) играет ту же роль, что и \(R^2\) в стандартной регрессии: \(R^2\) показывает долю объяснённой дисперсии, а псевдо-\(R^2\) — долю объяснённой девиансы.
Это упражнение является частью курса
Обучение с учителем в R: регрессия
Инструкции к упражнению
- Как было показано в видео, предсказание будет основано на значениях
TRUEиFALSE. Создайте новый столбецsurvivedв датафреймеsparrow, который принимает значение TRUE, когдаstatus == "Survived". - Создайте формулу
fmla, выражающуюsurvivedкак функцию интересующих переменных. Выведите её на экран. - Подгоните модель логистической регрессии для предсказания вероятности выживания воробья. Присвойте модель переменной
sparrow_model. - Вызовите
summary(), чтобы увидеть коэффициенты модели, девиансу и нулевую девиансу. - Вызовите
glance()для модели, чтобы получить девиансы и другие диагностические показатели в виде датафрейма. Присвойте результатglance()переменнойperf. - Вычислите псевдо-\(R^2\).
Интерактивное практическое упражнение
Попробуйте выполнить это упражнение, дополнив этот пример кода.
# sparrow is available
summary(sparrow)
# Create the survived column
sparrow$survived <- ___
# Create the formula
(fmla <- _____)
# Fit the logistic regression model
sparrow_model <- ___
# Call summary
___
# Call glance
(perf <- ___)
# Calculate pseudo-R-squared
(pseudoR2 <- ___)