Linear regressionについて徹底解説!【まとめ】

Linear regression(線形回帰)、一番基本的な統計モデルです。

統計ソフトで簡単に行えますが、この

・コンセプト

・前提(assumption)

を理解しておくことは、実際に使う上で極めて重要です。

この記事では、これらをわかりやすく説明しました。

 

*よく教科書で出てくる難しそうな数式も、ここで解説しています!

 

Linear regressionについて解説【基本の「き」】

Linear regressionについて解説【基本の「き」】

linear regression。

どういう回帰モデルかというと、

「連続変数のアウトカムを予想するモデル」

として認識されている方が多いかと思います。

*0-1のカテゴリ変数がアウトカムの場合は、ロジスティック回帰を使いますね。

 

例えば、「LDLコレステロール値を年齢で予測するモデル」を考えてみましょう。

毎回書くのが面倒なので、LDLコレステロール値をY、年齢をXとすると

Y = β0 + β1*X

とモデルすることが、linear regressionなわけです。

 

例えば、β0 = 80, β1 = 1、だったとしたら、

Y = 80 + X

ということで、

・X=10歳ならLDLコレステロール値は90

・X=40歳ならLDLコレステロール値は120

と計算できます。良かった。

 

******

でも、当たり前ですが、40歳の人のLDLコレステロール値が全員120、なわけないですよね。

実際は人によります

これもlinear regressionの式に反映したい。

できるんです。

その参加者をiとします。データが1000人なら、iは1~1000の間のどれか。

すると

Yi = 80 + Xi + ei

となります。

 

iがついているので、「その人のLDLコレステロール値」を予測したモデルとなっています。

でも当然80+Xiでは表せないので、「ei」という新しいやつが後ろについています。

「ei」は、「80+Xiでは表せない分」、つまりエラーを意味します。

*残渣ですが、エラーとも呼ばれます

 

 

****

変数を増やしても一緒です。

例えば、「LDLコレステロール値を年齢と性別で予測するモデル」を考えてみましょう。

LDLコレステロール値をY、年齢をX1、性別をX2(男なら1、女なら0)とすると

Y = β0 + β1*X1 + β2*X2

となります。

 

例えば、β0 = 75, β1 = 1、β2 = 5だったとしたら、

Y = 80 + X1 + 5*X2

・30歳男性なら、LDL=80+30+5=115

となるわけです。

 

同様に、エラーも入れたほうが正しい式です。

Yi = 80 + X1i + 5*X2i + ei

 

OK!

ここまでが、基本の「き」でした。

 

 

Linear regressionについて解説【基本の「ほ」】

Linear regressionについて解説【基本の「ほ」】

では、linear modelの中身にちょっと入ってみましょう。

いきなりですが、eiを考えます。

これ、どういう性質を持つと思いますか?

 

eiの平均が100だったら、どう思いますか。

このモデル、「平均で100のエラーがある」ことを意味します。

恐ろしく精度が悪いですよね。

なので、理想はeiの平均は0です。

そして、実際eiを0にするようにβを決めるのが、linear regressionなのです!!

*ei、とiによる(人による)ので、参加者Aは5で参加者Bは-10かもしれません。平均したら0という意味です。

 

****

次に、「30歳男性」の分布を考えてみましょう。

Yi = 80 + X1i + 5*X2i + ei

このモデルでその人は、

Yi = 80 + 30 + 5 + ei

= 115 + ei

となります。

つまり、この「30歳男性」については、実際のLDLコレステロール値はeiで決定されるわけです。

 

例えば、あなたのデータに30歳男性が100人いたとしましょう。

彼らのLDLコレステロールの平均値は?

115のはずですよね。OK。

じゃ、その100人のLDLコレステロール値はどういう風に分布しててほしい?

・一人214、あと99人が114でもいい?

・全体的にバラけていてほしい?

 

もし前者だったら、その一人は絶対「別の何か大事な因子」がありますよね。

家族生高コレステロール血症だった、とか。

そしたら、その因子をモデルに入れる(もしくは除外する)ことなしで、正確なLDLコレステロール値の予測はできませんね。

つまり、今の「年齢+性別」のモデルは、ダメダメだということです。

ダメダメさは、eiに出てきます。

 

ダメダメでない時、、

そう、「30歳男性のLDLコレステロール値」の分布が、全体的にバラけていている時です。

全体的にバラけていている=正規分布している

という事になります。

 

つまりeiの理想的な性質とは:

年齢と性別が一定の時に、平均0かつ正規分布していること!

 

 

******

次に、これをかっこよく数式で表してみましょう!

e|X ~ N(0, σ2)

WoW!

・年齢と性別はX1とX2でした。「Xなんちゃら」をまとめて、Xとします。

*太字なのは「ベクター」といって、1行n列の行列です。ここでは1×2の行列(というより列のみ)で、X1, X2を表しているだけです。

「Xが定まった時のe」を、e|Xと表します。

*条件付き確率です。まさに、Xの場合のe、という意味です。

正規分布は、「〜N(平均、分散)」と書きます。

→NはNormal (distribution)の略。

→平均と分散が定まると、正規分布が書けます。

