9.1 一般化加法モデル(Generalized Additive Models)

「面積が10平米増えれば、家の価格が必ず100万円上がる」——本当にそうだろうか? 現実のデータは、そんなに単純ではない。

Chapter 9.1では、線形モデルの制約を超えながらも「解釈性」を保つ一般化加法モデル(GAM)を探ります。 各変数の効果を「形を限定しない曲線」として自動的に学ぶこの手法は、 予測精度と解釈性を両立させる強力な武器です。

線形モデルの限界 — なぜ「直線」では足りないのか

あなたが不動産エージェントだとしよう。「この家の価格を予測してほしい」と言われた。 面積・築年数・立地スコアをデータとして持っている。

直線的に考えれば、「面積が10平米増えるごとに、価格が100万円上がる」というモデルが作れる。 でも実際には、小さな家は面積の増加で価格が急激に上がり、大きな家ではそれほど上がらない。 築年数も、新築から10年は価格が急落し、その後は比較的安定する——線形ではなく、曲線的な関係がある。

線形フィット(赤)と非線形フィット(黄)の比較アニメーション
赤い直線は曲線状のデータに追いつけない。黄色い曲線がデータに沿ってフィットする

従来の解決策は、多項式や区分的な曲線(スプライン)で非線形性を表現することだった。 しかし「何次の曲線を使うか?どの変数を非線形にするか?」を事前に人間が決める必要があった。

一般化加法モデル(GAM)は別のアプローチをとる。 各変数への効果を「形を決めずに」、データから自動的に学ぶのだ。

線形モデルと加法モデルの式を並べてみよう:

$$E(Y|X_1,\ldots,X_p) = \alpha + \beta_1 X_1 + \beta_2 X_2 + \cdots + \beta_p X_p$$
$$E(Y|X_1,\ldots,X_p) = \alpha + f_1(X_1) + f_2(X_2) + \cdots + f_p(X_p) \quad (9.1)$$

線形モデルとの違いは一目瞭然だ。$\beta_j X_j$(傾き×変数)の代わりに、$f_j(X_j)$という形を限定しない関数を使う。$f_j$は「なめらかであること」以外の制約がない自由な曲線だ。

加法モデルの美しい構造

加法モデルの「加法」という言葉に注目しよう。

複数の変数が予測に寄与するとき、それぞれの効果が独立して足し合わされると仮定している。$X_1$の効果は$f_1(X_1)$$X_2$の効果は$f_2(X_2)$——それぞれが独立した曲線として推定される。

2つの関数f1とf2が足し合わされて合成予測値を形成するアニメーション
青い曲線(f₁)と緑の曲線(f₂)が、矢印を通じて下部の黄色い合成曲線へと加算される

これが「解釈性」を保つ秘訣だ。線形モデルの係数$\beta_j$と同じように、 各変数の偏効果(他の変数を固定したときの効果)を個別に可視化できる。$\hat{f}_j(x)$のグラフを見るだけで「$X_j$がどう影響するか」が直感的にわかる。

$$\hat{f}_j(x) \quad \text{: 変数 } X_j \text{ が } x \text{ のときの、} Y \text{ への純粋な効果}$$

他の変数をすべて平均で固定したとき、$X_j$の値が変わるにつれて$Y$がどう変化するかを示すグラフが$\hat{f}_j$だ。

交互作用(変数間の組み合わせ効果)は仮定しない——というのが加法性の代償だ。 しかし多くの実際の問題では、この制約は合理的な近似になる。

バックフィッティング — 反復して真実に近づく

では、$f_1, f_2, \ldots, f_p$という複数の非線形関数をどうやって同時に推定するのか?

鍵となるアイデアはシンプルだ:「1つずつ順番に当てはめる」

バックフィッティングアルゴリズム(Algorithm 9.1)の手順:

  1. 初期化$\hat{\alpha} = \bar{y}$(目的変数の平均)、 すべての$\hat{f}_j \equiv 0$
  2. サイクル$j = 1, 2, \ldots, p, 1, 2, \ldots$と順番に繰り返す:
    • $j$番目の変数の「部分残差」を計算:$y_i - \hat{\alpha} - \sum_{k \neq j} \hat{f}_k(x_{ik})$
    • この残差に対して、平滑化スプライン $\mathcal{S}_j$を当てはめて$\hat{f}_j$を更新
    • $\hat{f}_j$を平均ゼロになるよう調整
  3. 収束:すべての$\hat{f}_j$の変化が十分小さくなるまで繰り返す
バックフィッティングアルゴリズムの反復過程:赤い曲線と緑の曲線が交互に更新されて収束する
赤(f̂₁)と緑(f̂₂)が交互に更新される。最終的に収束し、データをうまく説明するペアが見つかる

「部分残差」を具体的に考えてみよう。 3つの変数$X_1, X_2, X_3$があるとして、今$f_2$を推定したいとき:

バックフィッティングの核心:

