データ分析入門第8 -  · データ分析入門第8回 (2016年11月29日) 4...

49
データ分析入門 第 8 (2016 11 29 ) データ分析入門 第 8 回帰分析と最小二乗法 京都大学 大学院情報学研究科 数理工学専攻/高度情報教育基盤コア 關戸 啓人

Upload: others

Post on 15-Oct-2019

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: データ分析入門第8 -  · データ分析入門第8回 (2016年11月29日) 4 回帰曲線と回帰分析3 多変量解析— 回帰分析と最小二乗法 ただし,推定した結果,aが明らかに正であるからと言って,朝食を食べる

データ分析入門第8回 (2016年11月29日) –

データ分析入門第8回

回帰分析と最小二乗法

京都大学大学院情報学研究科数理工学専攻/高度情報教育基盤コア

關戸啓人

Page 2: データ分析入門第8 -  · データ分析入門第8回 (2016年11月29日) 4 回帰曲線と回帰分析3 多変量解析— 回帰分析と最小二乗法 ただし,推定した結果,aが明らかに正であるからと言って,朝食を食べる

データ分析入門第8回 (2016年11月29日) 1

多変量解析—回帰分析と最小二乗法

Page 3: データ分析入門第8 -  · データ分析入門第8回 (2016年11月29日) 4 回帰曲線と回帰分析3 多変量解析— 回帰分析と最小二乗法 ただし,推定した結果,aが明らかに正であるからと言って,朝食を食べる

データ分析入門第8回 (2016年11月29日) 2

 回帰曲線と回帰分析 1  多変量解析—回帰分析と最小二乗法

 2つの確率変数XとY を考える.X = xという条件下でのY の平均

E[Y |X = x]をxの関数と思ったとき,それを回帰曲線という.

回帰分析とは,大雑把に言えば,回帰曲線を推定することにより,2つの確率

変数XとY の関係を調べること,である.特に,E[Y |X = x]を推定するとき

は,Xは説明変数で,Y は目的変数である.つまり,Y がどのような値を取る

かはXによって定まる,と考えている.

説明変数は複数あっても良い.説明変数がX1, X2, . . . , Xnで,

E[Y |X1 = x1, X2 = x2, . . . , Xn = xn]を考えても良い.説明変数が1個の場合を単

回帰分析,複数の場合を重回帰分析という.

 

Page 4: データ分析入門第8 -  · データ分析入門第8回 (2016年11月29日) 4 回帰曲線と回帰分析3 多変量解析— 回帰分析と最小二乗法 ただし,推定した結果,aが明らかに正であるからと言って,朝食を食べる

データ分析入門第8回 (2016年11月29日) 3

 回帰曲線と回帰分析 2  多変量解析—回帰分析と最小二乗法

 例えば,小学生を対象に,Xを朝食を食べる割合,Yでテストの点数とすれ

ば,回帰分析で,これらの関係がわかるであろう.多くの場合は,

  E[Y |X = x] = ax +b (a, b ∈R)

という関係を仮定する,もしくは,

  E[Y |X = x] = ax +b +ε (a, b ∈R)

として,誤差項(Xだけでは説明できない部分)εをできるだけ小さくするよ

うにa, bを決めることが多い.

重回帰分析の場合は,

  E[Y |Xk = xk] =n∑

k=1ak xk +b +ε (ak , b ∈R)

とする場合が多い.勿論,もっと複雑な式を考えることもある.

 

Page 5: データ分析入門第8 -  · データ分析入門第8回 (2016年11月29日) 4 回帰曲線と回帰分析3 多変量解析— 回帰分析と最小二乗法 ただし,推定した結果,aが明らかに正であるからと言って,朝食を食べる

データ分析入門第8回 (2016年11月29日) 4

 回帰曲線と回帰分析 3  多変量解析—回帰分析と最小二乗法

 ただし,推定した結果,aが明らかに正であるからと言って,朝食を食べる

ことが直接テストの点数を上げるとは限らない.例えば,食生活をきちんと

躾けていれば,朝食を食べる割合が高くなり,テストの点数も良い傾向にあ

り,朝食を食べたからといってテストの点数が上がるわけではないかもしれ

ない.

aが0か,正か,負かのみが重要な場合もあるが,そのようなときは,検定な

どを用いれば良い.他にも,a, bを推定した後,ε(残差)がどのようになっ

ているか調べ,E[Y |X = x]の式の形を修正するなどを考えることも必要かも

しれない.今回は,どうやって,関数E[Y |X = x]を推定するかについて述べ

る.多くの場合は,最小二乗法を用いる.

 

Page 6: データ分析入門第8 -  · データ分析入門第8回 (2016年11月29日) 4 回帰曲線と回帰分析3 多変量解析— 回帰分析と最小二乗法 ただし,推定した結果,aが明らかに正であるからと言って,朝食を食べる

データ分析入門第8回 (2016年11月29日) 5

 最小二乗法の概要  多変量解析—回帰分析と最小二乗法

 未知な関数を得られたデータから推定したい.

今回は特に未知関数が1変数関数の時を考える(2変数以上を考える場合は,

以下でxはベクトルだと思えば良い).この時,大雑把に言うと

未知関数 f (x)の形はわかっていて,未知パラメータを含む形で書かれる

データ(x j , y j )は f (x j )での値が y jであることを「示唆」する

データは厳密に「正しい」訳ではない.つまり厳密に f (x j ) = y jとは限ら

