Категориальные переменные и взаимодействия

Обобщённые линейные модели в Python

Ita Cirovic Donev

Data Science Consultant

Категориальные переменные

  • Простая бинарная переменная
    • Yes, No
  • Номинальные переменные
    • Цвет: red, green, blue
  • Порядковые переменные
    • Уровень образования: Education1, Education2,...,Education4
Обобщённые линейные модели в Python

Анализ ковариации

  • Объясняющие переменные

    • $x_1$: категориальная (бинарная)
    • $x_2$: непрерывная
  • Логистическая модель $$ \text{logit}(y=1|X)=\beta_0 + \beta_1x_1 + \beta_2x_2 $$

Обобщённые линейные модели в Python

Анализ ковариации

  • Объясняющие переменные
    • $x_1$: категориальная (бинарная)
    • $x_2$: непрерывная
  • Логистическая модель $$ \text{logit}(y=1|\color{red}{X})=\beta_0 + \beta_1\color{red}{x_1} + \beta_2\color{red}{x_2} $$
Обобщённые линейные модели в Python

Анализ ковариации

  • Объясняющие переменные
    • $x_1$: категориальная (бинарная)
    • $x_2$: непрерывная
  • Логистическая модель $$ \text{logit}(y=1|X)=\beta_0 + \beta_1\color{red}{x_1} + \beta_2x_2 $$

  • Если $x_1=0$, то $$ \text{logit}(y=1|\color{red}{x_1=0},x_2)=\beta_0 + \color{red}{0} + \beta_2x_2 $$

Обобщённые линейные модели в Python

Анализ ковариации

  • Объясняющие переменные
    • $x_1$: категориальная (бинарная)
    • $x_2$: непрерывная
  • Логистическая модель $$ \text{logit}(y=1|X)=\beta_0 + \beta_1\color{red}{x_1} + \beta_2x_2 $$

  • Если $x_1=0$, то $$ \text{logit}(y=1|x_1=0,x_2)=\beta_0 + 0 + \beta_2x_2 $$

  • Если $x_1 = 1$, то $$ \text{logit}(y=1|\color{red}{x_1=1},x_2)=\beta_0 + \color{red}{\beta_1} + \beta_2x_2 $$ $$ \text{logit}(y=1|\color{red}{x_1=1},x_2)=(\beta_0 + \color{red}{\beta_1}) + \beta_2x_2 $$

Обобщённые линейные модели в Python

Допущения

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

Обобщённые линейные модели в Python

Допущения

Выделение разницы в свободных членах в модели без взаимодействия.

Обобщённые линейные модели в Python

Допущения

Модель без взаимодействия

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

Обобщённые линейные модели в Python

Взаимодействия

  • Неравные наклоны $\rightarrow$ наличие взаимодействия
  • Влияние $x_1$ на $y$ зависит от уровня $x_2$ и наоборот
  • Логистическая модель с взаимодействиями $$ \text{logit}(y=1|X)=\beta_0 + \beta_1x_1 + \beta_2x_2 + \color{red}{\beta_3x_1x_2} $$
Обобщённые линейные модели в Python

Взаимодействия

  • Неравные наклоны $\rightarrow$ наличие взаимодействия
  • Влияние $x_1$ на $y$ зависит от уровня $x_2$ и наоборот
  • Логистическая модель с взаимодействиями $$ \text{logit}(y=1|X)=\beta_0 + \beta_1x_1 + \beta_2x_2 + \beta_3x_1x_2 $$

  • Если $x_1=0$, то $$ \text{logit}(y=1|\color{red}{x_1=0},x_2)=\beta_0 + \color{red}{0} + \beta_2x_2 + \color{red}{0} $$

Обобщённые линейные модели в Python

Взаимодействия

  • Неравные наклоны $\rightarrow$ наличие взаимодействия
  • Влияние $x_1$ на $y$ зависит от уровня $x_2$ и наоборот
  • Логистическая модель с взаимодействиями $$ \text{logit}(y=1|X)=\beta_0 + \beta_1x_1 + \beta_2x_2 + \beta_3x_1x_2 $$

  • Если $x_1=0$, то $$ \text{logit}(y=1|x_1=0,x_2)=\beta_0 + \beta_2x_2 $$

  • Если $x_1 = 1$, то $$ \text{logit}(y=1|\color{red}{x_1=1},x_2)=\beta_0 + \color{red}{\beta_1} + \beta_2x_2 + \color{red}{\beta_3}x_2 $$ $$ \text{logit}(y=1|\color{red}{x_1=1},x_2)=(\beta_0 + \color{red}{\beta_1}) + (\beta_2 + \color{red}{\beta_3})x_2 $$

Обобщённые линейные модели в Python

Взаимодействия

  • Неравные наклоны $\rightarrow$ наличие взаимодействия
  • Влияние $x_1$ на $y$ зависит от уровня $x_2$ и наоборот
  • Логистическая модель с взаимодействиями $$ \text{logit}(y=1|X)=\beta_0 + \beta_1x_1 + \beta_2x_2 + \beta_3x_1x_2 $$

  • Если $x_1=0$, то $$ \text{logit}(y=1|x_1=0,x_2)=\color{red}{\beta_0} + \color{red}{\beta_2}x_2 $$

  • Если $x_1 = 1$, то $$ \text{logit}(y=1|x_1=1,x_2)=\beta_0 + \beta_1 + \beta_2x_2 + \beta_3x_2 $$ $$ \text{logit}(y=1|x_1=1,x_2)=\color{red}{(\beta_0 + \beta_1)} + \color{red}{(\beta_2 + \beta_3)}x_2 $$

Обобщённые линейные модели в Python

Визуализация взаимодействий

Представление модели с членом взаимодействия (непараллельные прямые).

Взаимодействия позволяют задать:

  • разные свободный член и наклон для $x_1$
  • $\beta_1$: разница между двумя свободными членами
  • $\beta_3$: разница между двумя наклонами
Обобщённые линейные модели в Python

Типы взаимодействий

  • бинарная $\times$ бинарная
  • бинарная $\times$ категориальная
  • бинарная $\times$ непрерывная
  • непрерывная $\times$ категориальная
  • непрерывная $\times$ непрерывная
  • категориальная $\times$ категориальная
  • взаимодействия более двух переменных
Обобщённые линейные модели в Python

Давайте потренируемся!

Обобщённые линейные модели в Python

Preparing Video For Download...