📊 対象級:1級 | 重要度:B(標準)
要点(BLUF)
潜在クラス分析(LCA: Latent Class Analysis)は、複数のカテゴリカルな観測変数の背後に、観測されない**離散的な潜在変数(潜在クラス)**を仮定し、各個体を確率的にいずれかのクラスへ分類する手法です。アンケートの回答パターンから「隠れた回答者タイプ」を見つける、といった人文・社会調査で使われます。
- モデルの心臓部は「局所独立」:潜在クラスを与えれば観測変数は互いに独立。観測変数間に見える相関は、すべて「クラスの違い」が生み出している、と考える。つまりクラスが相関の源です。
- 混合モデルとして定式化:反応パターンの確率は、クラスごとの確率を混合比で重みづけた和 。パラメータは混合比(クラス所属確率) とクラス内反応確率 の2種類だけ。
- EMアルゴリズムで推定:「各個体がどのクラスか」を欠測とみなす。Eステップで事後所属確率(負担率)を計算し、Mステップで を更新する。これは欠測データのEM(欠測データ・EMアルゴリズム)とまったく同じ構造です。
1級(統計応用・人文科学)では、局所独立の意味・EMとの関係・因子分析やIRTとの違いが問われます(範囲・配点は改訂されうるため要最新確認)。
graph TD ROOT["潜在変数モデル<br/>観測の背後に見えない変数を置く"] --> DISC["潜在変数が離散<br/>=個体をクラスに分類"] ROOT --> CONT["潜在変数が連続<br/>=個体に連続スコアを付与"] DISC --> LCA["潜在クラス分析<br/>観測:カテゴリ"] DISC --> LPA["潜在プロファイル分析<br/>観測:連続"] CONT --> FA["因子分析<br/>観測:連続"] CONT --> IRT["項目反応理論 IRT<br/>観測:カテゴリ"] LCA -.->|観測が連続なら| LPA LCA -.->|潜在が連続なら| IRT
1. 何をする手法か — 直観
アンケートで「Q1: 環境に配慮した商品を選ぶ(はい/いいえ)」「Q2: 価格より品質を重視する(はい/いいえ)」「Q3: 広告を信用する(はい/いいえ)」のようなカテゴリカルな質問に多数の回答者が答えたとします。回答パターンを眺めると、なんとなく「意識高い層」「価格重視層」「無関心層」のようなタイプが混ざっていそうです。
LCAは、この「目には見えないタイプ(潜在クラス)」がいくつあって、各回答者がどのタイプにどのくらいの確率で属するかを、データから推定します。
LCAの世界観:回答者の集団は、いくつかの見えないクラスの混ぜ物(混合)である。各クラスは「各質問にどう答えやすいか」という固有の反応確率を持つ。観測されるのは回答パターンだけで、誰がどのクラスかは隠れている。
ここでLCAは2つの顔を持ちます。「観測変数の相関を、背後の共通要因で説明する」という因子分析的な顔と、「個体をいくつかのタイプに分類する」というクラスター分析的な顔です。違いは、因子分析が連続的な共通因子を置くのに対し、LCAは離散的なクラスを置く点です。
2. 潜在変数モデルの4象限(最重要の位置づけ)
LCAを正しく理解する鍵は、「潜在変数が連続か離散か」「観測変数が連続かカテゴリか」という2軸で、近縁の手法と並べて位置づけることです。この4象限は1級で頻出の整理です。
| 観測変数:連続 | 観測変数:カテゴリカル | |
|---|---|---|
| 潜在変数:連続 | 因子分析(因子分析) 連続スコア(因子得点)を付与 | 項目反応理論 IRT(項目反応理論とテスト理論) 連続な能力 を推定 |
| 潜在変数:離散 | 潜在プロファイル分析(LPA) 連続観測でクラスに分類 | 潜在クラス分析(LCA) カテゴリ観測でクラスに分類 |
読み方を1象限ずつ:
- 因子分析(連続×連続):身長・体重・各教科の点数のような連続観測の背後に、「体格」「学力」といった連続的な潜在因子を置く。個体には連続的な因子得点が付く(因子分析)。
- IRT(連続×カテゴリ):テストの正答/誤答というカテゴリ観測の背後に、「学力 」という連続的な潜在特性を置く。個体には連続スコア が付く(項目反応理論とテスト理論)。
- 潜在プロファイル分析(離散×連続):連続観測の背後に離散クラスを置く。LCAの観測変数を連続にしたもので、各クラスは平均ベクトルを持つ正規分布になる(実質ガウス混合分布のクラスタリング)。
- 潜在クラス分析(離散×カテゴリ):カテゴリ観測の背後に離散クラスを置く ← 本ノートの主役。
覚え方:潜在変数の連続/離散が「スコアを付ける(因子分析・IRT)」か「グループに分ける(LPA・LCA)」かを決め、観測変数の連続/カテゴリが「どんなデータに使えるか」を決める。LCAは「離散の潜在 × カテゴリの観測」の象限。
graph LR Q["潜在変数は<br/>連続? 離散?"] -->|連続:スコア付与| S["観測は連続? カテゴリ?"] Q -->|離散:グループ分け| G["観測は連続? カテゴリ?"] S -->|連続| FA2["因子分析"] S -->|カテゴリ| IRT2["IRT"] G -->|連続| LPA2["潜在プロファイル分析"] G -->|カテゴリ| LCA2["潜在クラス分析(LCA)"]
3. モデルの定式化
3.1 記号と設定
- 個体(回答者)を 、観測変数(項目)を とする。
- 各項目 はカテゴリカル。簡単のためまず2値(0/1、例:いいえ/はい)で説明する(多値カテゴリへの拡張は後述)。
- 1人の回答パターンを と書く。
- 潜在クラスを ( はクラス数。これ自体も後で決める)。各個体はただ1つのクラスに属するが、どれかは観測されない。
パラメータは次の2種類だけです:
- 混合比(クラス所属確率/クラスの大きさ) 。各クラスが母集団に占める割合。。
- クラス内反応確率 。「クラス の人が項目 に『はい(=1)』と答える確率」。
要するに「クラスの大きさ と、各クラスが各質問にどう答えやすいか 」の2つを、データから推定するのがLCAです。
3.2 局所独立の仮定(モデルの心臓部)
LCAの核心は**局所独立(local independence)**の仮定です。
局所独立:潜在クラスを与えれば(条件づければ)、観測変数は互いに独立になる。
これは「観測変数間に見える相関は、すべてクラスの違いが生み出している」という主張です。クラスという共通の源で条件づけてしまえば、項目間に残る関連はもうない、と仮定します。
要するに「相関の源はクラスだけ。クラスを固定すれば各質問の答えはバラバラ(独立)になる」。これがLCAの世界観そのもので、後で出てくる積 の根拠になります。
このクラス に属する人の、回答パターン の確率は、局所独立により各項目の確率の積で書けます。2値なら各項目はベルヌーイなので:
要するに「クラス の人がこの回答パターンを出す確率は、各質問の『はい確率 /いいえ確率 』を、実際の回答に合わせて全部掛けたもの」。
3.3 混合モデルとしての反応パターン確率
実際に観測されるのは「クラスの分からない回答パターン」です。そこで、どのクラスかについて**周辺化(足し上げ)**します。クラス である確率 で重みづけて全クラスを足すと:
要するに「観測される回答パターンの確率は、各クラスの確率を『そのクラスの大きさ 』で重みづけて混ぜ合わせたもの」。これは有限混合モデル(複数の分布を混合比で混ぜたモデル)の一種で、混合分布の各成分がカテゴリ分布(ベルヌーイの積)になっているもの、と見られます。ガウス混合分布の成分を正規分布からカテゴリ分布に置き換えたのがLCA、と捉えると見通しが良いです。
多値カテゴリへの拡張。 項目 が 個のカテゴリを取る場合、反応確率を (各クラス・各項目で )とし、各項目の寄与を該当カテゴリの確率に置き換えるだけです。形は変わりません:
ここで は「項目 の回答がカテゴリ なら1、そうでなければ0」を表す指示関数です。
3.4 具体例(数値で1パターン)
クラス2つ、項目3つ、すべて2値とします。混合比 。クラス1(意識高い層)とクラス2(無関心層)の「はい確率」を次のように仮定します。
| 反応確率 | Q1 | Q2 | Q3 |
|---|---|---|---|
| クラス1(割合 0.6) | 0.9 | 0.8 | 0.7 |
| クラス2(割合 0.4) | 0.2 | 0.3 | 0.1 |
回答パターン (Q1はい・Q2はい・Q3いいえ)が観測される確率は、各クラスでの確率を局所独立の積で出し、混合比で重みづけます:
- クラス1:
- クラス2:
要するに「各クラスでこのパターンが出る確率を、クラスの大きさで重みづけて足すだけ」。次の節で、この個体がどちらのクラスらしいか(事後確率)を計算します。
4. EMアルゴリズムによる推定(導出)
4.1 なぜEMか — 「クラス所属を欠測とみなす」
推定したいのは と です。素直には対数尤度
を最大化したい。しかし** の中に がある**(混合の和が対数の内側に入る)ため、微分して0と置いても閉形式で解けません。これは混合モデル一般の困りどころです。
そこで発想を変えます。「もし各個体がどのクラスかが分かっていれば」推定は簡単です。クラスごとにデータを仕分けて、クラスの人数比から を、クラス内の『はい』の割合から を数えるだけだからです。だが実際にはクラス所属は観測されない=欠測。
EMの考え方:観測されない「個体のクラス所属」を欠測データとみなす。欠測の事後分布(各個体が各クラスである確率)で期待を取りながら、 を反復更新する。
これは欠測データのEM(欠測データ・EMアルゴリズム)の枠組みそのものです。LCAは「クラス所属ラベルが全員分欠測している」特殊な欠測問題として解けます。
4.2 完全データ尤度を準備する
クラス所属を表す潜在的な指示変数 を導入します。「個体 がクラス なら 、そうでなければ 」。各個体は1クラスだけなので 。
もし が観測できたら、データ の完全データ尤度は次のように書けます:
要するに「個体 が属するクラス( のところ)の項だけが生き残り、(局所独立の積)になる」。指数 は「属するクラスの項だけ1乗で残し、他はゼロ乗で消す」スイッチの役割です。全個体の完全データ対数尤度は:
ここがポイントで、 の中の が消えました( のおかげで対数が和の外に出た)。これなら最大化が簡単です。ただし は未知なので、その期待値で置き換えます。これがEステップです。
4.3 Eステップ — 事後所属確率(負担率)の計算
は0/1の確率変数なので、その期待値は「個体 がクラス である確率」そのものです。現在のパラメータ のもとで、観測 を見たうえでの事後所属確率をベイズの定理で計算します:
要するに「『クラスの大きさ × そのクラスでこの回答が出る確率』を、全クラス分で割って正規化したもの」。分子は「クラス かつこの回答パターン」の同時確率、分母は「この回答パターン」の周辺確率(3.3の混合の式)です。ベイズの定理 をそのまま当てはめた形です。
この を**負担率(responsibility)**と呼びます。「個体 をクラス がどれだけ『担当』しているか」を表す重みで、(各個体の負担率は全クラスで足すと1)。
4.1の具体例で計算してみる。 個体の回答が のとき、4.1の数値で:
- クラス1の分子:
- クラス2の分子:
- 分母(周辺確率):
要するに「この回答パターンの人は、約86%の確からしさでクラス1(意識高い層)」。LCAが各個体を確率的に(白黒でなく)分類するとはこのことです。最終的にどのクラスへ割り当てるかは、最大の事後確率を取るクラス(MAP割り当て)にするのが普通です。
4.4 Mステップ — パラメータ の更新
Eステップで を に置き換えた期待完全データ対数尤度
を、 について最大化します。 の中の和が消えているので、今度は閉形式で解けます。
混合比 の更新。 制約 のもとで を最大化します。ラグランジュ未定乗数法(乗数 )で を解くと、、すなわち 。正規化して:
要するに「新しいクラスの大きさ=そのクラスの負担率を全個体で足して、人数 で割ったもの」。もし所属が確定( が0/1)なら、ただの「クラス の人数 全人数」になります。負担率は「ソフトな人数カウント」です。
反応確率 の更新(2値の場合)。 のうち に関わる項は、ベルヌーイ対数尤度 です。 で微分して0と置くと:
要するに「クラス の項目 の『はい確率』=負担率で重みづけた『はい』の合計 負担率の合計」。これは「クラス の人たち(ソフトに数えて)のうち、項目 に『はい』と答えた割合」にほかなりません。多値カテゴリなら、分子を「カテゴリ に答えた人の負担率合計」に替えるだけです:
4.5 EM全体の流れと収束
flowchart TD
INIT["初期値:γ・π をランダムに設定<br/>(多数のランダム初期値から開始)"] --> ESTEP["Eステップ:負担率 r_ic を計算<br/>事後所属確率=ベイズの定理で正規化"]
ESTEP --> MSTEP["Mステップ:γ・π を更新<br/>γ=負担率の平均/π=負担率で重みづけた はい割合"]
MSTEP --> CHECK{"対数尤度の<br/>増分が小さい?"}
CHECK -->|いいえ| ESTEP
CHECK -->|はい| DONE["収束:推定値 γ・π を確定<br/>各個体を最大事後確率のクラスへ割当(MAP)"]
EステップとMステップを交互に繰り返すと、観測データの対数尤度 は単調に増加し(EMの一般性質。欠測データ・EMアルゴリズム 参照)、停留点に収束します。要するに「負担率を計算 → その重みでパラメータ更新 → また負担率を計算…を、尤度が増えなくなるまで回す」。
ただし対数尤度は多峰になりうるため、初期値次第で局所最適に落ちます。実務では多数のランダム初期値から走らせ、最良の解を採用します(global maximum を取り逃さないため)。これも混合モデルのEMに共通の注意点です。
5. クラス数の決定
LCAではクラス数 が分析者の決めるべき重要な選択です。 は連続パラメータではないので、EMでは推定できません。実務では「 と複数のモデルを当てはめ、基準で比較する」流れを取ります。
主な基準:
- 情報量規準 AIC・BIC:当てはまり(対数尤度)とパラメータ数のバランスで選ぶ。いずれも小さいモデルが良い。
- 、(=パラメータ数、=標本サイズ)。
- 経験的に、AICはクラス数を多めに取りすぎる(リベラル)傾向、BICはクラスがそこそこ分離していれば良好とされます。クラスの分離が弱い場合は標本サイズ調整版BIC(sample-size adjusted BIC)が良いこともあります。
- エントロピー:分類の明確さ(クラスがどれだけくっきり分かれているか)を0〜1で測る指標。1に近いほど分類が明瞭。モデル選択というより「得られた分類の質」の評価に使います。
- 解釈可能性:統計的基準だけでなく、各クラスの反応確率プロファイルが実質的に意味を持つ・命名できるかを重視します。基準が割れたら解釈で決めることも多い。
⚠️ 注意:通常の尤度比検定で「 クラス vs クラス」を直接比較するのは不適切。クラスを1つ減らすことが「混合比 」や「2クラスの反応確率が一致」というパラメータ空間の境界・非識別に当たり、尤度比統計量が 分布に従わないからです(混合モデルの正則条件が崩れる)。この点は1級で問われうる重要論点です。
また**識別可能性(identifiability)**にも制約があります。クラス数 を増やすほどパラメータは増えますが、観測される回答パターンの種類(自由度)には限りがあるため、 が大きすぎるとモデルが識別できなくなります。識別可能なクラス数の範囲で を探す必要があります。
6. 試験での問われ方(1級)
統計応用(人文科学)でLCAが問われるときの典型的な角度です。
- 局所独立の意味を説明させる:「観測変数間の相関は潜在クラスによって説明される」「クラスを条件づければ観測変数は独立」を、式 と結びつけて答えられること。相関の源がクラスだという世界観の言語化が核心です。
- 混合モデルの式を書かせる/読ませる:。(混合比=クラス所属確率)と (クラス内反応確率)がパラメータであること、和が混合・積が局所独立に対応することを区別する。
- EMとの関係:クラス所属を欠測とみなすこと、Eステップが事後所属確率(負担率)の計算=ベイズの定理、Mステップが の更新であること。「Eステップで何を計算するか」「Mステップで何が更新されるか」を取り違えないこと。
- 因子分析・IRTとの違い(4象限):潜在変数が離散(クラス)か連続(因子・能力)か、観測変数がカテゴリか連続か、の2軸で位置づけられること。LCAは「離散×カテゴリ」。因子分析(連続×連続)・IRT(連続×カテゴリ)・LPA(離散×連続)との対比は頻出。
- クラス数決定:AIC/BICで複数モデルを比較すること、尤度比検定が単純には使えない理由(境界・非識別で にならない)。
- 計算問題:与えられた から、ある回答パターンの確率 や、特定個体の事後所属確率 を計算させる(4.3の数値例の形)。ベイズの定理での正規化を正確にできること。
7. 引っかけ・頻出論点
- ⚠️ 「局所独立=観測変数が無相関」ではない:局所独立は「クラスを条件づけた後は独立」という条件付き独立。観測変数は周辺的には(クラスをまたいで見れば)相関します。その相関こそクラスの存在を示すシグナルです。「LCAは観測変数が独立な前提」と単純化すると誤り。
- ⚠️ 混合()と局所独立()を取り違えない: は「どのクラスかの混合(足し上げ)」、 は「クラス内での項目の独立(掛け算)」。和はクラス方向、積は項目方向です。式の二重構造を混同しない。
- ⚠️ Eステップは負担率、Mステップはパラメータ:Eステップで計算するのは事後所属確率 (各個体×各クラス)、Mステップで更新するのは 。「Eステップでパラメータを更新する」は逆。
- ⚠️ LCAは確率的(ソフト)分類:各個体はクラスに確率(事後所属確率)で属し、白黒に割り当てられるのは最後のMAP割り当てだけ。「個体は最初から1クラスに確定」と捉えると、負担率の意味を見失う。
- ⚠️ LCAとIRTの混同:どちらもカテゴリ観測(テスト・アンケート)を扱うが、IRTの潜在変数は連続な能力 (スコアを付ける)、LCAの潜在変数は離散なクラス(グループに分ける)。観測が同じカテゴリでも、潜在側の連続/離散が決定的に違います(項目反応理論とテスト理論)。
- ⚠️ LCAとクラスター分析の違い:k-means等の距離ベースのクラスタリングは確率モデルを持たず白黒で割り当てるのに対し、LCAは確率モデル(混合モデル)に基づき、所属を確率で表し、AIC/BICでクラス数を統計的に選べる。「モデルに基づくクラスタリング」である点が強み。
- ⚠️ 尤度比検定でクラス数を比較しない: vs の比較は、混合比0や反応確率一致というパラメータ空間の境界・非識別に当たり、尤度比統計量が に従いません。AIC/BICやブートストラップ尤度比検定を使う。
- ⚠️ 局所最適に注意:対数尤度は多峰なので、EMの初期値次第で局所解に落ちる。単一の初期値の結果を鵜呑みにせず、多数のランダム初期値から最良解を選ぶ。
よくある疑問(Q&A)
Q1. 「局所独立」は強すぎる仮定では? 現実に観測変数が完全に独立になることなんてあるのですか?
「無条件で独立」ではなく「クラスを与えた後で独立」という条件付き独立なので、見た目ほど強くありません。むしろLCAの主張は「観測変数間の相関は、すべて背後のクラスの違いから生まれている。だからクラスで条件づければ相関は消えるはずだ」というものです。もしクラスで条件づけても項目間に相関が残るなら、それは「クラス数が足りない」か「局所独立が崩れている(項目間に直接の依存がある)」サインで、クラスを増やすか局所独立の緩和(項目間に直接効果を入れる拡張)を検討します。実務では残差相関をチェックして局所独立の妥当性を診断します。
Q2. LCAと因子分析は、結局どう違うのですか? どちらも「背後の見えない変数で相関を説明する」のでは?
その通りで、両者は「観測変数の相関を背後の潜在変数で説明する」という発想を共有します。決定的な違いは潜在変数が連続か離散かです。因子分析は連続的な因子を置き、個体に連続的な因子得点(例:学力スコア)を付けます。LCAは離散的なクラスを置き、個体を「タイプ」に分類します。だから因子分析の出力は「各因子のスコア」、LCAの出力は「各クラスへの所属確率」です。観測変数も、因子分析は連続変数向け、LCAはカテゴリ変数向け、と守備範囲が違います(4象限の表を参照)。
Q3. EMのEステップで計算する「負担率」と、最終的なクラス割り当ては同じものですか?
違います。負担率 は「個体 がクラス である確率(事後所属確率)」で、0〜1の連続値です。例えば のように、1人が複数クラスにまたがる確率を持ちます。これはEMの計算途中で使うソフトな所属です。一方、最終的に「この人はクラス1」と1つに決めるのは、負担率が最大のクラスを選ぶMAP割り当てで、これは最後に行う後処理です。EMの推定中はあくまで確率(負担率)で扱い、白黒を付けるのは最後だけ、と区別してください。
Q4. クラス数はどう決めるのが正解ですか? AICとBICで答えが食い違ったらどうしますか?
唯一の正解はなく、複数の基準を総合して決めます。AICはクラスを多めに取りがち、BICは分離が良ければ妥当、というクセを知った上で、両者が割れたら解釈可能性(各クラスが実質的に意味を持ち命名できるか)とエントロピー(分類の明確さ)も見て判断します。基本姿勢は「BICを主軸にしつつ、解釈で裏を取る」ことが多いです。なお、 vs を通常の尤度比検定で比べるのは(境界・非識別の問題で にならず)不適切なので、その代わりにブートストラップ尤度比検定(BLRT)を使う方法もあります。
Q5. LCAの結果は「各個体がどのクラスか」のラベルですか? それとも何か別の出力ですか?
主な出力は2階層あります。第一にクラスの特徴づけ:混合比 (各クラスの大きさ)と反応確率 (各クラスが各項目にどう答えやすいか)です。これが「意識高い層は20%で、環境配慮に90%はいと答える」といったクラスのプロファイルを与え、分析の主役になります。第二に個体ごとの所属:各個体の事後所属確率 と、そこから決めるMAP割り当てラベルです。マーケティングのセグメンテーションなら前者でセグメントを定義し、後者で各顧客をセグメントに割り振る、という使い分けになります。
まとめ
- 潜在クラス分析(LCA)は、複数のカテゴリカル観測変数の背後に離散的な潜在クラスを仮定し、各個体を確率的にクラスへ分類する手法。4象限では「潜在=離散 × 観測=カテゴリ」の位置(因子分析=連続×連続、IRT=連続×カテゴリ、潜在プロファイル分析=離散×連続)。
- 局所独立:クラスを条件づければ観測変数は独立 。観測変数間の相関の源はクラスだけ、という世界観。
- 混合モデル定式化:。パラメータは混合比 (クラス所属確率)とクラス内反応確率 の2種。和=混合、積=局所独立。
- EMで推定:クラス所属を欠測とみなす。Eステップ=事後所属確率(負担率) をベイズの定理で計算。Mステップ= 、 で更新。対数尤度は単調増加するが多峰なので多数の初期値から。
- クラス数決定:AIC(多めに取りがち)・BIC(分離良なら妥当)・エントロピー・解釈可能性で選ぶ。 vs の尤度比検定は境界・非識別で にならず不適切。
- 引っかけ:局所独立は条件付き独立(無相関ではない)/和は混合・積は局所独立/Eは負担率・Mはパラメータ/LCAはソフト分類/IRT(連続潜在)との混同/尤度比でクラス数比較不可。
関連ノート
- 欠測データ・EMアルゴリズム LCAの推定はこのEMそのもの。クラス所属を欠測とみなし、Eステップ=事後所属確率(負担率)、Mステップ=パラメータ更新という構造が完全に対応する
- 因子分析 潜在変数が連続・観測が連続の象限。LCA(離散×カテゴリ)との4象限対比の基準。どちらも「相関を背後の潜在変数で説明する」発想を共有するが、連続因子 vs 離散クラスで分かれる
- 項目反応理論とテスト理論 観測が同じカテゴリでも潜在変数が連続な能力 (スコア付与)である点がLCA(離散クラス=グループ分け)と決定的に違う。4象限の「連続×カテゴリ」象限
- 人文科学分野ハブ(Phase 9) 人文科学分野の全体地図。LCA・IRTを含む潜在変数モデル群の位置づけ
- 1級「統計応用」(Phase 9 目次) 統計応用ドメインの全体地図