ない(測定誤差などが含まれている)

という状況で,未知関数を推定する.

 

Page 7: データ分析入門第8 -  · データ分析入門第8回 (2016年11月29日) 4 回帰曲線と回帰分析3 多変量解析— 回帰分析と最小二乗法 ただし,推定した結果,aが明らかに正であるからと言って,朝食を食べる

データ分析入門第8回 (2016年11月29日) 6

 最小二乗法の例 (その1)  多変量解析—回帰分析と最小二乗法

f (x) = θ1x +θ0

 

Page 8: データ分析入門第8 -  · データ分析入門第8回 (2016年11月29日) 4 回帰曲線と回帰分析3 多変量解析— 回帰分析と最小二乗法 ただし,推定した結果,aが明らかに正であるからと言って,朝食を食べる

データ分析入門第8回 (2016年11月29日) 6

最小二乗法の例 (その1)多変量解析—回帰分析と最小二乗法

f (x) = 0.8x +1.2

 

Page 9: データ分析入門第8 -  · データ分析入門第8回 (2016年11月29日) 4 回帰曲線と回帰分析3 多変量解析— 回帰分析と最小二乗法 ただし,推定した結果,aが明らかに正であるからと言って,朝食を食べる

データ分析入門第8回 (2016年11月29日) 7

 最小二乗法の例 (その2)  多変量解析—回帰分析と最小二乗法

f (x) = θ3x3+θ2x2+θ1x +θ0

 

Page 10: データ分析入門第8 -  · データ分析入門第8回 (2016年11月29日) 4 回帰曲線と回帰分析3 多変量解析— 回帰分析と最小二乗法 ただし,推定した結果,aが明らかに正であるからと言って,朝食を食べる

データ分析入門第8回 (2016年11月29日) 7

最小二乗法の例 (その2)多変量解析—回帰分析と最小二乗法

f (x) = 0.3x3−0.5x2−2.7x +2.1

 

Page 11: データ分析入門第8 -  · データ分析入門第8回 (2016年11月29日) 4 回帰曲線と回帰分析3 多変量解析— 回帰分析と最小二乗法 ただし,推定した結果,aが明らかに正であるからと言って,朝食を食べる

データ分析入門第8回 (2016年11月29日) 8

 最小二乗法の例 (その3)  多変量解析—回帰分析と最小二乗法

f (x) = θ2x2+θ1x +θ0

x +θ3

 

Page 12: データ分析入門第8 -  · データ分析入門第8回 (2016年11月29日) 4 回帰曲線と回帰分析3 多変量解析— 回帰分析と最小二乗法 ただし,推定した結果,aが明らかに正であるからと言って,朝食を食べる

データ分析入門第8回 (2016年11月29日) 8

最小二乗法の例 (その3)多変量解析—回帰分析と最小二乗法

f (x) = 2.1x2−13.1x +3.1

x +12.0

 

Page 13: データ分析入門第8 -  · データ分析入門第8回 (2016年11月29日) 4 回帰曲線と回帰分析3 多変量解析— 回帰分析と最小二乗法 ただし,推定した結果,aが明らかに正であるからと言って,朝食を食べる

データ分析入門第8回 (2016年11月29日) 9

 最小二乗法の例  多変量解析—回帰分析と最小二乗法

その1: 直線で近似する場合

f (x) = θ0+θ1x

(単純な)単回帰分析

その2: 未知関数がパラメータについて線形(線形最小二乗法)

f (x) = θ0 f0(x)+θ1 f1(x)+·· ·+θm−1 fm−1(x)

(単純な)重回帰分析,以下では主にこれを説明する

その3: 未知関数がパラメータについて非線形(非線形最小二乗法)

f (x) = f (x ;θ0,θ1, . . . ,θm−1)

複雑な式の形を指定した場合,解く場合は最適化の理論を用いる

 

Page 14: データ分析入門第8 -  · データ分析入門第8回 (2016年11月29日) 4 回帰曲線と回帰分析3 多変量解析— 回帰分析と最小二乗法 ただし,推定した結果,aが明らかに正であるからと言って,朝食を食べる

データ分析入門第8回 (2016年11月29日) 10

 回帰モデルの例 (1) —単回帰モデル  多変量解析—回帰分析と最小二乗法

体重を意味する確率変数をW

身長を意味する確率変数をH

モデル:W = θ1H +θ0+ε

データは,例えば体重 (kg) 身長 (cm)

A氏 56.8 163.3B氏 52.1 160.2C氏 52.6 158.0D氏 23.4 129.0E氏 32.1 139.7F氏 40.6 141.4

 

Page 15: データ分析入門第8 -  · データ分析入門第8回 (2016年11月29日) 4 回帰曲線と回帰分析3 多変量解析— 回帰分析と最小二乗法 ただし,推定した結果,aが明らかに正であるからと言って,朝食を食べる

データ分析入門第8回 (2016年11月29日) 11

 回帰モデルの例 (2-1) —重回帰モデル  多変量解析—回帰分析と最小二乗法

体重を意味する確率変数をW

身長を意味する確率変数をH

モデル:W = θ2H 2+θ1H +θ0+ε

データは,例えば体重 (kg) 身長 (cm) 身長2(cm2)

A氏 56.8 163.3 26666.89B氏 52.1 160.2 25664.04C氏 52.6 158.0 24964.00D氏 23.4 129.0 16641.00E氏 32.1 139.7 19516.09F氏 40.6 141.4 19993.96

 

