回帰分析は、原因(予測因子)と結果(アウトカム)の関係を「数式」としてモデル化し、データに基づく未来予測を可能にする強力な技術です。AIアルゴリズムの基礎でもあります。
線形回帰は、連続値(血圧など)を予測します。データ点に最もフィットする「最適な直線」 (y = β₀ + β₁x + ε) を最小二乗法 (OLS) で見つけ出します。
予測対象の型でモデルを使い分けます。
• 二値 (発症/非発症) → ロジスティック回帰
• カウント (件数) → ポアソン回帰
LASSOで不要な変数を自動削除し過学習を防ぎます。また、VIFで変数間の「共犯関係」(多重共線性)をチェックし、モデルの不安定さを診断します。
R²(説明できた割合)、AIC(シンプルさと精度のバランス)、AUC(二値予測の識別精度)などの指標で、モデルの総合的な性能を評価します。
臨床現場で日々、患者さんの診断や治療方針を決める時、「もしこの治療を行った場合、どのような臨床成績やリスクの変化が予想されるか?」と、常に未来を見据えて考えますよね。ベテラン医師の経験や直感はもちろん大切ですが、AI時代の医療では、データに基づいた「未来予測」の精度が、治療の質そのものを大きく左右するようになってきました。
今回のテーマは、そんなデータ予測の基礎中の基礎であり、統計学において最も強力なツールの一つ、「回帰分析(Regression Analysis)」です。この名前、少し変わっていると思いませんか?
統計学の歴史において、回帰分析は19世紀後半にフランシス・ゴルトンによって命名されました。彼は、背の高い親から生まれた子の身長が、親ほどは高くならず「平均的な身長」へと近づく傾向があることを発見し、これを「平均への回帰(Regression toward the mean)」と名付けました (Freedman, 2009)。この「何かに回帰する」という現象を記述する手法が、回帰分析の始まりだったんです。
現代における回帰分析の核心は、もっとパワフルです。それは、患者さんの背景因子(年齢、既往歴、検査値など)を「原因(予測因子)」、治療後の転帰(合併症、生存期間など)を「結果(予測したいアウトカム)」として捉え、その複雑な関係性を一本の「数式」として見つけ出すことにあります。
この数式は、単なる過去のデータの要約ではありません。それは、目の前の患者さん一人ひとりの未来の道のりを照らし、より良い治療選択へと導くための「羅針盤」なんです。
回帰分析をマスターすることは、データサイエンスの知識を深めるだけでなく、ご自身の日常の臨床疑問を客観的なエビデンスへと昇華させるための強力な武器となります。そして、この一見シンプルな数式の構造こそが、実は複雑なAIモデル(例えばニューラルネットワーク)が予測を行う仕組みを深く理解する上で、欠かせない礎となるのです。
1. 回帰分析とは何か?:予測因子とアウトカムを「線」でつなぐ技術
回帰分析の「なぜ?」:統計的関連性の入り口とAIの基礎構造
回帰分析をマスターすれば、「ある特定の要因が、結果にどれだけ影響を与えるか?」を定量的に、かつ数値で評価できます。数値として「重み」を評価できる、と言えばいいでしょうか。例えば、「喫煙(予測因子)」が「肺がんのリスク(アウトカム)」にどれだけ寄与しているかを、具体的な係数(重み)として把握できるのです。
ただ、ここで一つ、とても大事な注意点があります。回帰分析が直接示してくれるのは、あくまで統計的な関連性(相関)がメインだということです。「喫煙と肺がんリスクに関連がある」ことは示せても、「喫煙が本当に肺がんの原因である」と主張するためには、ランダム化比較試験(RCT)によるデザインの厳密さや、因果推論手法(交絡などを調整する高度な統計手法)による慎重な分析が欠かせません。この点については、疫学の大家であるHernánとRobinsの教科書に詳しい議論があります (Hernán & Robins, 2020)。回帰分析は、これらの複雑な分析の出発点となる、非常に重要なツールなんです。
そして、ここがAIにつながる面白いところなのですが、このシンプルな「重み付けをして足し合わせる」という線形的な数式構造は、AIが未来を予測する際に用いるアルゴリズム的枠組みの基礎そのものと言えます (Goodfellow et al., 2016)。最もシンプルなニューラルネットワークの層(全結合層)で行われている計算は、まさにこの線形回帰の原理(入力に重みをかけて合計する)に基づいているからです。
線形回帰:最もシンプルで強力な予測ツール

