モデリング●●●●●

一般化線形モデル

Generalized Linear Model ・ いっぱんかせんけいもでる

正規分布以外の応答も扱えるよう、線形回帰をリンク関数と分布族で拡張した枠組み

✦ 30秒で試す — 航海件数や「はい/いいえ」に直線を当てると、ありえない値が出る勉強を1時間増やしたとき、合格率の上がり幅がいちばん大きいのは?予想してみる

概要

一般化線形モデル(GLM)は、線形回帰を「正規分布ではない応答変数」にも使えるように拡張した統一的な枠組みです。通常の線形回帰は「応答は連続量で、誤差は正規分布」という前提で設計されていますが、実務のデータはそうとは限りません。買った/買わなかったの二値、1日の来店客数のようなカウント、機械の故障までの時間——これらに素朴に直線を当てはめると、確率が1を超えたり客数が負になったりと、すぐに破綻します。

GLMの発想は、線形回帰の「説明変数の重み付き和(線形予測子)で応答を説明する」という骨格は残したまま、(1) 応答が従う確率分布を正規分布以外から選べるようにし、(2) 線形予測子と応答の平均を「リンク関数」という変換でつなぐ、という2点だけを一般化することです。この小さな拡張で、二値・カウント・正の連続量など多様なデータが同じ土俵に乗ります。

ロジスティック回帰もポアソン回帰も、実は GLM という1つの理論の特殊ケースです。個別の手法の寄せ集めに見えていたものが「分布とリンク関数の選択」という2つの部品の組み合わせに整理される——この見通しの良さが、GLM が現代の統計モデリングの共通言語になっている理由です。

なぜ生まれたか

1970年頃まで、正規分布に従わないデータの回帰分析は、手法ごとにバラバラの理論と計算法で扱われていました。二値データにはプロビット分析、カウントデータには対数変換してから回帰、比率にはアークサイン変換——「データを無理やり変換して正規分布の世界に持ち込む」場当たり的な対処が主流で、それぞれの手法の間に理論的なつながりは見えていませんでした。変換にはゼロの扱いに困る、変換後の平均が元の尺度の平均に戻らない、といった歪みもつきまといます。

1972年、ネルダーとウェダーバーンは、これらの手法がすべて「指数型分布族に属す分布 + リンク関数 + 線形予測子」という共通構造を持つことを見抜き、一般化線形モデルとして統一しました。決定的だったのは、この構造なら最尤推定が「反復重み付き最小二乗法」という単一のアルゴリズムで実行でき、どの分布・どのリンクの組み合わせでも同じ計算機プログラムで推定できると示したことです。理論の統一と計算の統一が同時に達成され、統計ソフトの glm 関数として世界中に普及しました。

詳細

3つの部品 — 線形予測子・リンク関数・分布族

GLM は3つの部品でできています。第一に線形予測子。説明変数の重み付き和 η = b0 + b1x1 + b2x2 + … で、線形回帰から受け継いだ骨格です。第二にリンク関数。応答の平均 μ と線形予測子を g(μ) = η という関係でつなぐ変換です。線形予測子は実数全体を自由に動くのに対し、μ には「0から1の間」「正の値」といった制約があるため、μ の側を g で実数全体に引き伸ばしてから線形予測子と等しいと置きます。予測するときは逆向きに、η を逆関数 g⁻¹ で μ に戻します。第三に分布族。観測値 y が平均 μ のまわりにどうばらつくかを表す確率分布で、正規分布・二項・ポアソン・ガンマなど指数型分布族から選びます。つまり GLM は「x から η、η から μ、μ から y」という生成の流れを、3つの部品で組み立てたものです。

説明変数x1, x2, …実数全体を自由に動く線形予測子 ηη = b0 + b1x1 + b2x2 + …μ = g⁻¹(η)リンク関数 g(μ) = η0〜1 や正の値など制約つき応答の平均 μ確率・件数・金額など分布族μ のまわりのばらつき方を決める観測値 yy は平均 μ の分布から出る例: 二項・ポアソン・ガンマ最尤推定で係数 b を決める
一般化線形モデルの構造 — 線形予測子 η をリンク関数の逆変換で平均 μ に写し、分布族が μ のまわりの観測値 y のばらつき方を決める

線形回帰はこの枠組みで「正規分布 + 恒等リンク(変換なし)」という一番シンプルな組み合わせに位置づけられます。つまり GLM は線形回帰を壊したのではなく、線形回帰を特殊ケースとして含む上位の枠組みです。

代表的な組み合わせ

