連続変数の無向グラフィカルモデルとグラフィカルLasso
100個の変数が互いに相関している。でも「本当に直接つながっているペア」はどれ? A と C が似た動きをするのは、B という共通の原因があるせいかもしれない。 この「偽の相関」を排除し、本当の直接関係だけを地図として描く——それがガウシアングラフィカルモデルです。 精度行列のゼロパターンがグラフの構造を決め、Lassoがその推定を可能にします。
グラフが語る「直接の依存関係」
100個の経済指標があります。それぞれが他の指標と相関しているのは当然です。でも問題があります。A と C が相関しているのは、B という A と C の両方に影響する変数のせいかもしれない。A と C に「本当の」直接のつながりがなくても、B を介して見かけ上の相関が生まれます。

これは「偽の相関」と呼ばれる問題です。A と C が似た動きをするのは、B という共通の原因があるためで、 A が C に直接影響しているわけではありません。
「直接の関係」だけを見るにはどうすればいいでしょう?鍵は条件付き独立性です。「他のすべての変数を知った上で、A と C はまだ関係しているか?」という問いに対する答えが「No」なら、 A と C は条件付き独立です。
無向グラフィカルモデルは、この条件付き独立性をグラフで表現します:
- エッジあり — 他の変数を全部知っても、まだ直接の関係がある
- エッジなし — 他の変数を知れば、この2変数は独立になる
ここでガウス分布が登場します。 連続変数のグラフィカルモデルでは、ほぼ常に多変量正規分布が使われます。 なぜかというと、ガウス分布には「条件付き分布も正規分布」という便利な性質があるからです。
次のセクションでは、この「直接の関係」を数学的にどう定義するかを見ていきます。 鍵は「精度行列」と呼ばれる行列です。
精度行列 Θ が条件付き独立性を直接コードする
観測データが多変量正規分布 N(μ, Σ) に従うとします。ここで μ は各変数の平均を並べたベクトル、 Σ は共分散行列(どの変数がどの変数と一緒に大きくなるかを表す行列)です。
この共分散行列 Σ と精度行列(逆共分散行列) Θ = Σ⁻¹ の違いを理解することが核心です。
- 共分散行列 Σ の (i,j) 成分:変数 i と j の共分散。他の変数の影響がすべて混ざり込んでいる
- 精度行列 Θ = Σ⁻¹ の (i,j) 成分:他の変数の影響をすべて取り除いたあとに残る、 変数 i と j の純粋な直接関係の強さ

驚くべきことに、精度行列の非ゼロパターンがグラフのエッジ構造と完全に一致します:
精度行列の (i,j) 成分がゼロであることと、他の全変数を条件付けたときの変数 i, j の条件付き独立性は同値です。つまり:
- ゼロ成分の場所 = エッジなし(条件付き独立)
- 非ゼロ成分の場所 = エッジあり(直接の依存関係)
この美しい性質を使えば、「グラフのエッジを推定する」問題が「精度行列のゼロパターンを推定する」 問題に変換できます。では、その精度行列とデータの具体的な関係を次のセクションで見ていきましょう。
条件付き分布は「回帰」そのもの
ガウシアングラフィカルモデルの美しい性質の一つは、変数の条件付き分布が線形回帰と完全に同じ形をしているということです。
Y = X_p(最後の変数)として、Z = (X_1, ..., X_{p-1})(残りの変数)への条件付き分布は:
ここで Σ_{ZZ} は「Z の変数だけの共分散行列」、σ_{ZY} は「Z と Y の間の共分散ベクトル」、 σ_{YY} は Y 自身の分散です。注目すべきは条件付き平均の部分:z の線形関数になっています。 これはまさに多重線形回帰と同じ形です!