→平均は0、分散は何でも良いのでσ2と書きます。2乗なのは、標準偏差がσだから。

 

わかったでしょうか!?!?!

 

****

さらにさらに!

Yの性質を考えてみましょう。

いま、

Yi = 80 + X1i + 5*X2i + ei

でした。

逆説的ですが、「eiの分布」が決まると「Yiの分布」も決まりますよね。

だって、Xが定まる=「80 + X1i + 5*X2i」が一定の値となる、ということだから。

 

具体的には

Y|X ~ N(80 + X1i + 5*X2i, σ2)

となりますね。

モデルを当てはめて80とかを出す前の、βをつかって書き直すと:

Y|X ~ N(β0+ β1*X1+ β2*X2, σ2)

でした。

 

もう一歩、いきましょう。

これです。

Y|X ~ N(βT*X, σ2)

Wow!

Tってなんやねん!

「β0+ β1*X1+ β2*X2」という式、βiとXiのiが一致している事にお気づきでしょうか。

そういう風になるよう、βの最初をβ0としていたのでした。

ここで、X0=1と定義しましょう。

すると「β0+ β1*X1+ β2*X2」は、「β0*X0+ β1*X1+ β2*X2」となります。

 

つぎに、Xと同じように、βiもベクターにしてしまいましょう。

ベクターとは1×Nの行列でした。

だからβというのは、ここでは1×3の行列(β0, β3, β2)を意味します。

 

ここまでいったら、βXをかけたいですよね。そうすれば「β0*X0+ β1*X1+ β2*X2」のできあがり。

高校生に戻った気分で、行列の掛け算を思い出してみましょう。

1×3の行列と、1×3の行列、かけることってできるんでしたっけ?

できないんでした。

行列をかけ合わせるときは、A×Nと、N×B、というように、最初のおしりと次の頭の数が一緒の必要がありました。

だから、βの1×3を、ひっくり返して3×1にすればよい。

これは「逆行列」でしたね。

かっこよく書くと、βTなのです。

 

以上より、

Y|X ~ N(βT*X, σ2)

でした!

お疲れさまでした!

 

 

Linear regressionについて解説【基本の「ん」】

Linear regressionについて解説【基本の「ん」】

さあ、最後です。

linear regressionの根本、「どうやってβiを決めるか」。

ここに突っ込んでいきます。

 

直感的には、

・「Yi=βT*Xという式から求まるYiの値(これをYi’とします)」

・実際のYiの値

の2つの(距離の)差が、なるべく少なくなるようにしたい。

*実際は「Yiハット」(ハットはYiの上につく記号)として教科書に書いてありますが、ブログでどうやって書いたらいいのかわからないので、Yi’としました。

 

まさにその通り!

数式で書くと、

(Yi – Yi’)2

もしくは

(β0+ β1*X1+ β2*X2 – Yi’)2

を最小にしたい!

ということです。

 

でも変数がたくさんあって大変そう、、、、

ここで統計ソフトの出番、ということなのです。

 

*数式での解説もあります(maximum likelihood estimation)が、これを知ってもあまり実践的でないので省略することにしました。

 

 

Linear regressionの前提まとめ

最後に、linear regressionが前提とする事項です。

これの理解が実践で非常に大事なのです。

今までの解説がわかれば、すっと入ると思います。

5こ(も!)あります。

 

✔データが、ある母集団からのサンプルだ、ということ

・そもそもなぜlinear regressionをするか。それは、他の人のLDLコレステロール値を予測したいからです。

→今のデータが、対象としたい集団のサンプルであることは、その根本となる前提です。

 

✔Independence::Yiが互いに独立、ということ

・これは直感的に当たり前だし普通なりたつ(ある人のLDLコレステロール値が、他の人のコレステロール値に影響することはない)わけです。

・数式的には、上で省略したmaximum likelihood estimationの所で、likelihoodの値を計算する際に必要となるassumptionです。

 

✔Linearity:βがプラスの記号で結ばれている

意外にみんな知らない、線形モデルの「線形」ってなに?

・「linear」というのは、「プラスの記号で結ばれている」ことを意味します。

・なにが、というと意外にもXでなくβが、ということなのです。

・なので、例えばinteractionを検定したくて、X1*X2というものを式に入れてみます。「β0+β1*X1 +β2*X2 +β3*X1*X2」となります。

→X同士には「かける」があるのでlinearではありません。でも、βは「プラス」で繋がれています。linear modelです。

*「β1*X1 ÷β2*X2」みたいなモデルはlinearではありません。

 

✔Normality:Xの値が一定の時に、Yiは正規分布する

・上で述べた通りです。

・違う表現をすると、eiが正規分布をする、となります。

 

✔Homoscedasticity:eiの分散が一定の値

・最後に聞き慣れない単語ですが、そのまま「当分散性」という意味です。

30歳男性のeの分散、50歳女性のeの分散、・・・が全部同じ、ということです。

*eの平均は0でしたね

 

以上が「linear regressionのassumption」でした。

 

 

***********

いかがでしたか?

超大事です。

ではまた。

-疫学・臨床研究

Copyright© Riklog , 2020 All Rights Reserved Powered by AFFINGER5.