Page 16: データ分析入門第8 -  · データ分析入門第8回 (2016年11月29日) 4 回帰曲線と回帰分析3 多変量解析— 回帰分析と最小二乗法 ただし,推定した結果,aが明らかに正であるからと言って,朝食を食べる

データ分析入門第8回 (2016年11月29日) 12

 回帰モデルの例 (2-2) —重回帰モデル  多変量解析—回帰分析と最小二乗法

体重をW,身長H,体脂肪率をF,性別をS

性別は女性を1,男性を0で表す

モデル:W = θ3H +θ2F +θ1S +θ0+ε

データは,例えば体重 (kg) 身長 (cm) 体脂肪率 (%) 性別

A氏 56.8 163.3 14.3 0B氏 52.1 160.2 15.3 0C氏 52.6 158.0 21.2 1D氏 23.4 129.0 13.3 1E氏 32.1 139.7 16.8 0F氏 40.6 141.4 19.6 1

 

Page 17: データ分析入門第8 -  · データ分析入門第8回 (2016年11月29日) 4 回帰曲線と回帰分析3 多変量解析— 回帰分析と最小二乗法 ただし,推定した結果,aが明らかに正であるからと言って,朝食を食べる

データ分析入門第8回 (2016年11月29日) 13

 線形最小二乗法の定義,および,性質 1  多変量解析—回帰分析と最小二乗法

 線形回帰モデルは

   Y =m−1∑k=0

θk fk(x)+ε= f (x ,θ)+ε

で表され,

fk(x)は既知の関数

θkは未知のパラメータ,θ = (θ0,θ1, . . . ,θm−1)T

εは確率変数で平均0(E[ε] = 0)

を意味する.今,n個のデータを

    y j = f (x j ,θ)+ε j , j = 1, 2, . . . , n

で書く.理論を考える上では,y j ,ε jは確率変数.

 

Page 18: データ分析入門第8 -  · データ分析入門第8回 (2016年11月29日) 4 回帰曲線と回帰分析3 多変量解析— 回帰分析と最小二乗法 ただし,推定した結果,aが明らかに正であるからと言って,朝食を食べる

データ分析入門第8回 (2016年11月29日) 14

 線形最小二乗法の定義,および,性質 2  多変量解析—回帰分析と最小二乗法

 n個のデータ

    y j = f (x ,θ)+ε j , j = 1, 2, . . . , n

 今回は,誤差ε jに対して以下の仮定を置く

平均は0.つまり,E[ε j ] = 0

誤差の分散は等しく,正.つまり,V[ε j ] =σ2 > 0

誤差は互いに独立.つまり,E[εiε j ] = 0, i ̸= j

このとき,

   S(β) =n∑

j=1(y j − f (x j ,β))2

を最小化するβを最小二乗推定量 θ̂と言う.

 

Page 19: データ分析入門第8 -  · データ分析入門第8回 (2016年11月29日) 4 回帰曲線と回帰分析3 多変量解析— 回帰分析と最小二乗法 ただし,推定した結果,aが明らかに正であるからと言って,朝食を食べる

データ分析入門第8回 (2016年11月29日) 14

線形最小二乗法の定義,および,性質 2 (補足)多変量解析—回帰分析と最小二乗法

 n個のデータ

    y j = f (x ,θ)+ε j , j = 1, 2, . . . , n

 今回は,誤差ε jに対して以下の仮定を置く

平均は0.つまり,E[ε j ] = 0

誤差の分散は等しくない場合.つまり,V[ε j ] =σ2j > 0

誤差は互いに独立.つまり,E[εiε j ] = 0, i ̸= j

このとき,

   S(β) =n∑

j=1

(y j − f (x j ,β))2

σ2j

を最小化するβを最小二乗推定量 θ̂と言う.(この場合も以降の議論はだいたい成り立つ)

 

Page 20: データ分析入門第8 -  · データ分析入門第8回 (2016年11月29日) 4 回帰曲線と回帰分析3 多変量解析— 回帰分析と最小二乗法 ただし,推定した結果,aが明らかに正であるからと言って,朝食を食べる

データ分析入門第8回 (2016年11月29日) 15

 絵で見る最小二乗法  多変量解析—回帰分析と最小二乗法

緑の線の長さの二乗和を最小化するように,未知パラメータθを推定する

 

Page 21: データ分析入門第8 -  · データ分析入門第8回 (2016年11月29日) 4 回帰曲線と回帰分析3 多変量解析— 回帰分析と最小二乗法 ただし,推定した結果,aが明らかに正であるからと言って,朝食を食べる

データ分析入門第8回 (2016年11月29日) 16

 線形最小二乗法の定義,および,性質 3  多変量解析—回帰分析と最小二乗法

 最小二乗推定量 θ̂は,最良線形不偏推定量である.

E[θ̂] = θ(不偏)

θ̂は,y jについて線形の式で書ける(線形)

その中で,分散がある意味で最小(最良) Cov[β]−Cov[θ̂]が非負定値

 誤差εが正規分布に従うとき,最小二乗推定量 θ̂は,最尤推定量である.つ

まり,x1, . . . , xnを固定して,測定結果として y1, . . . , ynが得られる確率をθの

関数として考えた時,その確率の値が最大となるのがθ = θ̂の時である.

 

