計数データとポアソン分布

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}{下限は0}}$、上限なし
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で学ぶ一般化線形モデル

説明変数

  • 連続/カテゴリカル → ポアソン回帰モデル
  • カテゴリカル → 対数線形モデル
Pythonで学ぶ一般化線形モデル

PythonでのPoissonを用いたGLM

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...