Poisson回帰

はじめに

回帰分析というと、表現したい事象の確率分布(誤差の分布、という言い方をする場合もある)として正規分布を考えるいわゆる線形回帰がよく用いられるが、その他の様々な確率分布にも対応できるように拡張された一般化線形モデルもよく知られている。今回は、モデル化の対象とする変数(以下、目的変数とよぶ)が計数データ、つまり自然数(0を含む)の値をとる場合によく使用されるPoisson回帰をとりあげる。

Poisson回帰とは

一般化線形モデルとは、目的変数 Y_iが何らかの確率分布(原則として、指数型分布族とよばれるグループの分布)に従うことを想定し、目的変数の期待値 E(Y_i) = \mu_iと説明変数ベクトル x_iとを関係式で結ぶことで構成される:


g(\mu_i) = {x_i}^{T} \beta

 \betaは、各説明変数が目的変数に与える影響の大きさを表すパラメータのベクトルであり、一般的な回帰分析でいう回帰係数にあたる。さらに \mu_iを変換する関数 gを連結関数といい、目的変数の従う確率分布に応じて適切なものが存在する。
Poisson回帰とは、一般化線形モデルにおいて目的変数の分布をPoisson分布と想定したものである。Poisson分布は次の確率関数をもつ:

 \displaystyle
f(y, \theta) = \frac{ {\theta}^{y} {e}^{-\theta} }{ y! }

Poisson分布の位置や形状を決めるパラメータは \thetaのひとつだけであり、平均・分散ともに \thetaである。目的変数が例えばある期間内に起きる事象の数であるような場合には、このPoisson分布を想定した一般化線形モデルがよく利用される。データには n個体の目的変数および説明変数が記録されているとし、目的変数の平均がひとりひとり異なる説明変数の値によって異なると想定すると(通常用いられる想定)、個体 iの目的変数の期待値 \theta_i

 \displaystyle
g(\theta_i) = {x_i}^{T} \beta

と表現できる。最後に連結関数 gを特定する必要があるが、連結関数は想定する確率分布に応じて性質のよいものが理論的に知られており、Poisson分布の場合には対数関数が一般的に用いられる。したがって、

 \displaystyle
\log(\theta_i) = {x_i}^{T} \beta \hspace{15pt} (1)

という形がモデルを特徴づける関係式となる。
今回は詳しく述べないが、このように定式化したモデルのパラメータ \betaを推定するには、線形回帰分析のような最小二乗法が適用できないことが多い。様々な方法が知られており、少なくともPoisson回帰の場合は全く問題なく推定可能である。推定されたパラメータの解釈については線形回帰と同様であるが、注意すべき点は連結関数の存在である。ある説明変数が目的変数にどの程度の影響を与えるかを見るには、式(1)の左辺を目的変数の期待値 \theta_iで表現しなければならない。今回は単純に指数変換

 \displaystyle
\theta_i = \exp({x_i}^{T} \beta)

をするだけである。話を簡単にするために説明変数がひとつだけだとすると、説明変数 x_iの数値が1ほど大きくなったとき、目的変数の期待値 \theta_i \exp(\beta)ほど大きくなる、ということになる。非常に単純化した例だが、例えば目的変数が1年間に病院を受診する回数、説明変数が年齢(ただし単位は10歳)だとし、得られたデータからの \betaの推定値が1.2だとすると、 \exp(1.2) = 3.32...なので10歳歳をとるごとに病院に行く回数は平均して3回ちょっと多くなるだろう、という解釈ができる。歳をとるのはなかなか大変だということが分かる。 f:id:mstour:20201228194953j:plain

オフセット

前述のようにある期間内に起きる事象の回数(例えば1年間に病院を受診する回数)をモデル化したい場合、各個人のデータがすべて「1年間」という期間を定めて収集されていれば話は簡単である。しかし、実際には個人ごとにデータを収集する期間がばらばら、というのは非常によくあることだ。このようなときに1年間あたりの事象の回数を表現するために、「オフセット」とよばれる変数を用いることがある。
オフセットとして、ここでは個人ごとに異なるデータの収集年数 t_iを用いる(なお、オフセットは時間以外にも用いられる)。個人 iの事象の発生回数がPoisson分布に従うとすると、その期待値は「1年間あたりに期待される発生回数 \theta_i」と「収集年数 t_i」の積

 \displaystyle
E(Y_i) = \mu_i = t_i \theta_i

と表すことができる。関心があるのは「1年間あたりの発生回数」に説明変数が与える影響なので、 \theta_iの部分を

 \displaystyle
\theta_i = e^{{x_i}^{T} \beta}

の形で表現すればよい。そうすると、各個人の(個人ごとに収集年数の異なる)事象の発生回数の期待値は

 \displaystyle
E(Y_i) = \mu_i = t_i e^{{x_i}^{T} \beta}

となり、通常のPoisson回帰と同様に連結関数として対数関数を用いると

 \displaystyle
\log \mu_i = \log t_i + {x_i}^{T} \beta

という表現が得られる。あとは最尤法等によってパラメータ \betaの推定を行えばよい。このようにして、データが個人ごとに異なるスケールで得られていることを考慮することも可能である。

参考文献

  • Annette J. Dobson(2008), 一般化線形モデル入門.

  • Brown H. and Prescott R.(2015), Applied Mixed Models in Medicine.