OLS、共変量、および診断
このトピックを完了すると
アウトカムと共変量との関係をOLSの係数として解釈し、モデルの適合成功と解釈可能性を区別できるようになります。残差、影響点、観測単位に関する診断を通じて、モデルが研究質問の仮定をどの程度反映しているかを確認します。
モデルの前に研究質問がある
OLSは、アウトカムの条件付き平均を記述する線形関係を表現するモデルです。係数は、他の入力が固定された条件下での入力とアウトカムとの関係を表しますが、観測データから因果効果を自動的に示すものではありません。共変量を含めるだけでは、交絡や設計上の問題は解消されません。
データ契約と数式
outcome = beta_0 + beta_1 * exposure + beta_2 * covariate + error各記号の単位と観測単位を定義します。errorは説明できない変動を表し、独立性、平均構造、分散構造などの仮定につながります。
Pythonでの適合と結果オブジェクト
statsmodelsのOLSは適合結果オブジェクトを返します。係数、標準誤差、区間、残差、診断値を個別に読み取り、要約表からの単一のp値に基づいてモデルの品質を判断してはいけません。
import statsmodels.api as sm
X = sm.add_constant(data[["exposure", "covariate"]])model = sm.OLS(data["outcome"], X).fit()print(model.params)print(model.conf_int())実際の分析では、まず変数のデータ型、欠測、単位、独立性を確認します。結果オブジェクトが返されることは計算が完了したことを意味しますが、仮定が満たされたことを意味するものではありません。
診断の読み取り
残差は、観測されたアウトカムとモデルによって予測された値との差です。残差のパターン、分散の変化、影響点は、モデルがデータ構造を完全に説明していない可能性を示します。影響点は自動的に削除される対象ではなく、入力の依存性、測定、設計、アウトカムを再確認するためのシグナルです。
残差対適合値のプロットに曲線的なパターンが見られる場合は、線形平均構造が十分かどうかを確認します。残差の広がり適合値の増加とともに広がる場合は、分散構造を再検討します。特定の観測の影響が大きい場合は、その行の単位、入力エラー、実際の範囲を確認し、含める場合と除外する場合の結果への変更を記録します。
単一の診断がすべての仮定を決定するわけではありません。グラフ、数値診断、研究設計を一緒に見渡し、問題が見つかったときに機械的に変数を削除したり変換したりしないでください。
解釈のために研究質問に戻る
OLSの係数は、モデルと設計によって許容される条件付き関係です。因果関係は、観測データにおいて係数だけでは確認されません。効果量、区間、単位、外挿が一緒に報告されます。
一般的な失敗
- 残差診断なしで係数を解釈しない。
- p値を因果関係の証拠として使用しない。
- 影響点を自動的に削除しない。
- 多くの共変量を含めることでバイアスが自動的に消えると主張しない。
重要なポイント
- OLSは条件付き平均関係を表現するモデルです。
- 係数の解釈には単位、設計、仮定が必要です。
- 適合の成功と診断の合格は異なります。
次のトピック
次のセクションでは、ロジスティック回帰を用いて二項アウトカムとログオッズを結びつけます。
参考文献
- statsmodels API: https://www.statsmodels.org/stable/api.html
- 回帰診断: https://www.statsmodels.org/stable/examples/notebooks/generated/regression_diagnostics.html
- ASA p値声明: https://www.amstat.org/asa/files/pdfs/p-valuestatement.pdf
このセクションのデータと説明は、BioStatPyによって独立して作成されました。