数ある回帰分析の中でも、すべての基本となるのが「線形回帰分析(Linear Regression)」です。これは、原因と結果の関係を「一本の直線(線形)」で表そうとする、とても直感的で強力な手法です。ここで結果として扱うアウトカムは、血圧や血糖値、体重などの連続値(数値が連続しているデータ)です。
- データ点(患者データ): 個々の患者さんの「年齢」や「血圧」のペアなどが、グラフの上に散らばっています。
- 定規(回帰直線): これらの点全体から「最も近くなる」ように引かれた、最適(だと思われる)一本の直線です。
- 誤差(残差): 実際のデータ点が、その定規からどれだけ外れているかを示す「ズレ」です。このズレこそが、私たちの作ったモデル(定規)では説明しきれなかった、個々のデータの「個性」や「ばらつき」なんですね。
線形回帰の数式は、中学で習った一次方程式 \(y = ax + b\) と構造はほぼ同じです。統計学の世界では、記号を変えて以下のように表現されます。
\[ \text{予測される血圧} = \beta_0 + \beta_1 \times \text{年齢} + \epsilon \]
これを一般化すると、以下のようになります (Freedman, 2009)。
\[ y = \beta_0 + \beta_1 x + \epsilon \]
各記号が何を表しているか、しっかり見ていきましょう。
- \(y\): 予測したい結果(目的変数、例:血圧)。
- \(x\): 原因となる要因(説明変数、例:年齢)。
- \(\beta_0\): 切片(せっぺん)。グラフで直線が \(y\) 軸と交わる点です。数式上は「\(x=0\) のときの \(y\) の値」を意味します。先の例では「年齢が0歳のときの予測血圧」となりますが、データがない範囲での解釈は非常に慎重になるべきです。多くの場合、この \(\beta_0\) は「モデルが直線を引くための調整項(ベースライン)」くらいに考えておくのが安全かもしれません。
- \(\beta_1\): 傾き(回帰係数)。これこそが私たちが知りたい、予測因子のアウトカムへの影響度そのものです。「\(x\) が \(1\) 増えたときに \(y\) がどれだけ変化するか」を示します。例えば「年齢が1歳上がると、血圧が平均して \(\beta_1\) だけ上がる(または下がる)」と解釈できます。
- \(\epsilon\): 誤差(残差)。これはモデルの予測(直線)と実際のデータ点とのズレを示します。言い換えれば、年齢だけでは説明しきれなかった血圧の変動、つまりモデルの限界や、測定誤差など、あらゆる「その他」の要因を含んでいます。

線形重回帰分析と最小二乗法:多因子モデルの構築

さて、実際の臨床現場を想像してみると、血圧が年齢だけで決まるなんてことは、まずないですよね。体重、喫煙歴、塩分摂取量、遺伝的要因など、多くの要因が複雑に絡み合っています。
そこで、説明変数(\(x\))を複数入れる線形重回帰分析(Multiple Linear Regression)の出番です。モデルの数式も、変数を追加するだけです。
\[ y = \beta_0 + \beta_1 x_1 + \beta_2 x_2 + \dots + \beta_k x_k + \epsilon \]
例えば、\(y\)(血圧)を、\(x_1\)(年齢)、\(x_2\)(体重)、\(x_3\)(喫煙歴)などで説明するモデルが作れます。ここで問題になるのが、「じゃあ、このたくさんの傾き(\(\beta_1, \beta_2, \dots\))の最適な組み合わせをどうやって見つけるの?」という点です。年齢の影響を強く見積もりすぎたら、体重の影響が不当に小さくなるかもしれません。
このバランスを取るための、最も古典的で強力な計算手法が「最小二乗法(Ordinary Least Squares; OLS)」です (Draper & Smith, 1998)。

