こんにちは。ほしのはやしです。
重回帰分析って初心者からすれば仰々しい名前でよくわからないですよね。
このページでは、「どういうケース」に「具体的にどう使う」かを主体に解説していきます!
重回帰分析:Multiple linear regressionとは?
複数の原因から、ある結果が生まれたときに、どの原因が最も影響力が強いか?
そんなときに使うのが重回帰分析になります。
例えば、「癌の発生数」という結果に対して、性別・年齢・喫煙歴・コーヒー・糖尿病…など複数の因子でどれがどのくらい影響するか、を調べたいときに使います!
重回帰分析に使える因子(説明変数)の個数は?
統計家によってわかれるところですが、以下の等式が提案されています。
N数 ÷ 10
すなわち、対象の母集団が50人なら、調べられる説明変数は50 ÷ 10 = 5個ということになりますね!
重回帰分析の因子(説明変数)の選び方は?探索的研究の場合は?
以下にやるべきことと、やってはいけないこと、をまとめます。
ここで避けるべきこととして上げたのは、あくまで臨床研究など検証的な研究が主体の場合です。
検証的な研究の場合は、ステップワイズ法で機械的に変数を選択するのも避けるべきというのが主流になっています。
では、探索的な研究ではどうでしょうか?
ある治療における癌の縮小量を予測するバイオマーカー研究の場合、どれが関連するかわからないと思います。
統計的に勧められる手法は、
(調べる予定の項目数 + 既知の項目数) ✕ 10
の症例数を集めて、多変量で評価できるようにすることです。
統計手法としては強制投入法を選択して、全ての説明変数を入れた上で解析することになります。
しかしあまりに個数が多い場合は、多重共線性の問題などもあり、モデルとしては不適切になります。
また、検体数にも限りがあることが多いでしょう。
その場合はやむを得ず、ステップワイズ法で説明変数を最終的に限定、単変量で有意差が出たものを優先的に選択、ランダムフォレストでモデルを作成してimportanceの高いものを選択、などは探索的研究ではありです。
ただその場合は、間違った結果である可能性が排除できないことを覚えておく必要がありますね!
また必ずLimitationに記載しましょう。
具体的なコード(R studio)
テーブル名:datasheet1
Age | Sex | TumorVol | Stage | Intervention |
---|---|---|---|---|
65 | M | 90 | I | Placebo |
70 | F | 80 | IV | DrugA |
62 | M | 145 | II | DrugA |
81 | M | 50 | III | DrugA |
76 | F | 55 | I | Placebo |
77 | F | 123 | IV | Placebo |
… | … | … | … | … |
res1 <- lm(TumorVol ~ Age + Sex + Stage + Intervention, datasheet1)
summary(res1)
2段落目のCoefficientsのEstimateがよく論文で使われるβになります。
Pr(>|t|)がP値です。
基本的には、Estimate, std.error(SE), Pr(>|t|)を論文に記載すればよいでしょう。
下から2番目のところがモデルの精度を表していますが、多変量解析はadjusted R-squaredの値を用います。
論文ではR2で表記します。
最後の文のp-valueはこのモデルが統計的に意味があるかみたものですが、0.8148なのでモデルとして評価できない、ということになりますね。
まとめ
重回帰分析の簡単な解説とR studioでの方法について説明しました!
少しでもお役に立てれば幸いです!
コメント