$$\hat{f}_j \leftarrow \mathcal{S}_j\left[\left\{y_i - \hat{\alpha} - \sum_{k \neq j} \hat{f}_k(x_{ik})\right\}_{1}^{N}\right]$$
$$\hat{f}_j \leftarrow \hat{f}_j - \frac{1}{N}\sum_{i=1}^{N} \hat{f}_j(x_{ij})$$

上の式:スムーザー$\mathcal{S}_j$を「他の変数を除いた残差」に適用して$\hat{f}_j$を更新。 下の式:$\hat{f}_j$が平均ゼロになるよう調整(識別可能性のため)。

この手順を$f_1 \to f_2 \to f_3 \to f_1 \to \cdots$と順番に繰り返すことで、 全ての関数が次第に安定した値に収束していく。

一般化加法モデル — リンク関数で広がる世界

加法モデルをさらに広げると、一般化加法モデル(GAM)になる。

連続値の予測(回帰)だけでなく、0か1かの分類(スパムか否か)、 カウントデータ(事故件数)にも対応できる。 鍵は「リンク関数$g$だ:

$$g[\mu(X)] = \alpha + f_1(X_1) + \cdots + f_p(X_p)$$

$\mu(X) = E(Y|X)$は条件付き平均、$g$はそれを「線形スケール」に変換するリンク関数だ。

3種類のリンク関数の形状:恒等リンク(緑・直線)、ロジットリンク(青・S字)、対数リンク(黄・対数曲線)
左から:恒等リンク(連続応答)、ロジットリンク(2値分類)、対数リンク(カウントデータ)。それぞれ異なる問題設定に対応する

3種類の代表的なリンク関数:

リンク関数形式使いどころ
恒等リンク$g(\mu) = \mu$連続応答変数(Gaussian)
ロジットリンク$g(\mu) = \log\frac{\mu}{1-\mu}$2値分類(0か1か)
対数リンク$g(\mu) = \log(\mu)$カウントデータ(Poisson)

分類問題(加法ロジスティック回帰)の式は次のようになる:

$$\log\frac{\Pr(Y=1|X)}{\Pr(Y=0|X)} = \alpha + f_1(X_1) + \cdots + f_p(X_p) \quad (9.8)$$

$\log\frac{p}{1-p}$はlog-odds(対数オッズ)——「成功確率と失敗確率の比の対数」だ。 これが線形の代わりに加法関数で表されている。

分類問題では、通常のバックフィッティングをそのまま使うことはできない(応答が0か1の離散値だから)。 代わりに「現在の予測確率から仮想的な連続値を作り、その連続値に加法モデルを当てはめる」 というループを繰り返す。

スパムフィルタの実例 — GAMの威力を見る

4601通のメールがある。スパム(迷惑メール)かそうでないかを自動判定したい。

57個の特徴量(「free」「remove」「george」などの単語出現率、大文字の使用率など)を使って、 加法ロジスティック回帰モデルを当てはめた。 (各変数の曲線の複雑さを「4段階の自由度」で制限して、過学習を防いでいる。)

結果は?

非線形な効果を取り込んだことで、大幅に精度が向上した。

スパム判定における偏効果グラフ。変数の値が0近辺で急激に変化し、その後は平坦になる
横軸は変数の頻度、縦軸は対数オッズへの寄与(偏効果)。x=0付近の黄色い点線で示される急変が「ゼロでの不連続性」だ

特に興味深いのは、各変数への偏効果グラフだ。

例えば「george」という単語の頻度と応答の関係:

これは典型的な「ゼロでの不連続性」——単純な線形モデルでは捉えられなかった非線形効果だ。

$$\hat{f}_j(x) \quad \text{v.s.} \quad x \quad \text{のプロット}$$

各変数の効果が「線形かどうか」のテスト(非線形P値)も提供できる:

この「線形コンポーネント」と「非線形コンポーネント」への分解により、 GAMはロジスティック回帰の延長線上にありながら、はるかに豊かな情報を提供する。

まとめ — GAMが生きる場所

一般化加法モデルは、「解釈性」と「柔軟性」のトレードオフを巧みに解決するモデルだ。

GAMの全体構造:3つの偏効果グラフ(青・緑・赤)が矢印を通じて下部の合成予測グラフ(黄)へと加算される
f₁、f₂、f₃という3つの偏効果がそれぞれ独立に推定され、加算されて最終的な予測を形成する

GAMが優れている点:

GAMの限界:

次の章(9.2以降)では、決定木MARS混合専門家モデルなど、 異なる戦略で非線形性と交互作用を扱う手法を探ることになる。 ブースティング(10章)は大規模問題でGAMを超える実用的な代替手段を提供する。

GAMは、「なぜそうなるのか」を知りたい場面——医療、社会科学、リスク管理——で今も広く使われている。 予測精度だけでなく理解が求められるとき、加法モデルは強力な武器になる。