OLS回帰分析で医療データの真実を見抜く方法

OLS回帰分析は医療研究で広く使われる統計手法ですが、その前提条件を満たさないまま使うと結論が大きく狂うことをご存知ですか?

OLS回帰分析を医療データで正しく使うための基礎と実践

外れ値が1件あるだけで、あなたの回帰係数が臨床的に正反対の値になることがあります。


🔍 この記事の3ポイント要約
📐
OLS回帰分析の基本原理

最小二乗法により残差の二乗和を最小化する。医療研究での活用例と解釈方法を解説します。

⚠️
前提条件の確認が最重要

正規性・等分散性・独立性など5つの仮定を確認しないと、推定結果が信頼できなくなります。

💡
医療データ特有の注意点

生存時間データや繰り返し測定データにはOLSが不適切な場面があります。代替手法の選び方も紹介。


OLS回帰分析とは何か:最小二乗法の基本的な仕組み



OLS(Ordinary Least Squares)回帰分析、日本語では「最小二乗法による回帰分析」と呼ばれます。これは、目的変数(結果指標)と説明変数(予測因子)の関係を直線で表し、実測値と予測値の差(残差)の二乗和を最小にするパラメータを求める手法です。


医療研究では、たとえば「患者の年齢・BMI・収縮期血圧」を説明変数として「HbA1c値」を予測するモデルを構築する場面でよく使われます。つまり複数の要因が結果にどの程度影響するかを定量化できる手法です。


数式で表すと、推定値 \(\hat{y} = \beta_0 + \beta_1 x_1 + \beta_2 x_2 + \cdots + \beta_p x_p\) となり、各 \(\beta\) が回帰係数です。係数の推定は \(\hat{\beta} = (X^T X)^{-1} X^T y\) という行列演算で一発に求まります。これが基本です。


OLSの最大の強みは「解析的解(閉じた形の解)」が存在することです。反復計算が不要なため、サンプルサイズが数万件でも計算が高速です。また、Gauss-Markovの定理により、仮定が満たされていれば「最良線形不偏推定量(BLUE)」であることが保証されています。


  • 📌 推定量がBLUEになる条件:誤差の期待値がゼロ、等分散、無相関の3つが必要
  • 📌 係数の単位:説明変数が1単位増えると目的変数が \(\beta\) 単位変化する
  • 📌 切片 \(\beta_0\):すべての説明変数がゼロのときの予測値(医学的に意味がないことも多い)


医療研究者にとって重要なのは、係数の「統計的有意性」だけでなく「臨床的意義の大きさ」も合わせて報告することです。p値が0.001でも、効果量が臨床的に無視できるほど小さければ意味がありません。この視点が見落とされがちです。


OLS回帰分析の前提条件:医療データでよく見落とされる5つの仮定

OLS回帰を正しく使うには、5つの仮定を満たす必要があります。医療データはこれらを破りやすい特性を持っているため、注意が必要です。


  • 1️⃣ 線形性:目的変数と説明変数の関係が線形であること。血圧と年齢の関係は実際には非線形になりやすい
  • 2️⃣ 誤差の正規性:残差が正規分布に従うこと。入院日数や医療費のような右裾の長い変数では崩れやすい
  • 3️⃣ 等分散性(均一分散):すべての観測点で残差の分散が一定であること。重症度が増すほどばらつきが大きくなるケースでは違反
  • 4️⃣ 独立性:残差同士が無相関であること。同一患者の繰り返し測定データでは自己相関が生じる
  • 5️⃣ 多重共線性がないこと:説明変数間の相関が強すぎると係数推定が不安定になる


医療データで特に問題になるのは「4番の独立性」です。同一患者から複数回採血したデータをOLSで分析すると、独立性の仮定が崩れ、標準誤差が過小評価されます。その結果、本来有意でない変数がp<0.05と判定される偽陽性が増加します。これは意外ですね。


前提確認の実践的な手順は以下の通りです。


  • 🔎 残差プロット(Residuals vs Fitted):パターンがあれば線形性・等分散性の違反を示す
  • 🔎 Q-Qプロット:残差が正規分布に乗っているか目視確認
  • 🔎 Breusch-Pagan検定:等分散性の統計的検定(p<0.05で不均一分散の疑い)
  • 🔎 VIF(分散膨張係数):VIF>10なら多重共線性の問題あり、VIF>5でも要注意
  • 🔎 Durbin-Watson検定:残差の自己相関を検定(値が2から大きく離れると問題)


仮定の検証に使えるソフトとしては、R言語の`lm()`関数が手軽です。`plot(model)`の4枚セットで主要な診断プロットが一度に得られます。Pythonなら`statsmodels`の`OLS`クラスで同様の診断が可能です。


OLS回帰分析の結果の読み方:医療研究者が押さえるべき出力の解釈

回帰分析を実行すると、多くのソフトウェアは共通した出力を返します。これを正確に読み取る力が、研究の質を左右します。


まず「回帰係数(Coefficient)」と「95%信頼区間」を確認します。たとえば「BMIが1増加するとHbA1cが0.08%上昇(95%CI: 0.05〜0.11)」という形で解釈します。信頼区間が重要です。


次に「決定係数 \(R^2\)」です。これはモデルが目的変数の分散をどれだけ説明できるかを示します。ただし、説明変数を増やすだけで \(R^2\) は必ず上がるため、変数を追加したときの改善度合いを見るには「自由度調整済み \(R^2\)(Adjusted \(R^2\))」を使います。


