ggplot2 і біноміальна GLM

Узагальнені лінійні моделі в R

Richard Erickson

Instructor

Що видно в даних?

Чи впливає відстань до роботи на ймовірність їхати автобусом?

ggplot(bus, aes(x = MilesOneWay, y = Bus)) + geom_point()

Графік лише з точками

Узагальнені лінійні моделі в R

geom_jitter()

gg_jitter <- ggplot(bus, aes(x = MilesOneWay, y = Bus)) +
             geom_jitter(width = 0, height = 0.05)
print(gg_jitter) 

Розсипаний (jitter) графік точок

Узагальнені лінійні моделі в R

geom_smooth()

gg_jitter + geom_smooth()

Попередній jitter-графік зі згладженою геометрією.

Узагальнені лінійні моделі в R

factor → numeric

str(bus)
bus$Bus2 <- as.numeric(bus$Bus) - 1 
Узагальнені лінійні моделі в R

geom_smooth()

gg_jitter + geom_smooth() 

Змініть дані на числові замість символьних

Узагальнені лінійні моделі в R

Лінійні моделі

gg_jitter + geom_smooth(method = 'glm')

Додайте lm до ggJitter

Узагальнені лінійні моделі в R

Логістична регресія

ggJitter + 
geom_smooth(method = 'glm',
            method.args = list(family = "binomial")) 

ggJitter із логістичною кривою

Узагальнені лінійні моделі в R
gg_jitter + 
    geom_smooth(method = 'glm',
                method.args = list(family = binomial(link = 'logit')),
                se = FALSE, color = 'red') +
    geom_smooth(method = 'glm',
                method.args = list(family = binomial(link = 'probit')),
                se = FALSE, color = 'blue') 

ggJitter з кривими logit і probit

Узагальнені лінійні моделі в R

Підсумок кроків

  • Будуйте як jitter, щоб уникнути накладання
  • Додайте згладжену геометрію
  • Задайте коректні method і family
  • Відшліфуйте фігуру (поза межами курсу)
Узагальнені лінійні моделі в R

Давайте потренуємось!

Узагальнені лінійні моделі в R

Preparing Video For Download...