潜在クラス分析
(Latent Class Analysis; LCA)
解説
潜在クラス分析とは
潜在クラス分析 (Latent Class Analysis; LCA) は、複数のカテゴリ変数や二値変数の回答パターンに基づき、観察されない(潜在的な)グループ(クラス)を統計的に推定する手法です。
通常のクラスタ分析が連続変数を対象とするのに対し、LCA はカテゴリ変数に特化しており、各クラスは「条件付き確率のプロファイル」として表現されます。
適用例
- 複数の症状の有無から患者サブタイプを同定する
- 態度・意見調査の回答パターンから回答者グループを分類する
- 複数の診断基準への該当パターンから疾患の潜在的サブグループを推定する
- 複数の病理医による評価の一致パターンから評価者タイプを同定する
本アプリでサポートする機能
クラス数の探索 (BIC比較)
- 指定した範囲(最小〜最大)のクラス数を総当たりで推定
- 各クラス数の BIC・AIC・対数尤度を一覧表示
- BIC が最小となる推奨クラス数を自動表示
- BIC 推移のグラフ(最小クラス数を赤破線でマーク)
詳細分析(最適クラス数)
- クラス数は BIC 最小を自動使用(チェックボックスで手動指定も可)
- 収束診断(反復回数・収束/未収束の判定)
- 各クラスの事前確率(Prior probabilities)
- 各変数・各クラスの条件付き確率(Conditional item-response probabilities)
- 条件付き確率のプロファイルプロット(クラス別バープロット)
モデル精度指標
- エントロピー(クラス分類の明確さ、0〜1)
- 平均最大事後確率(クラス帰属の確実性、0〜1)
クラス割り当て
- 最大事後確率によるクラス決定
- クラス別サンプル数の集計
- クラス番号は事前確率の昇順で固定(クラス1=最小群、最終クラス=最大群)
データの準備
- 分析対象変数: カテゴリ変数または二値変数(例: 有/無、1/2/3 の評定)
- 最低 2 変数以上が必要
- 最低 20 行以上のデータが必要(安定した推定には 100 行以上を推奨)
- 連続変数は事前にカテゴリ化してください(LCA は連続変数を直接扱えません)
- 欠損値のある行は分析から自動除外されます
結果の解釈
クラス数の選択 (BIC)
- BIC(ベイズ情報量規準)が最小となるクラス数が統計的に最も支持されるモデルです
- ただし、クラスの解釈可能性・臨床的意味も考慮してクラス数を決定することが重要です
- BIC グラフで「肘」が見られる場合、そのクラス数が妥当な候補です
収束診断
- 反復回数が上限(1000)に達した場合は未収束の可能性があります
- 未収束時は nrep を増やして再実行してください(nrep=10〜20 を推奨)
事前確率 (Prior probabilities)
- 各クラスに属する観測値の推定割合(全体でのクラス比率)
- クラスは事前確率の昇順で番号が付けられます(クラス1が最小群)
条件付き確率とプロファイルプロット
- 各クラスに属する場合に、各カテゴリに回答する確率
- プロファイルプロットでクラス間の差異を視覚的に確認できます
- クラス間でパターンが大きく異なる変数ほど、クラスの特徴を規定しています
モデル精度指標
- エントロピー: 0〜1。1 に近いほどクラス境界が明確(目安: > 0.8 が良好)
- 平均最大事後確率: 0〜1。1 に近いほど各観測値のクラス帰属が確実(目安: > 0.9 が良好)
クラス割り当て
- 各観測値を最も事後確率が高いクラスに割り当てます
- 事後確率が均等な観測値は「境界例」であり、特定のクラスへの帰属が不確かです
注意事項
- LCA は探索的手法です。得られたクラスの解釈は理論的・臨床的妥当性の検討が必要です
- サンプルサイズが小さいと推定が不安定になります(収束しない・局所最適解に陥るリスク)
- nrep を増やすと安定性が向上しますが計算時間も増加します(目安: nrep=5〜10)
- 変数数やクラス数が多すぎると自由度がマイナスになります(モデルの過剰適合の兆候)
- Label switching: 実行のたびにクラスの番号が入れ替わる場合があります。本アプリは事前確率の昇順でクラスを並べ替えることで影響を軽減していますが、完全には防げません。クラスの識別は番号ではなく条件付き確率のパターンで行ってください
アプリ
Reactive stat ロゴ について
ログインしていただければロゴは表示されなくなります
{{title}}
{{title}}
{{ item.full }}
{{title}}
{{group}}
{{title || 'カラム選択'}}
{{title || 'カラム選択'}}
{{ title }} カテゴリー変数を選択してください。複数選択すると組み合わされます
...(選択肢が多すぎます)
それぞれに設定する値を入力してください。異なる分類に同じ値を設定することもできます。順位の数値を入れれば、順序カテゴリカル変数として扱えるようになります。
| 分類内容 | 値 | |
| {{ item.tag }} |
データの取り扱い
- データインポート
- データの読み込みは、ブラウザ内で完結し、外部へのデータ送信は発生しません。
- データ保持
- 読み込んだデータはブラウザ内に保持されます。
- ブラウザのセッションが終了または全てのタブが閉じられると、保持していたデータは自動的に破棄されます。
- データの安全性
- ブラウザがクラッシュした場合でも、10分経過すれば次回の起動時にデータは安全に消去されます。
- 共用のPCでの使用も考慮し、データの外部漏洩のリスクを最小化しています。
クラウド R を利用する時のデータ送信
- 最小限のデータ送信
- 外部のRサーバーへ送信されるデータは、数値計算に必要な最小限のセットに制限されています。
- 送信データは解析に必要なサブセットのみに限られます。
- ユーザーコントロール下のデータ送信
- 送信前に、どのデータが外部サーバーへ送信されるのか内容を確認することが可能です。
- データの送信はユーザーの操作により行われ、自動的な送信は行いません。
- クラウド R 出力結果の保持
- クラウド R からの出力結果は、将来の自動翻訳や自動解説の機能実現のため、サーバーがデータベースに保持します。
- その際に、送信者の情報や、計算元となるデータなど、プライバシーに関わる情報は保持しません。
- 通信経路も全て暗号化していますので、たとえプライバシーに関わる情報が含まれていたとしても、通常は漏洩する恐れはありません。
AI による解説を利用する時のデータ送信
- 最小限のデータ送信
- 外部のAIサーバーへ送信されるデータは、クラウド R の出力結果と、用いた統計手法の徐放です。
- ただし、クラウド R の出力結果に連続した数値データが含まれる場合は、AI にデータ形式を認識させる目的で、連続データの最初の行のみを送信します。
- クラウド R 出力結果の保持
- AI による解説内容は、将来の品質向上などのため、サーバーがデータベースに保持します。
- その際に、送信者の情報や、計算元となるデータなど、プライバシーに関わる情報は保持しません。
新しい列 (カラム) 名:
ここで設定した値に完全一致するデータを欠損値として扱います。
新しい列 (カラム) 名:
Reactive stat において、統計データの変数は、通常の数値や文字列として扱われます。 したがって、日付や時間の概念は直接的にはサポートされていません。
統計計算を行う際には、日付や時間の差分を数値として事前に用意しておく必要があります。
計算結果プレビュー:
新しい列 (カラム) 名:
チェックされた行が削除対象となります
削除対象の行
データ入力
{{ errorMessage || dataStatus + 'です'}}
設定とオプション
AI による R コードの解説
R の出力結果
R出力図形
AI による R 出力結果の解説
変換設定:
(
変換元の単位:
変換先の単位:
)
変換結果プレビュー:
新しい列 (カラム) 名:
計算式の入力:
数式:
- データ: カラム名 (列名) をそのまま記述するか、"列名" のようにダブルクォートで挟んで指定
- 算術演算子: +, -, *, /, ()
- 基本関数: abs(), sqrt(), pow(), exp(), log(), log10()
- 三角関数: sin(), cos(), tan(), asin(), acos(), atan()
- 丸め関数: round(), floor(), ceil()
体重 / pow(身長, 2), "体重" / ("身長" * "身長")
利用可能なカラム:
{{ column }}
変換結果プレビュー:
{{ errorMessage }}
新しい列 (カラム) 名:
区切り文字の選択:
欠損値の処理:
プレビュー:
{{ preview }}
新しい列 (カラム) 名:
確認
変換結果プレビュー:
新しい列 (カラム) 名:
{{title}}
データがありません
{{title}}
...(選択肢が多すぎます)
{{filteringText}}
{{ title || '対象データ' }}
({{ matchedRowCount }}件 / 元データ{{ originalRowCount }}件)
除外レコードあり
ダウンロード(CSV)
{{group}}
データ
設定
モデル設定
クラス数の探索範囲
詳細分析クラス数
反復回数 (nrep)