Счётные данные и распределение Пуассона

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

Ita Cirovic Donev

Data Science Consultant

Счётные данные

  • Подсчёт числа событий за заданную единицу времени, расстояния, площади или объёма

Примеры:

  • Голы в футбольном матче
  • Количество землетрясений
  • Число спутников крабов
  • Количество наград у человека
  • Число велосипедистов, пересекающих мост
Обобщённые линейные модели в Python

Случайная величина Пуассона

  • События происходят независимо и случайно
  • Распределение Пуассона

$$ P(y)=\frac{\lambda^ye^{-\lambda}}{y!} $$

  • $\lambda$ : среднее и дисперсия
  • $y=0,1,2,3, ...$
    • $\text{\color{#E80C7A}{Всегда положительное}}$
    • Дискретное (не непрерывное)
    • $\text{\color{#E80C7A}{Нижняя граница — ноль}}$, верхней границы нет
Обобщённые линейные модели в Python

Параметр распределения Пуассона

Графики распределения случайной величины Пуассона при лямбда равной 1, 5 и 10 соответственно.

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

Визуализация отклика

import seaborn as sns
sns.distplot('y')
Обобщённые линейные модели в Python

Регрессия Пуассона

  • Зависимая переменная $$ y \sim Poisson(\lambda) $$

  • Среднее отклика $$ E(y)=\lambda $$

  • Модель регрессии Пуассона $$ log(\lambda)=\beta_0+\beta_1x_1 $$

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

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

  • Непрерывные и/или категориальные $\rightarrow$ модель регрессии Пуассона
  • Категориальные $\rightarrow$ лог-линейная модель
Обобщённые линейные модели в Python

GLM с распределением Пуассона в Python

import statsmodels.api as sm
from statsmodels.formula.api import glm
glm('y ~ x', 
    data = my_data,
    family = sm.families.Poisson())
Обобщённые линейные модели в Python

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

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

Preparing Video For Download...