はるか
線形回帰はデータとモデルの関係を調べるための手法なんだけど、単回帰と多重線形回帰に分けられるよ。
ふゅか
そうだね!単回帰は説明変数が1つ、多重線形回帰は2つ以上の説明変数を使うの。例えば、身長と体重の関係を調べるときに単回帰を使えるわ。
1. 線形回帰とは
線形回帰は説明変数が一つの場合は線形単回帰、二つの場合は多重線形回帰(線形重回帰)と呼ばれます。
2. 線形単回帰
2.1. 線形単回帰のモデル
線形回帰のモデルは次のような形式で表されます。
y=β0+β1x+ϵ
ここで、
- y は目的変数(従属変数)
- x は説明変数(独立変数)
- β0 は切片(y軸と交わる点)
- β1 は傾き(回帰係数)
- ϵ は誤差項

2.2. 最小二乗法
線形回帰で最もよく使われる方法は、最小二乗法です。これは、観測データとモデルの予測値の差の二乗和を最小化することを目指します。
まず、観測データが (xi,yi) で与えられたとします。モデルの予測値は次のように表されます。
y^i=β0+β1xi
目的は、誤差の二乗和を最小にすることです。この誤差の二乗和は次のように表されます。
S(β0,β1)=i=1∑n(yi−y^i)2=i=1∑n(yi−(β0+β1xi))2
これを最小化するために、β0 と β1 についての偏微分をそれぞれ求めて、それらを 0 に設定します。β0 についての偏微分すると次のようになります。
∂β0∂S=−2i=1∑n(yi−β0−β1xi)
この偏微分を 0 にすると、
−2i=1∑n(yi−β0−β1xi)=0
i=1∑n(yi−β0−β1xi)=0
i=1∑nyi=nβ0+β1i=1∑nxi
次にβ1 についての偏微分すると次のようになります。
∂β1∂S=−2i=1∑nxi(yi−β0−β1xi)
この偏微分を 0 にすると、
−2i=1∑nxi(yi−β0−β1xi)=0
i=1∑nxi(yi−β0−β1xi)=0
i=1∑nxiyi=β0i=1∑nxi+β1i=1∑nxi2
これらの2つの方程式をまとめて解きます。
i=1∑nyi=nβ0+β1i=1∑nxi
i=1∑nxiyi=β0i=1∑nxi+β1i=1∑nxi2
ここで、xˉ=n1∑i=1nxi および yˉ=n1∑i=1nyi を平均値とすると、
nβ0=i=1∑nyi−β1i=1∑nxi
β0=yˉ−β1xˉ
次に、β1 に対して解きます。まず、β0 を代入します。
i=1∑nxiyi=(yˉ−β1xˉ)i=1∑nxi+β1i=1∑nxi2
i=1∑nxiyi=yˉi=1∑nxi−β1xˉi=1∑nxi+β1i=1∑nxi2
i=1∑nxiyi−yˉi=1∑nxi=β1(i=1∑nxi2−xˉi=1∑nxi)
(i=1∑nxiyi)−nxˉyˉ=β1((i=1∑nxi2 )−nxˉ2 )
i=1∑n(xiyi−xˉyˉ) =β1 i=1∑n(xi2−xˉ2 )
i=1∑n(xi−xˉ)(yi−yˉ)=β1i=1∑n(xi−xˉ)2
最終的に、β1 は以下のようになります。
β1=∑i=1n(xi−xˉ)2∑i=1n(xi−xˉ)(yi−yˉ)
β0 にβ1を代入すると、
β0=yˉ−β1xˉ
これで、最小二乗法によって単回帰分析の傾きと切片を求めることができました。
3. 多重線形回帰
ふゅか
はるか
3.1. 多重線形回帰のモデル
多重線形回帰では、目的変数
Y を複数の説明変数
X1,X2,…,Xn を使ってモデル化します。
Y=β0+β1X1+β2X2+⋯+βnXn+ε
ここで、
- Y は目的変数(従属変数)
- X1,X2,…,Xn は説明変数(独立変数)
- β0 は切片(定数項)
- β1,β2,…,βn は各説明変数に対応する回帰係数
- ε は誤差項
3.2. 行列表記
多重線形回帰を行列の形式で表すことができます。
Y=Xβ+ε
3.3. 多重線形回帰の係数の導出
最小二乗法による係数ベクトルの推定値
β^ は次のように求められます。
β^=(X⊤X)−1X⊤Y
最小二乗法による多重線形回帰の係数 β^ の導出を行います。最小二乗法では、誤差の二乗和を最小化することで、回帰係数を求めます。以下の手順で導出します。最小二乗法では、観測値 Y とモデルの予測値 Xβ の差の二乗和を最小化します。
S(β)=i=1∑n(yi−y^i)2=(Y−Xβ)⊤(Y−Xβ)
誤差の二乗和を展開します。
S(β)=(Y−Xβ)⊤(Y−Xβ)
=Y⊤Y−2β⊤X⊤Y+β⊤X⊤Xβ
この S(β) を β に関して最小化するために、ベクトルβ について微分し、ゼロと置きます。
∂β∂S(β)=−2X⊤Y+2X⊤Xβ=0
上記の式を整理すると、以下のようになります。
X⊤Xβ=X⊤Y
ここで、X⊤X が正則(逆行列が存在)であると仮定します。 β を求めます。
β=(X⊤X)−1X⊤Y