実務で頻出する組み合わせは3つです。二値の応答には「二項分布 + ロジットリンク」、すなわちロジスティック回帰。確率 p をオッズの対数 log(p/(1−p)) に変換することで、0〜1 に閉じ込められた確率を実数全体に広げます。カウントの応答には「ポアソン分布 + 対数リンク」、すなわちポアソン回帰。平均件数の対数を線形予測子で表すため、係数は「その変数が1増えると件数が何倍になるか」という乗法的な効果として読めます。正の連続量(保険金額、入院日数など)には「ガンマ分布 + 対数リンク」がよく使われます。ガンマ分布では分散が平均の2乗に比例する、つまり標準偏差が平均に比例して大きくなる(変動係数が一定)ため、「平均が2倍の群はばらつきの幅も2倍」という右に裾を引くデータに適した選択です。

分布の選択は、平均とばらつきの関係の選択でもあります。分散を平均 μ の関数(分散関数)で書くと、正規分布は一定、ポアソン分布は μ(分散が平均に等しい)、二項分布は μ(1−μ)、ガンマ分布は μ² に比例します——GLM では「μ が動くとばらつきがどう動くか」が分布族に織り込まれているため、線形回帰でしばしば問題になる不等分散が、適切な分布選択によって最初から仕組みとして扱われます。

推定と評価

GLM の係数は最小二乗法ではなく最尤推定で求めます。閉じた解はありませんが、反復重み付き最小二乗法により「重み付きの回帰を繰り返し解く」形で効率よく収束します。当てはまりの評価には、残差平方和を一般化した「逸脱度(デビアンス)」を使い、モデル同士の比較には尤度比検定や AIC(当てはまりとモデルの複雑さを天秤にかける情報量規準)を用います。残差についても、残差分析の考え方はそのまま生きており、GLM 向けに調整されたデビアンス残差などで診断します。

落とし穴 — 過分散・オフセット・係数の解釈

ポアソン回帰の実務で最も頻繁に踏む落とし穴は「過分散」です。ポアソン分布は分散=平均を仮定しますが、現実のカウントデータは個体差や集積効果でそれよりばらつくことが多く、その場合、係数の標準誤差が過小評価されて「何でも有意」に見えてしまいます。対処は、分散を平均の定数倍として補正する準ポアソンモデルや、ばらつきのパラメータを持つ負の二項回帰への切り替えが定番です。また係数の解釈にも注意が必要です。リンク関数を挟むため、係数は応答そのものへの効果ではなく「変換後の尺度での効果」であり、対数リンクなら指数を取って倍率として、ロジットリンクならオッズ比として読み直す一手間を忘れると誤読します。

ポアソン回帰でもう1つ見落とされやすいのが、観測の「量」の違いです。店舗ごとの来店客数を比べるとき、営業時間が長い店・観測日数が多い店ほど件数が多いのは当然で、そのまま回帰すると、係数は「来店の起こりやすさ」ではなく「観測の長さ」の違いを拾ってしまいます。そこで件数の平均を「率 × 観測量」と考え、対数リンクのもとで log(観測量) を係数を 1 に固定した項(オフセット)として線形予測子に加えます。こうすると係数は単位時間あたり・1人あたりの率に対する効果として読めます。件数をあらかじめ観測量で割った「率」を応答にして正規分布の回帰をする、という代用は、ゼロの多いデータや観測量の小さいデータで分散の扱いが崩れるので、オフセット付きのポアソン回帰(あるいは負の二項回帰)を使うのが定石です。

係数がリンク関数の尺度で定義されることは、変数どうしの組み合わせ効果にも影響します。対数リンクやロジットリンクのモデルで交互作用項が 0 でも、元の尺度(件数や確率の差)で見ると効果は層によって違う、ということが普通に起きます。「どの尺度で見た効果か」を常に明示することが、GLM の結果を正しく伝えるコツです。

GLM から先へ

GLM の枠組みはその後さらに拡張されています。個体差や群構造をランダム効果として取り込んだ一般化線形混合モデル(GLMM)は階層モデルの考え方との合流点であり、リンク後の関係を滑らかな曲線にした一般化加法モデル(GAM)、ベイズ推定による GLM など、現代の統計モデリングの多くが GLM を出発点に組み立てられています。「分布とリンクを選ぶ」という GLM の設計思想を押さえておくと、これらの発展形も同じ地図の上で理解できます。

試問

一般化線形モデル(GLM)は、予測したい応答の種類に合わせて、ばらつき方の型(分布族)と、予測値を応答がとりうる範囲に収める変換(リンク関数)を組にして選ぶ回帰の枠組みです。「はい/いいえ」や件数に普通の直線を当てると、確率が 1 を超えたり件数がマイナスになったりするのを防ぎます。

✦ 命題挑戦中

8つの応答データを、ふさわしい「分布族 + リンク関数」の組に仕分けよ

正規分布 + 恒等リンク普通の線形回帰
二項分布 + ロジットリンクロジスティック回帰
ポアソン分布 + 対数リンクポアソン回帰
ガンマ分布 + 対数リンク分散が平均の2乗に比例

項目を選んでから、入れる箱を選びます