ロジスティック回帰モデル (Logistic Regression Model)
解説
ロジスティック回帰モデルとは
ロジスティック回帰モデル (Logistic Regression Model) は、目的変数がカテゴリカル変数である場合に、複数の説明変数から各カテゴリの発生確率を推定する統計手法です。
本アプリでは、目的変数のカテゴリ数に応じて自動的に手法を切り替えます:
- 2値の場合(はい/いいえ、発症/非発症など): 二項ロジスティック回帰(R の glm, family=“binomial”)
- 3カテゴリ以上の場合: 多項ロジスティック回帰(R の nnet::multinom)
順序のあるカテゴリの場合は、順序ロジスティック回帰 を用います。
主な用途:
- 疾患の発症リスク因子の同定とオッズ比の算出
- 治療効果の評価(二項アウトカム)
- 診断モデルの構築と予測確率の推定
- 臨床予測モデルの開発
- 多群分類問題の解析(多項ロジスティック回帰)
本アプリでサポートする機能
二項ロジスティック回帰(目的変数が2値)
| 機能 | 詳細 | 特徴 |
|---|---|---|
| モデル推定 | glm (family = binomial) | 最尤法による推定 |
| オッズ比 | exp(回帰係数) と95%信頼区間 | リスク因子の定量的評価 |
| ROC曲線 | pROC パッケージによる描画 | モデルの判別能の視覚化 |
| AUC | ROC曲線下面積 | 判別能の定量的指標 |
| 基準値設定 | 目的変数・説明変数の参照カテゴリ選択 | オッズ比の比較対象を制御 |
多項ロジスティック回帰(目的変数が3値以上)
| 機能 | 詳細 | 特徴 |
|---|---|---|
| モデル推定 | nnet::multinom | ニューラルネットワーク基盤の推定 |
| オッズ比 | カテゴリごとのオッズ比と信頼区間 | 基準カテゴリとの比較 |
| 擬似R² | McFadden、Nagelkerke | モデル適合度の評価 |
| 混同行列 | 予測クラスと実測値の比較 | 分類精度の視覚的評価 |
| 正答率 | 全体の分類精度 | モデル性能の定量化 |
データ要件と推奨事項
変数の要件
- 目的変数: カテゴリカル変数 1つ(2値: 二項、3値以上: 多項)
- 説明変数: 連続変数またはカテゴリカル変数(混在可)
サンプルサイズの目安
| 分析の種類 | 最低限 | 推奨 |
|---|---|---|
| 二項ロジスティック | 説明変数1個あたり10イベント (EPV ≥ 10) | EPV ≥ 20 |
| 多項ロジスティック | 各カテゴリに50件以上 | 各カテゴリに100件以上 |
オッズ比の解釈
| オッズ比 | 解釈 |
|---|---|
| OR = 1 | 説明変数はアウトカムと関連なし |
| OR > 1 | 説明変数が増加するとアウトカムの発生確率が増加 |
| OR < 1 | 説明変数が増加するとアウトカムの発生確率が減少 |
AUCの判定基準
| AUC | 判別能 |
|---|---|
| 0.9 - 1.0 | 優秀 |
| 0.8 - 0.9 | 良好 |
| 0.7 - 0.8 | 許容可能 |
| 0.6 - 0.7 | 不十分 |
| 0.5 - 0.6 | 判別能なし |
基準値(参照カテゴリ)の設定
ロジスティック回帰では、カテゴリカル変数の基準値(参照カテゴリ)の選択がオッズ比の解釈に影響します。
- 目的変数の基準値: オッズ比が「基準に対してどの程度リスクが高いか」を示す比較対象を決めます
- 説明変数の基準値: 各カテゴリカル説明変数の比較対象を決めます
- 一般的に「正常」「なし」「低リスク」など臨床的に標準的な状態を基準にします
注意事項
- 多重共線性: 説明変数間の高い相関は推定を不安定にします。VIF (分散拡大要因) の確認を推奨します
- 完全分離: あるカテゴリで目的変数が完全に予測できる場合、推定が収束しないことがあります
- サンプルサイズ: 特にイベント数が少ない場合(EPV < 10)、結果の安定性に注意してください
- 因果推論: ロジスティック回帰は関連性(オッズ比)を示すものであり、因果関係の証明には別途、研究デザインの検討が必要です
他の多変量解析手法
複数の説明変数によるデータ分析 (多変量解析) ページでは、本手法を含む10種類の多変量解析手法の概要と比較をご覧いただけます。
下のアプリでは、入力されたデータの目的変数・説明変数のタイプを自動判定し、適用可能な統計手法をすべて提示します。 そのため、本ページの手法以外の結果も表示されることがあります。これは同じデータ設定で複数の分析を比較検討できる仕組みです。
アプリ
| 分類内容 | 値 | |
| {{ item.tag }} |
データの取り扱い
- データインポート
- データの読み込みは、ブラウザ内で完結し、外部へのデータ送信は発生しません。
- データ保持
- 読み込んだデータはブラウザ内に保持されます。
- ブラウザのセッションが終了または全てのタブが閉じられると、保持していたデータは自動的に破棄されます。
- データの安全性
- ブラウザがクラッシュした場合でも、10分経過すれば次回の起動時にデータは安全に消去されます。
- 共用のPCでの使用も考慮し、データの外部漏洩のリスクを最小化しています。
クラウド R を利用する時のデータ送信
- 最小限のデータ送信
- 外部のRサーバーへ送信されるデータは、数値計算に必要な最小限のセットに制限されています。
- 送信データは解析に必要なサブセットのみに限られます。
- ユーザーコントロール下のデータ送信
- 送信前に、どのデータが外部サーバーへ送信されるのか内容を確認することが可能です。
- データの送信はユーザーの操作により行われ、自動的な送信は行いません。
- クラウド R 出力結果の保持
- クラウド R からの出力結果は、将来の自動翻訳や自動解説の機能実現のため、サーバーがデータベースに保持します。
- その際に、送信者の情報や、計算元となるデータなど、プライバシーに関わる情報は保持しません。
- 通信経路も全て暗号化していますので、たとえプライバシーに関わる情報が含まれていたとしても、通常は漏洩する恐れはありません。
AI による解説を利用する時のデータ送信
- 最小限のデータ送信
- 外部のAIサーバーへ送信されるデータは、クラウド R の出力結果と、用いた統計手法の徐放です。
- ただし、クラウド R の出力結果に連続した数値データが含まれる場合は、AI にデータ形式を認識させる目的で、連続データの最初の行のみを送信します。
- クラウド R 出力結果の保持
- AI による解説内容は、将来の品質向上などのため、サーバーがデータベースに保持します。
- その際に、送信者の情報や、計算元となるデータなど、プライバシーに関わる情報は保持しません。
Reactive stat において、統計データの変数は、通常の数値や文字列として扱われます。 したがって、日付や時間の概念は直接的にはサポートされていません。
統計計算を行う際には、日付や時間の差分を数値として事前に用意しておく必要があります。
チェックされた行が削除対象となります
削除対象の行
データ入力
AI による R コードの解説
R の出力結果
R出力図形
AI による R 出力結果の解説
- データ: カラム名 (列名) をそのまま記述するか、"列名" のようにダブルクォートで挟んで指定
- 算術演算子: +, -, *, /, ()
- 基本関数: abs(), sqrt(), pow(), exp(), log(), log10()
- 三角関数: sin(), cos(), tan(), asin(), acos(), atan()
- 丸め関数: round(), floor(), ceil()
体重 / pow(身長, 2), "体重" / ("身長" * "身長")
{{ column }}
{{title}}
入力されたデータの目的変数・説明変数のタイプを自動判定し、適用可能な統計手法をすべて提示します。 これは同じデータ設定で複数の分析を比較検討できる仕組みです。
{{calledFromSubPage? '本アプリで統合的に実行可能な': ''}}分析法の特徴一覧
| 手法 | 英語名 | 目的変数のタイプ | 説明変数のタイプ | 特徴 | Wikipedia |
|---|---|---|---|---|---|
| {{ method.japaneseName }} | {{ method.englishName }} | {{ method.dependentVariableType }} | {{ method.independentVariableType }} | {{ method.characteristic }} |
データ
設定
統計手法
| 変数名 | 数値 | 連続変数 | カテゴリカル /離散変数 |
|||
|---|---|---|---|---|---|---|
| {{ variable }} | {{ type.numerical ? '〇' : '-' }} | {{ type.originallyContinuous ? '〇' : '-' }} | {{ type.originallyCategorical ? '〇' : '-' }} |
データの分類は以下のルールに従っています
変数タイプは手動で調整できます
- : 有効 / : 無効
- クリックすると切り替わり、各統計手法に渡されるデータ形式を明示できます。
| 手法 | 目的変数のタイプ | 説明変数のタイプ | 適用 |
|---|---|---|---|
| {{ method.japaneseName }} | {{ method.dependentVariableType }} | {{ method.independentVariableType }} | {{ method.reason }} |
結果
{{method.japaneseName}} ({{method.englishName}})
- {{ warning }}