【初心者向け】ポアソン回帰とは? Pythonで学ぶ一般化線形モデル(GLM)

ポアソン回帰とは

ポアソン回帰とは、確率分布ポアソン分布かつリンク関数対数リンク関数を用いた一般化線形モデル(GML)です。

ポアソン回帰を用いると、例えば飲料水の販売個数を予測するなどのカウントデータを分析することが出来ます。

確率分布には、ポアソン分布以外に、正規分布や二項分布などがありますが、ポアソン回帰では確率分布にポアソン分布を用いています。説明変数は複数利用可能で、カテゴリ型や連続型が含まれていても問題なく利用出来ます。

ポアソン分布とは

ポアソン分布(Poisson distribution)とは稀にしか起こらない事柄の分布になります。

ポアソン分布には、地震などの発生件数や、交通事故の発生件数、工場などで発生する不良品の数などです。

以下は、平均回数(mu)の時の、0~60までの確率密度を計算し可視化したプログラムです。

from scipy.stats import poisson
import matplotlib.pyplot as plt
%matplotlib inline

mu = 20
k = np.arange(60)
pmf_pois = poisson.pmf(k, mu)
plt.bar(k, pmf_pois)
plt.show()

Pythonでポアソン回帰分析を行う

Pythonでポアソン回帰を扱うには大きく2種類あります。

1つは「statsmodels」を用いる方法。もう一つは、「scikit-learn」を用いる方法です。

statsmodelsの「Generalized Linear Models」を用いる場合、以下のようなプログラムを書きます。

import statsmodels.formula.api as smf
import statsmodels.api as sm

model = smf.glm("目的変数 ~ 説明変数", df, family=sm.families.Poisson()).fit()
model.summary()

次にscikit-learnを用いた場合、「from sklearn.linear_model import PoissonRegressor」を用いることで、ポアソン回帰を利用できます。

from sklearn.linear_model import PoissonRegressor
model = PoissonRegressor()

統計学や機械学習を効率的に学ぶには

統計学や機械学習を独学で学ぶのは大変です。そのため、まずはオンラインプログラムを利用するのが良いです。

AI Academy Bootcampでは6ヶ月データサイエンティストや機械学習エンジニアに質問し放題かつ、体系的に学べる動画コンテンツや440種類以上のテキストコンテンツで学べて35,000(税込)で受講出来ます。

是非サービスを活用し、効率よく、統計学や機械学習を身につけてみてください。