Page 22: データ分析入門第8 -  · データ分析入門第8回 (2016年11月29日) 4 回帰曲線と回帰分析3 多変量解析— 回帰分析と最小二乗法 ただし,推定した結果,aが明らかに正であるからと言って,朝食を食べる

データ分析入門第8回 (2016年11月29日) 17

 最小二乗法推定量 (その1)  多変量解析—回帰分析と最小二乗法

   S(β) =n∑

j=1(y j − f (x j ,β))2

を最小化したいのだから,β0,β1, . . . ,βm−1で偏微分して0になるβを見つけれ

ば良い.

f (x ,β) =β1x +β0の場合

   S(β) =n∑

j=1(y j −β1x j −β0)2

であるから,

 

Page 23: データ分析入門第8 -  · データ分析入門第8回 (2016年11月29日) 4 回帰曲線と回帰分析3 多変量解析— 回帰分析と最小二乗法 ただし,推定した結果,aが明らかに正であるからと言って,朝食を食べる

データ分析入門第8回 (2016年11月29日) 18

 最小二乗法推定量 (その1)  多変量解析—回帰分析と最小二乗法

   ∂

∂β1S(β) = 2

n∑j=1

(x2j β1+x jβ0−x j y j ) = 0

   ∂

∂β0S(β) = 2

n∑j=1

(x jβ1+β0− y j ) = 0

つまり

   

(∑x2

j∑

x j∑x j n

)(β1β0

)=

(∑x j y j∑

y j

)を解けば良い.

   β1 = n∑

x j y j−∑

x j∑

y j

n∑

x2j −(

∑x j )2

   β0 =∑

x2j∑

y j−∑

x j y j∑

x j

n∑

x2j −(

∑x j )2

 

Page 24: データ分析入門第8 -  · データ分析入門第8回 (2016年11月29日) 4 回帰曲線と回帰分析3 多変量解析— 回帰分析と最小二乗法 ただし,推定した結果,aが明らかに正であるからと言って,朝食を食べる

データ分析入門第8回 (2016年11月29日) 19

 最小二乗法推定量 (その2)  多変量解析—回帰分析と最小二乗法

   S(β) =n∑

j=1(y j − f (x j ,β))2

β0,β1, . . . ,βm−1で偏微分して0になるβを見つける.

f (x ,β) =β0 f0(x)+β1 f1(x)+·· ·+βm−1 fm−1(x)の場合

   S(β) =n∑

j=1

(y j −

m−1∑k=0

βk fk(x j )

)2

であるから,

   ∂

∂βiS(β) = 2

n∑j=1

fi (x j )

((m−1∑k=0

fk(x j )βk

)− y j

)= 0

 

Page 25: データ分析入門第8 -  · データ分析入門第8回 (2016年11月29日) 4 回帰曲線と回帰分析3 多変量解析— 回帰分析と最小二乗法 ただし,推定した結果,aが明らかに正であるからと言って,朝食を食べる

データ分析入門第8回 (2016年11月29日) 20

 正規方程式  多変量解析—回帰分析と最小二乗法

 これをBβ= bと書くと (B ∈ Mm(R), b ∈Rm)

   Bi j =n∑

k=1fi (xk) f j (xk)

   bi =n∑

k=1fi (xk)yk

となる.行列Bがフルランクであれば,最小二乗推定量が一意に定まる.

Bβ= bは正規方程式と呼ばれる.

数値計算する際は,この方程式を直接解くよりも高精度な方法が存在する.

 

Page 26: データ分析入門第8 -  · データ分析入門第8回 (2016年11月29日) 4 回帰曲線と回帰分析3 多変量解析— 回帰分析と最小二乗法 ただし,推定した結果,aが明らかに正であるからと言って,朝食を食べる

データ分析入門第8回 (2016年11月29日) 21

 正規方程式  多変量解析—回帰分析と最小二乗法

 行列A ∈ Mn,m(R)を

   Ai j = f j (xi ) = ∂∂β j

f (xi ) (ヤコビアン,データ行列)

で定義すると,

   B = ATA

   b = ATy

であるから,正規方程式は

   ATAβ= ATy (yは (y1, . . . , yn)T)

と書きなおされる.最小二乗推定量は

    θ̂ = (ATA)−1 ATy

 

Page 27: データ分析入門第8 -  · データ分析入門第8回 (2016年11月29日) 4 回帰曲線と回帰分析3 多変量解析— 回帰分析と最小二乗法 ただし,推定した結果,aが明らかに正であるからと言って,朝食を食べる

データ分析入門第8回 (2016年11月29日) 22

 回帰モデルの例 (1) —単回帰モデル  多変量解析—回帰分析と最小二乗法

モデル:W = θ1H +θ0+ε

データは,例えば体重 (kg) 身長 (cm)

A氏 56.8 163.3B氏 52.1 160.2C氏 52.6 158.0D氏 23.4 129.0E氏 32.1 139.7F氏 40.6 141.4

A =

1 163.31 160.21 158.01 129.01 139.71 141.4

, y =

56.852.152.623.432.140.6

 

Page 28: データ分析入門第8 -  · データ分析入門第8回 (2016年11月29日) 4 回帰曲線と回帰分析3 多変量解析— 回帰分析と最小二乗法 ただし,推定した結果,aが明らかに正であるからと言って,朝食を食べる

データ分析入門第8回 (2016年11月29日) 23

 回帰モデルの例 (2-1) —重回帰モデル  多変量解析—回帰分析と最小二乗法