【最小二乗法とは?】データと直線の「不満の総量」を最小化する
最小二乗法は、その名の通り「二乗した値を最小にする」方法です。何を二乗するかというと、先ほどの「残差(ズレ)」です。
具体的には、すべてのデータ点と回帰直線との縦方向の距離(残差)を計算し、その残差を「二乗」した合計が最も小さくなるように、直線の傾き(\(\beta_1, \beta_2, \dots\))と切片(\(\beta_0\))を決定します。
ここで面白いのが、なぜわざわざ「二乗」するのか、という点です。単にズレを足し合わせるだけではダメなのでしょうか?
もし二乗しないと、予測より上にある点(ズレがプラス)と、下にある点(ズレがマイナス)が互いに打ち消し合ってしまい、合計のズレが(見かけ上)ゼロになってしまうかもしれません。それでは、本当は全然フィットしていないのに「完璧にフィットした!」と勘違いしてしまいますよね。二乗することで、全てのズレを「プラスの大きさ」として扱え、純粋に「ズレの大きさ(不満)」だけを評価できるわけです。このズレ(不満)の総量を最小化する、というのが最小二乗法の本質です。
最小二乗法を数式で表すと、以下の残差二乗和(Sum of Squared Errors; SSE)を最小化するような \(\beta_0\) と \(\beta_1\)(重回帰なら \(\beta_k\) まで)を求める、という最適化問題になります。
\[ \min_{\beta_0, \beta_1} \sum_{i=1}^{n} (y_i - \hat{y}_i)^2 = \min_{\beta_0, \beta_1} \sum_{i=1}^{n} (y_i - (\beta_0 + \beta_1 x_i))^2 \]
数式で書くと難しそうに見えますが、やっていることはシンプルです。\(i\) 番目の患者さんの実際の値(\(y_i\))と、モデルが予測した値(\(\hat{y}_i\)、ハット(^)は予測値を表す記号です)との差を計算し(これがズレ)、それを二乗して(\((y_i - \hat{y}_i)^2\))、全患者さん(\(i=1\) から \(n\) まで)について合計(\(\sum\))する。この合計値(SSE)が、最小(\(\min\))になるような \(\beta\) たちを探し出す、という意味です。
この計算(実際には微分を使います)によって、データ全体に対して最も公平で、最も当てはまりの良い「たった一つの最適な直線」が数学的にバシッと決まるわけです。
2. アウトカムの性質で使い分ける:線形回帰だけではダメな理由
前章で学んだ線形回帰は、血圧や体重のような連続値を予測するのに適していました。しかし、医療データにおいて私たちが本当に予測したいアウトカムは、いつも連続値とは限りませんよね。「この患者さんが病気を発症するかどうか(はい/いいえ)」や、「手術後の合併症の件数(0回, 1回, 2回...)」のように、そのデータの「性質」が大きく異なることがよくあります。
データ型が異なれば、そのデータが従うべき統計的な「分布」の形も変わってきます。無理やり線形回帰(直線)を当てはめようとすると、とんでもない予測(例えば、発症確率が120%とか、合併症がマイナス0.5件とか)が出てきてしまうんです。だからこそ、モデルを正しく使い分けることが、精度の高い予測の鍵となります。
回帰モデルは、予測したいアウトカム(結果)のデータ型に応じて使い分けなければなりません。以下の表は、主要な回帰モデルとその適用範囲を示しています。
図1:アウトカムの性質による回帰モデルの選択(OLS: 最小二乗法, MLE: 最尤推定法)
ロジスティック回帰:病気の発症「確率」を予測する
臨床現場で最も重要な予測の一つが、「この患者さんが今後5年以内に心筋梗塞を発症する確率は?」のように、結果が二値(\(0\)か\(1\)、発症/非発症)である事象の予測です。この「確率」の予測にこそ、ロジスティック回帰分析(Logistic Regression)が使われます。
なぜ線形回帰ではダメなのでしょうか? もし無理やり線形回帰(直線)を使うと、年齢が非常に高い人の発症確率が150%になったり、逆に若い人の確率がマイナス20%になったりと、直線がグラフの上下を突き抜けてしまいます。これは確率(\(0\)から\(1\)の範囲)として全く解釈できません。
ロジスティック回帰は、この問題を鮮やかに解決します。ポイントは、「発症する確率 \(P\)」を直接予測するのではなく、\(P\) をある形に「変形」させて、線形モデル(\(\beta_0 + \beta_1 x_1 + \dots\))と結びつける点です。
この変形のプロセスを、少し丁寧に見てみましょう。
- 1. 確率 (P): まず、予測したい「確率 \(P\)」があります。ご存知の通り、範囲は [0, 1] です。
- 2. オッズ (Odds): 次に、確率を「オッズ」に変換します。オッズは \(\frac{P}{1-P}\)(起こる確率 / 起こらない確率)で計算されます。
- P=0.5 (50%) ならオッズ=1。
- P=0.8 (80%) ならオッズ=4 (4倍起こりやすい)。
- P=0.2 (20%) ならオッズ=0.25 (4分の1)。
- 3. ロジット (Logit) / 対数オッズ: 最後に、オッズに対数(自然対数 \(\ln\))をとります。これが「ロジット」です。 \[ \text{ロジット}(P) = \ln(\text{Odds}) = \ln \left( \dfrac{P}{1-P} \right) \]
- P=0.5 (オッズ=1) ならロジット=0。
- Pが1に近づく (オッズ=\(\infty\)) とロジットは \(+\infty\) へ。
- Pが0に近づく (オッズ=0) とロジットは \(-\infty\) へ。
ついに、「ロジット」という値は [\(-\infty\), \(+\infty\)] の範囲を動けるようになりました。これなら、線形回帰の予測値(これも [\(-\infty\), \(+\infty\)] の範囲)と=(イコール)で結びつけられます!
\[ \ln \left( \dfrac{P}{1-P} \right) = \beta_0 + \beta_1 x_1 + \dots + \beta_k x_k \]
これがロジスティック回帰のモデルの正体です。この分野の標準的な教科書である Hosmerら (2013) も、このロジット変換の重要性を強調しています。この構造により、計算結果(右辺)がどんなに大きな値や小さな値になっても、それを逆変換(シグモイド関数と呼ばれます)すれば、必ず 0 から 1 の間に収まる「確率 \(P\)」として解釈できるようになるのです。
- 最尤推定法(Maximum Likelihood Estimation; MLE): 線形回帰がズレ(残差)の二乗和を最小化する「最小二乗法(OLS)」を使ったのとは異なり、ロジスティック回帰では最尤(さいゆう)推定法で最適な係数(\(\beta\))を求めます。「尤」は「もっともらしい」という意味です。これは、一言でいえば「手元のデータ(Aさんは発症、Bさんは非発症...)という事実が、このモデル(この\(\beta\)の組み合わせ)から生じる確率が最大になる」ように \(\beta\) を調整する方法です。データとの「距離」を最小にするOLSに対し、データが観測される「確率」を最大にするMLE、と考えるとイメージしやすいかもしれません。