出力項目 意味 医療研究での注意点
Coefficient (β) 説明変数1単位増加あたりの目的変数変化量 単位に依存するため標準化係数も確認
Std. Error 係数推定の不確実性 大きいほど推定が不安定
t値・p値 係数がゼロと異なるかの検定 サンプルが多いとほぼ何でも有意になる
モデルの説明率 医療データでは0.3〜0.5でも「良好」なことがある
F検定 モデル全体の有意性 個別係数とは独立して確認


p値の解釈には特に注意が必要です。大規模コホート研究(n=5,000以上)では、臨床的に意味のない小さな差でもp<0.001になりやすいです。これは使えそうです。


標準化回帰係数(β標準化)を合わせて報告すると、説明変数間の「相対的な影響力」を比較できます。たとえば「BMIと喫煙歴のどちらがHbA1c上昇に寄与しているか」を同じ土俵で比較できます。単位が違う変数を比べるときに必須です。


医療データでOLS回帰分析が不適切なケース:代替手法の選び方

OLSが万能でないことは、経験ある研究者でも見落としがちです。データの性質によっては、OLSよりも適切な手法が存在します。


  • 🚫 生存時間データ(死亡・再入院までの日数):打ち切りデータを含む場合はCox比例ハザードモデルが適切。OLSでは打ち切りを正しく扱えない
  • 🚫 二値アウトカム(死亡/生存・入院/外来):ロジスティック回帰が基本。OLSでもリスク差を推定できるが、予測値が0〜1の範囲を超えることがある
  • 🚫 カウントデータ(入院回数・転倒回数):ポアソン回帰や負の二項回帰が適切。OLSは負の予測値を出すことがある
  • 🚫 繰り返し測定・クラスター構造:混合効果モデル(線形混合モデル)や一般化推定方程式(GEE)を使う
  • 🚫 医療費・入院日数など極端に歪んだ分布:対数変換OLSまたはガンマ回帰を検討


「OLSが使えないから複雑な手法に移行する」と考えると心理的ハードルが高くなります。そうではなく、「アウトカムの分布と測定構造に合った手法を選ぶ」という発想が原則です。


Rでの代替手法の実装は比較的容易です。たとえばロジスティック回帰は`glm(y ~ x1 + x2, family = binomial)`、ポアソン回帰は`family = poisson`に変えるだけです。Pythonの`statsmodels`も同様のAPIを持ちます。


医療従事者が自分で解析する場合、SPSS・JMP・Stata といった商用ソフトウェアのGUIでも各手法は実装されています。自分のデータ構造に合った手法選択さえできれば、ソフトの操作は後からでも習得できます。


OLS回帰分析の医療現場への応用例:臨床研究での実践的な活用シーン

実際の医療現場や臨床研究でOLS回帰がどのように使われているか、具体的なシナリオを見ていきます。


🏥 事例1:術後疼痛スコアの予測モデル


ある病院の整形外科で、膝関節置換術後3日目のNRS疼痛スコア(0〜10)を目的変数として、年齢・性別・術前痛み・不安スコア・麻酔方法を説明変数としたOLS回帰モデルを構築した研究があります。回帰係数を見ると「術前不安スコア(STAI)が10ポイント上昇するとNRSが平均0.6ポイント上昇(95%CI: 0.3〜0.9)」という結果が得られます。これにより、術前介入の優先対象患者を特定できます。


🏥 事例2:検査値の多変量補正


eGFR(推算糸球体濾過量)が年齢・BMI・血圧・HbA1cとどのように関連するかをOLSで解析し、それぞれの独立した寄与度を求めます。単変量解析では「BMIが高いほどeGFRが低い」に見えても、多変量解析で年齢を調整すると関連が消えるケースがあります。つまり交絡を除去するツールとして機能します。


🏥 事例3:医療費の予測(注意が必要なケース)


1人あたり年間医療費は非常に右に歪んだ分布を持ちます(ほとんどの患者は低額、一部の患者が極端に高額)。このまま OLS を適用すると残差の正規性・等分散性が崩れます。この場合は対数変換(log-transformed OLS)やガンマ回帰を検討する必要があります。医療費分析でOLSをそのまま使うのは要注意です。


医療研究でOLS回帰の結果を報告する際には、国際誌の基準に沿って「調整済み \(R^2\)、各変数のβ係数、95%CI、p値、診断プロットの確認結果」を揃えることが求められます。JAMAやLancetなどの査読誌では、Methods欄での前提条件の確認・報告が必須です。


日本語での参考資料として、以下のリソースが役立ちます。


回帰分析の前提確認と診断方法について(東京大学大学院医学系研究科 公衆衛生学・健康医療政策学分野 資料)。
https://www.m.u-tokyo.ac.jp/medinfo/statistic.html


医療統計の基礎から応用まで解説している「医療統計学の基礎」(日本医師会 学術推進会議 監修)。
https://www.jma.or.jp/jma/doctor/statistics.html


OLS含む回帰分析の実装コードと解説(R言語)。
https://cran.r-project.org/doc/contrib/Mori-Rjiko.pdf


OLS回帰は「使えば終わり」ではなく、「仮定の確認→推定→診断→解釈」のサイクルを回して初めて信頼性の高い結果が得られます。医療データの特性を理解した上で活用することが、エビデンスの質を高める第一歩です。






こころは遺伝する DNAはいかに〈わたし〉を形づくるか