モデル:W = θ2H 2+θ1H +θ0+ε

データは,例えばwi hi h2

iA氏 56.8 163.3 26666.89B氏 52.1 160.2 25664.04C氏 52.6 158.0 24964.00D氏 23.4 129.0 16641.00E氏 32.1 139.7 19516.09F氏 40.6 141.4 19993.96

A =

1 163.3 26666.891 160.2 25664.041 158.0 24964.001 129.0 16641.001 139.7 19516.091 141.4 19993.96

, y =

56.852.152.623.432.140.6

 

Page 29: データ分析入門第8 -  · データ分析入門第8回 (2016年11月29日) 4 回帰曲線と回帰分析3 多変量解析— 回帰分析と最小二乗法 ただし,推定した結果,aが明らかに正であるからと言って,朝食を食べる

データ分析入門第8回 (2016年11月29日) 24

 回帰モデルの例 (2-2) —重回帰モデル  多変量解析—回帰分析と最小二乗法

モデル:W = θ3H +θ2F +θ1S +θ0+ε

データは,例えばwi hi fi si

A氏 56.8 163.3 14.3 0B氏 52.1 160.2 15.3 0C氏 52.6 158.0 21.2 1D氏 23.4 129.0 13.3 1E氏 32.1 139.7 16.8 0F氏 40.6 141.4 19.6 1

A =

1 0 14.3 163.31 0 15.3 160.21 1 21.2 158.01 1 13.3 129.01 0 16.8 139.71 1 19.6 141.4

, y =

56.852.152.623.432.140.6

 

Page 30: データ分析入門第8 -  · データ分析入門第8回 (2016年11月29日) 4 回帰曲線と回帰分析3 多変量解析— 回帰分析と最小二乗法 ただし,推定した結果,aが明らかに正であるからと言って,朝食を食べる

データ分析入門第8回 (2016年11月29日) 25

  QR分解を用いて解く  多変量解析—回帰分析と最小二乗法

 行列AをQR分解できたとして

   A =QR

とする.ただし,Q ∈ Mn,m(R)は列ベクトルが長さ1で互いに直交し,

R ∈ Mm(R)は正則な上三角行列である.このとき,正規方程式は,

   ATAβ= ATy

   (QR)TQRβ= (QR)Ty

   RTQTQRβ= RTQTy

   RTRβ= RTQTy (QTQ = I )

   Rβ=QTy (RTは正則)

となり,Rは上三角行列であるから,これは簡単に解ける.

 

Page 31: データ分析入門第8 -  · データ分析入門第8回 (2016年11月29日) 4 回帰曲線と回帰分析3 多変量解析— 回帰分析と最小二乗法 ただし,推定した結果,aが明らかに正であるからと言って,朝食を食べる

データ分析入門第8回 (2016年11月29日) 26

 行列Aが列フルランクでない場合  多変量解析—回帰分析と最小二乗法

 行列Aが列フルランクでない場合は,最小二乗推定量は一意に定まらない.

そこで,最小二乗推定量の中で,∥β∥2を最小とするものを求めることが多い.

ただし,∥β∥2 = ∥β∥ =√

β20+β2

1+·· ·β2m−1 =

√βTβ

結論を言うと,AのMoore–Penroseの一般逆行列をA+と書くと,

   β= A+y = R+QTy

を求めれば良いことがわかる.

これは,特異値分解を用いることによって計算できる.(完全ピポット選択付

きQRと直交変換を用いた高速な方法などもある)

 

Page 32: データ分析入門第8 -  · データ分析入門第8回 (2016年11月29日) 4 回帰曲線と回帰分析3 多変量解析— 回帰分析と最小二乗法 ただし,推定した結果,aが明らかに正であるからと言って,朝食を食べる

データ分析入門第8回 (2016年11月29日) 27

 行列Aが列フルランクでない場合  多変量解析—回帰分析と最小二乗法

正則でなくても,長方行列でも良い行列 A ∈ Mmn(R)に対して,AX A = A

を満たす行列 X ∈ Mnm(R)を一般逆行列といい A− で表す

A− は必ず存在し,一般的には A− は一意ではなく複数存在する

連立一次方程式 Ax = bの解の一つは,存在するならば x = A−b と書

ける

連立一次方程式Ax = bの解は,存在するならば,任意のベクトル y を

用いて x = A−b + (I − A−A)y と書ける

連立一次方程式Ax = bは(I − A A−)b = 0ならば解が存在する

 

Page 33: データ分析入門第8 -  · データ分析入門第8回 (2016年11月29日) 4 回帰曲線と回帰分析3 多変量解析— 回帰分析と最小二乗法 ただし,推定した結果,aが明らかに正であるからと言って,朝食を食べる

データ分析入門第8回 (2016年11月29日) 28

 行列Aが列フルランクでない場合  多変量解析—回帰分析と最小二乗法

正則でなくても,長方行列でも良い行列 A ∈ Mmn(R) に対して,AX A =A, X AX = X , (AX )T = AX , (X A)T = X Aを満たす行列 X ∈ Mnm(R)をMoore–

Penroseの一般逆行列といい A+ で表す

A+ は必ず存在し,一意である

連立一次方程式 Ax = bの解が存在するならば,その中で ∥x∥2 が最小

となるものは x = A+b となる

連立一次方程式 Ax = bの解が存在しなければ,∥Ax −b∥2 が最小とす