ポアソン回帰:稀な「カウント数」を予測する
次に、結果がカウントデータ(0, 1, 2, 3... という非負の整数)である場合に適しているのがポアソン回帰分析(Poisson Regression)です。例えば、「集中治療室(ICU)で1週間に発生する院内感染の件数」や「ある薬を投与された患者の1年間における再入院の回数」などを予測する際に使われます (Cameron & Trivedi, 2013; Hilbe, 2011)。
なぜ線形回帰ではダメか? やはり、予測値がマイナス(例:感染件数 -0.3件)になる可能性があるからです。また、カウントデータは0に近いところにデータが偏ることが多く、線形回帰が前提とする分布(正規分布)とは形が異なります。
ポアソン回帰は、このような稀な事象の発生件数をモデル化するのに特化した「ポアソン分布」を仮定します。そして、ロジスティック回帰が「ロジット」を介したように、ポアソン回帰は「対数(\(\ln\))」を介して線形モデルと結びつきます。具体的には、予測したいアウトカムの平均値(平均発生件数 \(\mu\))の自然対数 \(\ln(\mu)\)を線形モデルで予測します。
\[ \ln(\mu) = \beta_0 + \beta_1 x_1 + \dots + \beta_k x_k \]
なぜ対数をとるかというと、\(\mu\) は平均「件数」なので、必ず 0 より大きく(正の値)ないといけません。線形モデル(右辺)はマイナスにもなり得ます。対数 \(\ln(\mu\)) をモデル化することで、逆変換(\(\mu = \exp(\beta_0 + \dots)\))したときに、\(\mu\) が必ず正の値になることを保証できるのです(この \(\ln\) のような変換関数をリンク関数と呼びます)。
このモデルの係数(\(\beta_i\))を指数変換(\(\exp(\beta_i)\))した値は、発生率比(IRR: Incidence Rate Ratio)と呼ばれ、臨床的に非常に分かりやすい解釈が可能です。例えば \(\exp(\beta_1) = 1.5\) なら、「予測因子 \(x_1\) が 1 単位増えると、イベントの発生件数が 1.5倍 になる」と解釈できます。