さらに精度行列 Θ を同じように分割すると、回帰係数 β は次のように書けます:
ここで θ_{ZY} は精度行列における「Y と Z の対応する成分」、θ_{YY} は精度行列における 「Y の対角成分(Y 自身に対応する部分)」です。
この式が示す驚くべきこと:回帰係数 β の j 番目の成分がゼロ ⟺ 精度行列の対応する成分 θ_{ZY,j} がゼロ ⟺ Y と変数 Z_j が条件付き独立(直接の関係がない)。
グラフ構造を知ることは、どの回帰係数がゼロかを知ることと同じです。 これがアルゴリズム17.1の核心的なアイデアです。グラフ推定 = スパース回帰問題、 という変換が可能になります。
グラフ構造が既知の場合のパラメータ推定
グラフ構造(どの変数が繋がっているか)が既知の場合、Θ(精度行列)を最尤推定するには どうすればいいでしょうか?
N 個の観測データから経験的共分散行列 S を計算します:
グラフが完全(全変数が繋がっている)場合、最尤推定量は単に
問題はエッジが欠けている(つまり一部の θ_{ij} がゼロに拘束される)場合です。 これは等式制約付きの凸最適化問題です。
アルゴリズム 17.1(修正回帰アルゴリズム)がエレガントな解を提供します。

直感:「ある変数 Y を他の全変数に回帰する」を、グラフ構造で許可されているエッジ(変数)だけを 使って繰り返す。これをすべての変数について交互に繰り返すことで、制約付き最尤解に収束します。
具体的な手順:
- 初期化:W = S(経験的共分散行列で始める)
- 各列 j について繰り返す:
- 現在の共分散行列推定値 W を「j 列以外の部分(W₁₁)」と「j 列(w₁₂)」に分割
- グラフのエッジ構造に対応する変数だけを使って縮小した回帰問題を解き、係数 β̂ を求める
- 回帰結果で w₁₂ = W₁₁β̂ を更新
- 収束するまで繰り返す
この手続きは、グラフ構造に合わせた「部分的な線形回帰」を繰り返すことで、 複雑な制約付き最適化問題を簡単な回帰の反復に分解しています。
グラフ構造の推定 — グラフィカル Lasso
実際の問題では、グラフ構造(どの変数が繋がっているか)は事前に分からないことがほとんどです。タンパク質相互作用ネットワークを調べたいなら、 どのタンパク質間にエッジがあるかをデータから発見しなければなりません。
グラフィカル Lassoはこの問題に L1 正則化で立ち向かいます。アイデアは単純です。精度行列 Θ のスパース性(ゼロ要素の多さ)を促進するペナルティを加えることです。
最大化するペナルティ付き対数尤度:
ここで trace(SΘ) は「行列 SΘ の対角成分を全部足した値」(行列のトレース)、 ||Θ||₁ は Θ の全要素の絶対値の和(L1ノルム)です。 λ が大きいほどスパースな精度行列(=少ないエッジのグラフ)が得られます。

グラフィカル Lasso(アルゴリズム 17.2)は Algorithm 17.1 の各ステップの 「回帰」部分を「Lasso 回帰」に置き換えただけです。 Lasso は係数を自動的にゼロに縮小する力を持っています。
- 各列 j の更新で、W₁₁β - s₁₂ + λ · Sign(β) = 0 を解く (Sign(β) は β の符号を返す関数)
- 座標降下法で効率的に解ける(一変数ずつ順番に最適化する方法)
- 1000変数のスパース問題でも1分以内で収束する超高速アルゴリズム
λ を変化させると、グラフ構造がどう変わるかの「パス」が得られます。 λ = ∞ ではノードが全部孤立し、λ = 0 では完全グラフになります。 この性質により、クロスバリデーションで最適な λ を選べます。
まとめ — なぜガウシアングラフィカルモデルが強力か
この章で学んだことを振り返りましょう。精度行列 Θ = Σ⁻¹ の非ゼロパターン = グラフのエッジ構造。 これが核心です。

3つの美しい発見がありました:
- 直感的な解釈:共分散(周辺的な関係)ではなく精度行列(条件付きの関係)を見ることで、 「本当の直接の依存関係」だけが見える。偽の相関に惑わされない。
- 回帰との接続:精度行列の各列は、その変数を他の変数に回帰したときの係数と一対一で対応する。グラフ推定 = スパース回帰問題の集まり。
- スケーラビリティ:グラフィカル Lassoはこの接続を使って、超高速(1000変数でも数秒)でスパースな精度行列を推定できる。
これであなたは、データさえあれば変数間の「本当の直接関係のネットワーク」をゼロから発見できます。 タンパク質の相互作用でも、株価の依存関係でも。
次章(17.4節)では、連続変数ではなく離散変数(0か1の二値変数)の グラフィカルモデル、特に Ising モデルと Boltzmann マシンを扱います。 ここで学んだ「条件付き独立 ↔ パラメータのゼロ」という対応が、そちらでも同じように機能します。