るのは x = A+b となる

 

Page 34: データ分析入門第8 -  · データ分析入門第8回 (2016年11月29日) 4 回帰曲線と回帰分析3 多変量解析— 回帰分析と最小二乗法 ただし,推定した結果,aが明らかに正であるからと言って,朝食を食べる

データ分析入門第8回 (2016年11月29日) 29

演習:回帰分析と最小二乗法

Page 35: データ分析入門第8 -  · データ分析入門第8回 (2016年11月29日) 4 回帰曲線と回帰分析3 多変量解析— 回帰分析と最小二乗法 ただし,推定した結果,aが明らかに正であるからと言って,朝食を食べる

データ分析入門第8回 (2016年11月29日) 30

  Excelを用いた回帰分析  演習:回帰分析と最小二乗法

 身長と体重の関係を調べよう.

6-1.xlsxに100人分の身長と体重のデータがある.性別のデータもある.

まずは,身長 = a ×体重 +b +誤差というモデルでa, bを求めてみよう.

100人分のデータはプロットしており,平方残差,平方残差の和などは自動的

に計算される.(このExcelデータの作り方は講義中に軽く述べる)

注意:データは京都府統計なび・学校保健統計調査

http://www.pref.kyoto.jp/t-ptl/tname/k070.htmlの京都府の幼稚園~高等学

校の学生の統計データを参考に生成したもので,実際のものではありません.

 

Page 36: データ分析入門第8 -  · データ分析入門第8回 (2016年11月29日) 4 回帰曲線と回帰分析3 多変量解析— 回帰分析と最小二乗法 ただし,推定した結果,aが明らかに正であるからと言って,朝食を食べる

データ分析入門第8回 (2016年11月29日) 31

  Excelを用いた回帰分析  演習:回帰分析と最小二乗法

 回帰分析を行う際は,前回ヒストグラムを生成するときに用いた,アドイ

ンのデータ分析の中にある回帰分析を用いる.

  入力Y範囲に身長のデータの区間B2:B101

  入力X範囲に体重のデータの区間C2:C101

を入力して,後々のために,残差グラフの作成,正規確率グラフの作成にチェッ

クを入れる.定数に0を使用のチェックが外れていることを確認して,OKを

押す.

切片の係数B17にbの値が,X値1の係数B18にaの値が書かれる.また,残

差の平方和はC13に書かれている.セルの座標はExcel 2010の場合である.

 

Page 37: データ分析入門第8 -  · データ分析入門第8回 (2016年11月29日) 4 回帰曲線と回帰分析3 多変量解析— 回帰分析と最小二乗法 ただし,推定した結果,aが明らかに正であるからと言って,朝食を食べる

データ分析入門第8回 (2016年11月29日) 32

  Excelを用いた回帰分析  演習:回帰分析と最小二乗法

 実際に,a, bの値を,先ほどのワークシートに入力して,残差の平方和が一

致するか確かめてみよ.また,a, bの値を色々入れてみて,残差の平方和が,

求められた最小値より小さくなることがないことを確かめてみよ.

その他の項目をいくつか簡単に説明すると,

回帰の有意F:

値が小さくないと,その回帰モデルは意味が無いかもしれない

X値のP-値:

値が小さくないと,その変数は要らないかもしれない(係数は0かも)

補正R2:

そのモデルで記述できる割合みたいなもの

 

Page 38: データ分析入門第8 -  · データ分析入門第8回 (2016年11月29日) 4 回帰曲線と回帰分析3 多変量解析— 回帰分析と最小二乗法 ただし,推定した結果,aが明らかに正であるからと言って,朝食を食べる

データ分析入門第8回 (2016年11月29日) 33

  Excelを用いた回帰分析  演習:回帰分析と最小二乗法

 残差のグラフを見てみると,真ん中が膨らんでいる形のようにも見える(モ

デルを改善できるかも)が,だいたいXの値に関係なくばらけている(この

モデルでうまく説明できている)ようにみえる.

今度は,別の方法でa, bを求めてみよう.Excelには,最適化問題を解くソル

バーが用意されているのでそれを用いていみよう.まず,前回分析ツールの

アドインを有効化したのと同様に,ファイル,オプション,アドイン,設定

からソルバーアドインを有効化する.そして,データ,分析の欄(分析ツール

の近く)から,ソルバーを立ち上げる.

 

Page 39: データ分析入門第8 -  · データ分析入門第8回 (2016年11月29日) 4 回帰曲線と回帰分析3 多変量解析— 回帰分析と最小二乗法 ただし,推定した結果,aが明らかに正であるからと言って,朝食を食べる

データ分析入門第8回 (2016年11月29日) 34

  Excelを用いた回帰分析  演習:回帰分析と最小二乗法

 目的セルの欄には最小化したいセルG5を,変数セルの欄には変数のセル

G2:G3を入力する.目標値は最小値を選ぶ.制約条件はないので何も入力せ

ず,制約のない変数を非負数にするというチェックを外す.後は,解決を押す

と,最適化問題を解いてくれる.

最適化ソルバーを用いた方が汎用的である.非線形最小二乗法でも解けるか

もしれない.しかし,問題によっては,精度が良くない,精度の設定が難し

い,遅い,局所解に陥って最適値が求まっていないかもしれない,などとい

うことがあるかもしれない.

 