3. モデルの「健康診断」:予測の信頼性をチェックする
さて、数式(モデル)が完成したら、すぐにでも臨床予測に使いたくなりますが、ちょっと待ってください。そのモデル、本当に「健康」でしょうか? 私たちが作った回帰モデルが、統計学的な「お約束」にちゃんと従っているかを確認する、いわばモデルの健康診断が不可欠です。
これを怠ると、見かけ上は良さそうでも、実際には誤った予測を導き出す「病気のモデル」を使い続けることになりかねません。モデルを臨床で使う前に、必ず「モデル診断」を行う必要があります。
残差分析:モデルのフィット感を検証する
モデル診断の基本は残差分析です。残差とは、先ほども出た「実際の値と予測値とのズレ」のこと、つまりモデルが説明しきれなかった「残りカス(Residual)」のことですね。この「残りカス」の分布パターンを調べることで、「回帰モデルが前提としていた仮定が守られているか」をチェックします。
例えば、線形回帰(OLS)が正しく機能するためには、いくつかの重要な仮定があります。その中でも特に重要なのが「誤差(残差)の分散が均一であること(均一分散性, Homoscedasticity)」や「誤差が正規分布に従うこと(正規性)」です。
残差分析では、横軸に予測値、縦軸に残差をとった「残差プロット」をよく使います。このプロットで、点が特定のパターン(例えば、ラッパのように広がっていく、U字型にカーブしているなど)を持たず、予測値に対してランダムに、均一に散らばっている状態が理想です。もしラッパ型に広がっている場合、それは「不等分散性(Heteroscedasticity)」と呼ばれ、予測値が大きいほど予測のズレも大きくなる、という問題を示しており、モデルの修正(例えば対数変換など)が必要かもしれません。
多重共線性(VIF):予測因子の「共犯関係」を見抜く
多重共線性(Multicollinearity)、通称「マルチコ」は、重回帰分析(複数の予測因子を使うモデル)で特によく遭遇する厄介な問題です。これは、モデルに入れた説明変数同士が、非常に強い相関(共犯関係)を持っている状態を指します。
例えば、ある患者さんの血圧を予測するのに、「体重」と「BMI」の両方を説明変数に入れてしまったケースを想像してみてください。この2つは計算上、非常に強く関連しており、ほぼ同じ情報を持っていますよね。
こうなると、モデルは「血圧が高いのは『体重』のせい? それとも『BMI』のせい?」と混乱してしまいます。その結果、個々の変数の係数(\(\beta\))の推定値が、データが少し変わるだけで乱高下し、非常に不安定になります。さらに悪いことに、\(\beta\) の標準誤差(信頼区間の幅)が異常に大きくなり、「体重もBMIも、どちらも統計的に効いていない」という誤った結論を導く原因にもなります。
この「共犯関係」の強さを数値で評価するのがVIF(Variance Inflation Factor:分散拡大係数)です。VIFは、ある変数が「他の変数」によってどれだけ説明できてしまうかを示します。VIFが大きいほど(一般的に、保守的な基準で5、緩い基準でも10を超えると)、多重共線性の影響が深刻であると判断されます (O'Brien, 2007)。もし高いVIFが検出されたら、相関が高い変数のどちらか一方を削除する、といった対処が必要になります。
4. 最強のチーム(変数)を選ぶ:モデルのダイエットと強化
さて、重回帰モデルを組む際、手元にある予測因子(年齢、体重、BMI、喫煙歴、各種検査値…)をすべて投入したくなるのが人情です。しかし、変数が多すぎると、いくつかの深刻な問題が起こります。
- 過学習(Overfitting): そのデータセットにだけ特化しすぎてしまい、新しい患者さん(未知のデータ)に対する予測精度がガクッと落ちてしまう現象です。
- 多重共線性: 先ほど見たように、似たような変数(体重とBMIなど)が多すぎると、モデルが不安定になります。
- 解釈の困難さ: 変数が50個もあるモデルで「どの因子が重要か」を説明するのは、非常に困難です。
- コスト: そもそも、それら全ての変数を集めるための検査や問診のコストは正当化できるでしょうか?
そこで、予測精度を落とさずに(むしろ上げつつ)、最もシンプルで解釈しやすい「最強の変数チーム」を選ぶ、変数選択(Variable Selection)というステップが極めて重要になります。モデルの不要な贅肉をそぎ落とす「ダイエット」であり、本質的な部分を際立たせる「強化」でもあるんです。
ステップワイズ法:伝統的な変数選び
伝統的に広く使われてきたのが、ステップワイズ法(Stepwise Selection)です。これは、統計的な基準(p値やAICなど)だけを見て、機械的に変数を「足したり」「引いたり」する自動選択の手法です。
- 前方選択 (Forward Selection): 空っぽのモデルからスタートし、モデルを最も改善させる変数を1個ずつ「足して」いく方法。
- 後方消去 (Backward Elimination): 全部の変数を入れたモデルからスタートし、最も寄与していない変数を1個ずつ「引いて」いく方法。
- ステップワイズ (Stepwise): 上記2つを組み合わせ、足したり引いたりしながら最適解を探す方法。
これらは手軽に実行できる反面、重大な課題も抱えています。一番の問題は、変数選択が統計基準だけで機械的に行われるため、臨床的な重要性やドメイン知識が無視されてしまう点です。また、一度に1つずつしか見ない「近視眼的」な選択なので、変数の組み合わせとして「局所的な最適解」にはまっても、「全体としての最適解」を見逃す可能性があります。さらに、この方法で選んだ変数のp値は、選ばれなかった変数の影響を無視しているため、過度に楽観的な(小さすぎる)値になりがちで、解釈には注意が必要です。
LASSO:AI時代にふさわしい「賢い」変数選択
そこで、より現代的で、AI・機械学習の分野で主流となっている手法がLASSO(Least Absolute Shrinkage and Selection Operator)です。これは、スタンフォード大学のRobert Tibshirani教授によって1996年に提案された画期的な手法です (Tibshirani, 1996)。
LASSOの本質は、通常の最小二乗法(OLS)に、ある「ペナルティ(罰則)」を加えることにあります。思い出してください、OLSの目的は「残差二乗和(SSE)を最小にする」ことでした。
\[ \text{OLSの目的: } \min_{\beta} \sum_{i=1}^{n} (y_i - \hat{y}_i)^2 \]
これに対し、LASSOは以下の式を最小化しようとします。
\[ \text{LASSOの目的: } \min_{\beta} \left\{ \sum_{i=1}^{n} (y_i - \hat{y}_i)^2 + \lambda \sum_{j=1}^{k} |\beta_j| \right\} \]
この式の意味を紐解きましょう。
- 第1項(\(\sum (y_i - \hat{y}_i)^2\)): OLSと同じ「当てはまりの良さ」です。これは小さい方が良い(ズレが少ない)ですね。
- 第2項(\(\lambda \sum |\beta_j|\)): これが新しく加わった「ペナルティ項」です。
- \(|\beta_j|\) は、各係数 \(\beta_j\) の絶対値(大きさ)です。
- \(\sum |\beta_j|\) は、全ての係数の大きさの合計です。
- \(\lambda\)(ラムダ)は、ペナルティの「強さ」を決める調整値です。
LASSOは、「当てはまりの良さ」と「ペナルティの大きさ」の両方を同時に最小化しようとします。これは何を意味するでしょうか?
もしある変数(例:\(x_3\))が予測にあまり役立たない(当てはまりの良さを改善しない)場合、その係数 \(\beta_3\) に少しでも値があると、ペナルティ項(\(\lambda |\beta_3|\))が大きくなり、全体の合計値も増えてしまいます。モデルはこれを嫌がり、予測に貢献しない変数の係数を「節約」しようとします。そして、LASSOのペナルティ(絶対値:L1ノルムと呼ばれます)の数学的な性質により、その「節約」の仕方は、中途半端に小さな値にするのではなく、バッサリと強制的にゼロにするという形で現れます。
つまり、LASSOはモデルを構築しながら、同時に「この変数は重要だから係数を残す」「この変数は不要だから係数をゼロにする」という変数選択を自動的に行ってくれるのです。これにより、過学習を防ぎ、予測精度の向上(頑健性の向上)と変数選択を両立させることができます。まさにAI時代にふさわしい「賢い」手法と言えます。
ちなみに、ペナルティの与え方には仲間がいて、絶対値 \(|\beta_j|\) ではなく二乗 \(\beta_j^2\) を使うRidge(リッジ)回帰という手法もあります (Hoerl & Kennard, 1970)。Ridgeは係数をゼロにはしませんが、多重共線性がある場合にモデルを安定させる効果が非常に高いです。さらに、LASSOとRidgeの両方のペナルティを組み合わせたElastic Net (Zou & Hastie, 2005) も、非常に強力な手法として広く使われています。
5. モデルの性能を測る:どの予測が「一番良い」のか?
モデルをいくつか作ってみたら、当然、どのモデルが「一番良い」のか、その「成績表」を見たくなりますよね。モデルの性能は、そのモデルが何を予測しようとしているのか(アウトカムの型)によって、測る「モノサシ」が変わってきます。
決定係数(\(R^2\)):説明できた割合を示す
線形回帰モデル(血圧や体重などの連続値を予測)の評価で最も古くから使われているのが、決定係数(\(R^2\)、R-squared)です。これは非常に直感的で、「目的変数 \(y\) の『ばらつき(個人差)』のうち、このモデルがどれだけ説明できたか」を \(0\) から \(1\) の間の割合(パーセンテージ)で示します。
例えば、患者さんの血圧(\(y\))には個人差(ばらつき)があります。このばらつきを「年齢(\(x\))」で予測しようとしたモデルの \(R^2\) が 0.6 だったとします。これは、血圧の個人差のうち 60% は、年齢という因子で『説明できた』ことを意味します。残りの 40% は、年齢だけでは説明できなかった誤差(残差)ということになります。
ただし、\(R^2\) には有名な注意点があります。それは、予測変数を追加すればするほど、たとえそれが予測に全く役立たない無関係な変数であっても、\(R^2\) は(見かけ上)良くなってしまう(決して下がらない)という性質です。これでは「最強のチーム」選びには使えません。そこで、変数の数が増えることにペナルティを課した「自由度調整済み決定係数(Adjusted \(R^2\))」を用いることが、Draper & Smith (1998) のような多くの標準的な教科書で推奨されています。
AIC:シンプルさと正確さのバランス
モデル同士を比較する際、特にロジスティック回帰やポアソン回帰など、最尤推定法(MLE)を使うモデルで非常に強力な指標が、日本の統計学者・赤池弘次博士によって考案されたAIC(Akaike's Information Criterion)です (Akaike, 1974)。
AICは、モデルの「データのフィット具合(当てはまりの良さ)」と「モデルの複雑さ(変数の多さ)」のバランスを評価します。
\[ \text{AIC} = -2 \times (\text{最尤推定の対数尤度}) + 2 \times (\text{モデルのパラメータ数}) \]
この数式の意味は、以下のように分解すると分かりやすいです。
- 第1項 (\(-2 \times \text{対数尤度}\)): これはモデルの「当てはまりの悪さ」を示します。「対数尤度」は当てはまりが良いほど大きな値になるので、それに-2を掛けることで、「当てはまりが悪いほど大きな値(コスト)」になるよう変換しています。
- 第2項 (\(2 \times \text{パラメータ数}\)): これはモデルの「複雑さ」に対するペナルティ(コスト)です。変数(パラメータ)を1つ増やすごとに、このコストが \(2\) ずつ増えていきます。
つまり、AICは「当てはまりの悪さ(第1項)」と「複雑さのペナルティ(第2項)」の合計点です。モデルを複雑にすれば(変数を増やせば)、第1項は下がりますが、第2項が上がってしまいます。このトレードオフの中で、AICの値が最も小さいモデルを選ぶのが、予測精度とシンプルさのバランスが最も取れた「良いモデル」を選ぶための鉄則とされています。
AUC:ロジスティック回帰の「識別精度」を測る
ロジスティック回帰など、二値アウトカム(発症/非発症)モデルの性能評価にはAUC(Area Under the Curve:曲線下面積)が広く使われます。これは、モデルの「識別能力」を測るための、非常に重要で直感的な指標です。
AUCは、その名の通りROC曲線(Receiver Operating Characteristic curve)というグラフの下の面積を計算したものです。ROC曲線は、縦軸に「感度(真陽性率)」、横軸に「1 - 特異度(偽陽性率)」をとり、モデルが予測する確率のカットオフ値(例:30%以上なら陽性と判定)を0%から100%まで動かしていったときの、「感度」と「偽陽性率」のトレードオフの軌跡を描いたものです (Fawcett, 2006)。
AUCの直感的な解釈は、私自身これが一番しっくりくるのですが、「ランダムに選んだ『発症した患者さん』1人と、『発症しなかった患者さん』1人がいたとして、このモデルが『発症した患者さん』の方に、より高い予測確率を与えられる確率」です (Hosmer et al., 2013)。
- AUC = 1.0: 完璧な予測です。100%の確率で、「発症者 > 非発症者」と正しく順位付けできます。
- AUC = 0.5: モデルが全く役に立っていない状態(コイントスと同じ)を意味します。
- AUC = 0.8: 80%の確率で正しく順位付けできる、かなり良いモデルと評価できます。
AUCは、モデルが病気の人とそうでない人をどれだけうまく「識別」できるかを示す、診断支援の精度を客観的に示す指標として、臨床研究論文でも頻繁に登場します。
まとめ:回帰分析で未来の医療をデザインする
ここまで回帰分析の基本から応用までを見てきましたが、いかがでしたでしょうか。一見シンプルに見える「線(数式)」を引く技術が、実はAIや機械学習が医療の未来を予測するための「基本言語」になっている、という感覚が伝わっていれば嬉しいです。
この基礎知識は、単なる統計スキルの習得以上の価値があると、私は思います。それは、日々目にする新しい論文の予測モデル(例えば、ロジスティック回帰のオッズ比やAUC)を批判的に吟味する力(論文を読む力)、ご自身の臨床現場での疑問(クリニカル・クエスチョン)を「データで検証可能な形」に落とし込む力(研究をデザインする力)、そして何よりも、データが示す「確率」の裏側にある意味を深く理解し、目の前の患者さんのために最適な意思決定をする力を、確実に底上げしてくれるはずです。
最後に、とても重要な視点として、AIを用いた予測モデルの応用には大きな責任が伴う点に、改めて触れさせてください。
Char et al. (2018) が『New England Journal of Medicine』で警鐘を鳴らしているように、モデルが学習するデータに偏り(バイアス)があったり、過学習(特定のデータに最適化されすぎること)を起こしていたりすると、特定の集団(例えば、特定の性別や人種、地域)に対して不利益な誤判定を下すリスクがあります。
モデルの予測は「客観的な数学」に見えますが、その土台となるデータは「人間社会の現実」を反映しています。この技術的・倫理的な側面を深く理解した上で、私たち医療者が回帰分析という強力な羅針盤を正しく活用し、AIと「共創」する未来の医療を築いていくことが、今まさに求められているのだと思います。
※本記事は情報提供を目的としたものであり、特定の治療法を推奨するものではありません。健康に関するご懸念やご相談は、必ず専門の医療機関にご相談ください。
参考文献
- Akaike, H. (1974) “A new look at the statistical model identification”. IEEE Transactions on Automatic Control, 19(6), 716-723.
- Hoerl, A. E. & Kennard, R. W. (1970) “Ridge regression: Biased estimation for nonorthogonal problems”. Technometrics, 12(1), 55-67.
- Tibshirani, R. (1996) “Regression shrinkage and selection via the lasso”. Journal of the Royal Statistical Society: Series B (Methodological), 58(1), 267-288.
- Zou, H. & Hastie, T. (2005) “Regularization and variable selection via the elastic net”. Journal of the Royal Statistical Society: Series B (Statistical Methodology), 67(2), 301-320.
- Cameron, A. C. & Trivedi, P. K. (2013) Regression analysis of count data (2nd ed.). Cambridge University Press.
- Hilbe, J. M. (2011) Modeling count data. Cambridge University Press.
- Draper, N. R. & Smith, H. (1998) Applied regression analysis (3rd ed.). Wiley.
- Hosmer, D. W., Lemeshow, S. & Sturdivant, R. X. (2013) Applied logistic regression (3rd ed.). John Wiley & Sons.
- O’Brien, R. M. (2007) “A caution regarding rules of thumb for variance inflation factors”. Quality & Quantity, 41(5), 673-690.
- Fawcett, T. (2006) “An introduction to ROC analysis”. Pattern Recognition Letters, 27(8), 861-874.
- Freedman, D. A. (2009) Statistical models: theory and practice. Cambridge University Press.
- Goodfellow, I., Bengio, Y. & Courville, A. (2016) Deep Learning. MIT Press.
- Char, D. S., Shah, N. H. & Magnus, D. (2018) “Implementing machine learning in health care—addressing ethical challenges”. New England Journal of Medicine, 378(11), 981-983.
- Hernán, M. A. & Robins, J. M. (2020) Causal Inference: What If. Chapman & Hall/CRC.
ご利用規約(免責事項)
当サイト(以下「本サイト」といいます)をご利用になる前に、本ご利用規約(以下「本規約」といいます)をよくお読みください。本サイトを利用された時点で、利用者は本規約の全ての条項に同意したものとみなします。
第1条(目的と情報の性質)
- 本サイトは、医療分野におけるAI技術に関する一般的な情報提供および技術的な学習機会の提供を唯一の目的とします。
- 本サイトで提供されるすべてのコンテンツ(文章、図表、コード、データセットの紹介等を含みますが、これらに限定されません)は、一般的な学習参考用であり、いかなる場合も医学的な助言、診断、治療、またはこれらに準ずる行為(以下「医行為等」といいます)を提供するものではありません。
- 本サイトのコンテンツは、特定の製品、技術、または治療法の有効性、安全性を保証、推奨、または広告・販売促進するものではありません。紹介する技術には研究開発段階のものが含まれており、その臨床応用には、さらなる研究と国内外の規制当局による正式な承認が別途必要です。
- 本サイトは、情報提供を目的としたものであり、特定の治療法を推奨するものではありません。健康に関するご懸念やご相談は、必ず専門の医療機関にご相談ください。
第2条(法令等の遵守)
利用者は、本サイトの利用にあたり、医師法、医薬品、医療機器等の品質、有効性及び安全性の確保等に関する法律(薬機法)、個人情報の保護に関する法律、医療法、医療広告ガイドライン、その他関連する国内外の全ての法令、条例、規則、および各省庁・学会等が定める最新のガイドライン等を、自らの責任において遵守するものとします。これらの適用判断についても、利用者が自ら関係各所に確認するものとし、本サイトは一切の責任を負いません。
第3条(医療行為における責任)
- 本サイトで紹介するAI技術・手法は、あくまで研究段階の技術的解説であり、実際の臨床現場での診断・治療を代替、補助、または推奨するものでは一切ありません。
- 医行為等に関する最終的な判断、決定、およびそれに伴う一切の責任は、必ず法律上その資格を認められた医療専門家(医師、歯科医師等)が負うものとします。AIによる出力を、資格を有する専門家による独立した検証および判断を経ずに利用することを固く禁じます。
- 本サイトの情報に基づくいかなる行為によって利用者または第三者に損害が生じた場合も、本サイト運営者は一切の責任を負いません。実際の臨床判断に際しては、必ず担当の医療専門家にご相談ください。本サイトの利用によって、利用者と本サイト運営者の間に、医師と患者の関係、またはその他いかなる専門的な関係も成立するものではありません。
第4条(情報の正確性・完全性・有用性)
- 本サイトは、掲載する情報(数値、事例、ソースコード、ライブラリのバージョン等)の正確性、完全性、網羅性、有用性、特定目的への適合性、その他一切の事項について、何ら保証するものではありません。
- 掲載情報は執筆時点のものであり、予告なく変更または削除されることがあります。また、技術の進展、ライブラリの更新等により、情報は古くなる可能性があります。利用者は、必ず自身で公式ドキュメント等の最新情報を確認し、自らの責任で情報を利用するものとします。
第5条(AI生成コンテンツに関する注意事項)
本サイトのコンテンツには、AIによる提案を基に作成された部分が含まれる場合がありますが、公開にあたっては人間による監修・編集を経ています。利用者が生成AI等を用いる際は、ハルシネーション(事実に基づかない情報の生成)やバイアスのリスクが内在することを十分に理解し、その出力を鵜呑みにすることなく、必ず専門家による検証を行うものとします。
第6条(知的財産権)
- 本サイトを構成するすべてのコンテンツに関する著作権、商標権、その他一切の知的財産権は、本サイト運営者または正当な権利を有する第三者に帰属します。
- 本サイトのコンテンツを引用、転載、複製、改変、その他の二次利用を行う場合は、著作権法その他関連法規を遵守し、必ず出典を明記するとともに、権利者の許諾を得るなど、適切な手続きを自らの責任で行うものとします。
第7条(プライバシー・倫理)
本サイトで紹介または言及されるデータセット等を利用する場合、利用者は当該データセットに付随するライセンス条件および研究倫理指針を厳格に遵守し、個人情報の匿名化や同意取得の確認など、適用される法規制に基づき必要とされるすべての措置を、自らの責任において講じるものとします。
第8条(利用環境)
本サイトで紹介するソースコードやライブラリは、執筆時点で特定のバージョンおよび実行環境(OS、ハードウェア、依存パッケージ等)を前提としています。利用者の環境における動作を保証するものではなく、互換性の問題等に起因するいかなる不利益・損害についても、本サイト運営者は責任を負いません。
第9条(免責事項)
- 本サイト運営者は、利用者が本サイトを利用したこと、または利用できなかったことによって生じる一切の損害(直接損害、間接損害、付随的損害、特別損害、懲罰的損害、逸失利益、データの消失、プログラムの毀損等を含みますが、これらに限定されません)について、その原因の如何を問わず、一切の法的責任を負わないものとします。
- 本サイトの利用は、学習および研究目的に限定されるものとし、それ以外の目的での利用はご遠慮ください。
- 本サイトの利用に関連して、利用者と第三者との間で紛争が生じた場合、利用者は自らの費用と責任においてこれを解決するものとし、本サイト運営者に一切の迷惑または損害を与えないものとします。
- 本サイト運営者は、いつでも予告なく本サイトの運営を中断、中止、または内容を変更できるものとし、これによって利用者に生じたいかなる損害についても責任を負いません。
第10条(規約の変更)
本サイト運営者は、必要と判断した場合、利用者の承諾を得ることなく、いつでも本規約を変更することができます。変更後の規約は、本サイト上に掲載された時点で効力を生じるものとし、利用者は変更後の規約に拘束されるものとします。
第11条(準拠法および合意管轄)
本規約の解釈にあたっては、日本法を準拠法とします。本サイトの利用および本規約に関連して生じる一切の紛争については、東京地方裁判所を第一審の専属的合意管轄裁判所とします。
For J³, may joy follow you.