Page 40: データ分析入門第8 -  · データ分析入門第8回 (2016年11月29日) 4 回帰曲線と回帰分析3 多変量解析— 回帰分析と最小二乗法 ただし,推定した結果,aが明らかに正であるからと言って,朝食を食べる

データ分析入門第8回 (2016年11月29日) 35

  Excelを用いた回帰分析  演習:回帰分析と最小二乗法

 次はモデルを変更して重回帰分析をしてみよう.性別は男を−1,女を1と

いう数で表すとする.

  身長= a ×体重+b ×性別+c +誤差というモデルで重回帰分析してみよ.

また,残差が真ん中が膨らんでいたのが気になる.単位を考えると体重は身

長の3乗の影響がある気がするし,よく肥満の基準として用いられるBMIは

体重は身長の2乗に関係していることを示唆している.そこで,

  体重= a ×身長3+b ×身長2+c ×身長+d +誤差として重回帰分析してみよ.

 

Page 41: データ分析入門第8 -  · データ分析入門第8回 (2016年11月29日) 4 回帰曲線と回帰分析3 多変量解析— 回帰分析と最小二乗法 ただし,推定した結果,aが明らかに正であるからと言って,朝食を食べる

データ分析入門第8回 (2016年11月29日) 36

  Excelを用いた回帰分析  演習:回帰分析と最小二乗法

 データは

  6-1a.xlsx : 100人分のデータ

  6-1b.xlsx : 10000人分のデータ

  6-1c.xlsx : 1000000人分のデータ

がある.また,拡張子が.txtのテキストデータもある.

ヒント:重回帰分析するときは,入力X範囲に複数の列を指定すれば良い.た

だし,Excel 2010では,連続する列しか入力を受け付けない.また,17列以

上指定することはできない.

 

Page 42: データ分析入門第8 -  · データ分析入門第8回 (2016年11月29日) 4 回帰曲線と回帰分析3 多変量解析— 回帰分析と最小二乗法 ただし,推定した結果,aが明らかに正であるからと言って,朝食を食べる

データ分析入門第8回 (2016年11月29日) 37

 (補足)Excelの回帰分析の見方  演習:回帰分析と最小二乗法

 定数項のある場合の重回帰分析を考える.つまり,

Y = θ0+θ1X1+θ2X2+·· ·+θm Xm +ε

を考える.ここで,特に,値の変化に着目する.つまり,X1がこれぐらい大きくなったからY がこれぐらい大きくなったとか,X2がこれぐらい小さくなったからY がこれぐらい大きくなったなど,相対的な値の変化に着目し,絶対的な値にはさほど興味が無いという状況を考える.そこで,各確率変数を平均からのズレY −E[Y ],Xk −E[Xk ]に着目し式を変形すると,

Y −E[Y ] =m∑

k=1θk (Xk −E[Xk ])+θ0+

m∑k=1

θk E[Xk ]−E[Y ]+ε

となるが,両辺の平均は0であるから,

θ0+m∑

k=1θk E[Xk ]−E[Y ] = 0

となり,考えるモデルは

 

Page 43: データ分析入門第8 -  · データ分析入門第8回 (2016年11月29日) 4 回帰曲線と回帰分析3 多変量解析— 回帰分析と最小二乗法 ただし,推定した結果,aが明らかに正であるからと言って,朝食を食べる

データ分析入門第8回 (2016年11月29日) 38

 (補足)Excelの回帰分析の見方  演習:回帰分析と最小二乗法

Y −E[Y ] =m∑

k=1θk (Xk −E[Xk ])+ε

と表される.つまり,θ0は平均の情報が詰まったパラメータであり,平均からのズレのみに着目するとθ0は消える.

データを用いた形で書いてみよう.データとして (yk , xk1, xk2, . . . , xkm), k = 1, 2, . . . , nが与えられたとする.この時,各系列の平均を

y = 1

n

n∑k=1

yk , xi =1

n

n∑k=1

xki

とすると,

yk − y =m∑

i=1θk (xki −xi )+εk , k = 1, 2, . . . , n

と表される.ここで,左辺を並べてできるベクトルは

 

Page 44: データ分析入門第8 -  · データ分析入門第8回 (2016年11月29日) 4 回帰曲線と回帰分析3 多変量解析— 回帰分析と最小二乗法 ただし,推定した結果,aが明らかに正であるからと言って,朝食を食べる

データ分析入門第8回 (2016年11月29日) 39

 (補足)Excelの回帰分析の見方  演習:回帰分析と最小二乗法

(y1− y y2− y · · · yn − y

)T ∈ {z = (

z1 · · · zn) ∈Rn | z1+ z2+·· ·+ zn = 0

}より,n −1次元の線形空間の元である.これは,yk − yの値は各々がバラバラに取って良いわけではなく,平均に縛られるため,自由度が1つ減って自由度がn −1になったということである.言い換えると,適切なデータに対して適切な関数g1(x), g2(x), . . . , gn−1(x)を用意すれば,厳密に

yk − y =n−1∑i=1

gi (xk ), k = 1, 2, . . . , n

と書けるということを意味している.

 

Page 45: データ分析入門第8 -  · データ分析入門第8回 (2016年11月29日) 4 回帰曲線と回帰分析3 多変量解析— 回帰分析と最小二乗法 ただし,推定した結果,aが明らかに正であるからと言って,朝食を食べる

データ分析入門第8回 (2016年11月29日) 40

 (補足)Excelの回帰分析の見方  演習:回帰分析と最小二乗法

 今は勿論,m < n−1の状況を考え,θi fi (x)のm個の関数だけでは yk −yの値を厳密に表すことはできず,

yk − y =m∑

i=1θk (xki −xi )+εk , k = 1, 2, . . . , n

と残差の項εkがついているわけであるが,上と見比べて,

θi (xki −xi ) ↔ gi (xk ), i = 1, 2, . . . , m

εk ↔ gm+1(xk )+gm+2(xk )+ . . .+gn−1(xk )

という対応関係を考えることができる.よって,全体の自由度をn − 1と言い,回帰の部分∑θi (xki −xi )の自由度をm,残差εkの部分の自由度をn−m−1と言う.これが,Excelの分散分析表の自由度に書かれている値になる.

 

Page 46: データ分析入門第8 -  · データ分析入門第8回 (2016年11月29日) 4 回帰曲線と回帰分析3 多変量解析— 回帰分析と最小二乗法 ただし,推定した結果,aが明らかに正であるからと言って,朝食を食べる

データ分析入門第8回 (2016年11月29日) 41

 (補足)Excelの回帰分析の見方  演習:回帰分析と最小二乗法

 次に,ykの平均からのズレをどの部分でどれぐらい説明されているかを考える.合計の変動(Excelの分散分析表にある項目)とは

n∑k=1

(yk − y)2

であり,計算すると,最小二乗推定量を用いたならば

n∑k=1

(yk − y)2 =(

m∑i=1

θk (xki −xi )+εk

)2

=(

m∑i=1

θk (xki −xi )

)2

+ε2k

となる.これは,最小二乗法は,n−1次元の線形空間の点から,そのm次元の部分線形空間へ射影することに対応していると考えるとわかりやすい.よって,象徴的に書けば ykの変動=回帰によって説明される変動 +残差によって説明される変動と分解されることになる.これが,Excelの分散分析表の変動に書かれている値になる.

 

Page 47: データ分析入門第8 -  · データ分析入門第8回 (2016年11月29日) 4 回帰曲線と回帰分析3 多変量解析— 回帰分析と最小二乗法 ただし,推定した結果,aが明らかに正であるからと言って,朝食を食べる

データ分析入門第8回 (2016年11月29日) 42

 (補足)Excelの回帰分析の見方  演習:回帰分析と最小二乗法

 Excelの分散分析表の分散の項は,変動 /自由度の値が書かれている.これは,ykの変動を自由度1つ当たりでどれぐらい説明できているかを表す.

次に,Excelで回帰分析した際に,回帰統計の欄に表示される事柄を述べる.重相関Rは重相関係数であり,m = 1の時には単純に相関係数になる.m = 1の時は,

yk − y = θk (xk −x)+εk , k = 1, 2, . . . , n

となるが,相関係数Rは

R =∑

(xk −x)(yk − y)√∑(xk −x)2 ∑

(yk − y)2

で定義される.

 

Page 48: データ分析入門第8 -  · データ分析入門第8回 (2016年11月29日) 4 回帰曲線と回帰分析3 多変量解析— 回帰分析と最小二乗法 ただし,推定した結果,aが明らかに正であるからと言って,朝食を食べる

データ分析入門第8回 (2016年11月29日) 43

 (補足)Excelの回帰分析の見方  演習:回帰分析と最小二乗法

 重決定R2というのは,決定係数R2と呼ばれる量であるが,定義は複数存在し,各々の統計処理ソフトによって違う値を返すことがある.一般的な定義の1つとしては,相関係数の2乗とすることで,

R2 = (∑

(xk −x)(yk − y))2∑(xk −x)2 ∑

(yk − y)2

となるが,実はこれは,

R2 =∑

(θ1(xk −x))2∑(yk − y)2

=回帰の部分で説明できる変動ykの総変動

= 1−残差の部分による変動ykの総変動

と同値であることがわかる(一般的にこちらの式を定義にすることも多い,ykの総変動などの定義もどこの周りで考えるかなど一意ではないが).また,補正R2は自由度調整済決定係数と呼ばれるもので,

1−残差の部分による変動/残差の部分の自由度ykの総変動/全自由度

を定義とすることが多い.

 

Page 49: データ分析入門第8 -  · データ分析入門第8回 (2016年11月29日) 4 回帰曲線と回帰分析3 多変量解析— 回帰分析と最小二乗法 ただし,推定した結果,aが明らかに正であるからと言って,朝食を食べる

データ分析入門第8回 (2016年11月29日) 44

 (補足)Excelの回帰分析の見方  演習:回帰分析と最小二乗法

 また,m > 1の場合,重相関係数は yk − yと∑θi (xki −xi )の相関係数で定義され,補正R2

まで定義や性質はm = 1の場合とほぼ同じ.

決定係数は,当てはまりの良さを表している指標であり,0.8程度を超えるとよく当てはまっていると考えることができる.パラメータの数が増えれば増えるほど,決定係数の値は増えていき,パラメータの数が違うモデルで比較する場合は,自由度調整済決定係数を用いたほうが良い.しかし,決定係数の定義が複数あるのに加え,特に定数項を持たない場合,線形最小二乗法以外を用いた場合には,決定係数として直感と大きく外れた値が出てくることもあり,注意が必要.

標準誤差は,√残差の分散,つまり √ ∑

ε2k

n −1−m

で定義される.