Weitere ähnliche Inhalte
Ähnlich wie データ解析6 重回帰分析 (20)
Mehr von Hirotaka Hachiya (14)
データ解析6 重回帰分析
- 6. 復習:単回帰分析の定式化
学習データ: 𝐷𝐷𝑡𝑡𝑡𝑡 = 𝑥𝑥𝑖𝑖, 𝑦𝑦𝑖𝑖
𝑖𝑖=1
𝑁𝑁
単回帰モデル:回帰直線
𝑦𝑦成分の誤差の二乗誤差和の最小化により、学習データの𝑦𝑦成分
の平均の点を通る直線 �𝑓𝑓𝑤𝑤∗,𝑏𝑏∗ 𝑥𝑥 を獲得
最適な傾き𝑤𝑤∗
と切片𝑏𝑏∗
は、学習データの分散と共分散で求まる
10
i番目に観測された学習データ
𝑥𝑥𝑖𝑖
, 𝑦𝑦𝑖𝑖
�𝑓𝑓𝑤𝑤∗,𝑏𝑏∗ 𝑥𝑥
𝑥𝑥
𝑦𝑦
𝑜𝑜
𝐸𝐸 𝑤𝑤, 𝑏𝑏 = ∑𝑖𝑖=1
𝑁𝑁
𝑦𝑦𝑖𝑖 − �𝑓𝑓𝑤𝑤,𝑏𝑏 𝑥𝑥𝑖𝑖
2
𝑤𝑤∗, 𝑏𝑏∗ = argmin
𝑤𝑤,𝑏𝑏
𝐸𝐸 𝑤𝑤, 𝑏𝑏
𝑏𝑏∗
= �𝑦𝑦 −
S𝒙𝒙𝒙𝒙
S𝒙𝒙𝒙𝒙
̅𝑥𝑥= �𝑦𝑦 − 𝑤𝑤∗
̅𝑥𝑥𝑤𝑤∗
=
S𝒙𝒙𝒙𝒙
S𝒙𝒙𝒙𝒙
�𝑓𝑓𝑤𝑤,𝑏𝑏 𝑥𝑥 = 𝑤𝑤𝑤𝑤 + 𝑏𝑏
- 8. 重回帰分析とは
12
単回帰分析:説明変数が1個の回帰
目的変数𝑦𝑦:スカラー
説明変数𝑥𝑥:スカラー
重回帰分析:説明変数が2個以上の回帰
目的変数𝑦𝑦:スカラー
説明変数𝒙𝒙:ベクトル 𝒙𝒙 = (𝑥𝑥1, 𝑥𝑥2, … , 𝑥𝑥𝐷𝐷)Τ
靴サイズ=傾き X 身長 + 切片 + 残差
説明変数𝑥𝑥𝑤𝑤 𝑏𝑏目的変数𝑦𝑦 𝜀𝜀
目的変数𝑦𝑦
靴サイズ=傾き X 身長 + 傾き X 体重 + ... + 切片 + 残差
𝑤𝑤1 説明変数𝑥𝑥1 説明変数𝑥𝑥2𝑤𝑤2 𝑏𝑏 𝜀𝜀
直線
平面
- 9. 重回帰分析のデータの例
13
説明変数が2個の場合:
標本番号 身長(x1) 体重(x2) 靴サイズ(y)
1 162 44 24.0
2 165 48 24.5
3 168 53 25.5
4 160 45 22.5
5 158 45 23.0
6 153 43 22.0
7 158 45 23.0
8 168 50 24.0
9 157 52 23.0
10 154 42 23.0
11 170 48 25.0
12 157 45 23.5
(cm) (kg) (cm)
説明変数𝑥𝑥1 説明変数𝑥𝑥2 目的変数𝑦𝑦
- 15. 重回帰問題の定式化
入力(説明変数)𝒙𝒙:実数値ベクトル
出力(目的変数)𝑦𝑦:実数値スカラー
学習データ:
重回帰モデル:重回帰式、超平面
省略版:
19
𝐷𝐷𝑡𝑡𝑡𝑡 = 𝒙𝒙1, 𝑦𝑦1 , 𝒙𝒙2, 𝑦𝑦2 , … , 𝒙𝒙𝑁𝑁, 𝑦𝑦 𝑁𝑁 = 𝒙𝒙𝑖𝑖, 𝑦𝑦𝑖𝑖
𝑖𝑖=1
𝑁𝑁
𝒘𝒘′ = (𝑤𝑤1, 𝑤𝑤2, … , 𝑤𝑤𝐷𝐷, 𝑏𝑏)Τ
�𝑓𝑓𝒘𝒘,𝑏𝑏 𝒙𝒙 = 𝒘𝒘Τ 𝒙𝒙 + 𝑏𝑏
𝑥𝑥1
𝑥𝑥2
偏回帰係数(学習するパラメータ)
𝒙𝒙′ = (𝑥𝑥1, 𝑥𝑥2, … , 𝑥𝑥𝐷𝐷, 1)Τ
�𝑓𝑓𝒘𝒘’ 𝒙𝒙’ = 𝒘𝒘′Τ 𝒙𝒙𝒙
𝑥𝑥2
𝑖𝑖
�𝑓𝑓𝒘𝒘,𝑏𝑏 𝑥𝑥 = �𝑓𝑓𝒘𝒘’ 𝒙𝒙’
𝒙𝒙𝑖𝑖, 𝑦𝑦𝑖𝑖
𝑥𝑥1
𝑖𝑖
𝑦𝑦𝑖𝑖
- 16. 𝑖𝑖番目に観測された学習データ
𝒙𝒙𝑖𝑖, 𝑦𝑦𝑖𝑖
�𝑓𝑓𝒘𝒘′ 𝒙𝒙′
𝑥𝑥1
𝑥𝑥2
最もあてはまる超平面:Y軸成分の二乗誤差和を最小化
偏微分を用いて、最適な𝒘𝒘′を求める
Y軸成分の二乗誤差和の最小化
20
= (𝒚𝒚 − 𝐗𝐗Τ 𝒘𝒘′)Τ (𝒚𝒚 − 𝐗𝐗Τ 𝒘𝒘′) 𝐗𝐗 =
𝑥𝑥1
1
𝑥𝑥2
1
⋮
𝑥𝑥𝐷𝐷
1
1
𝑥𝑥1
2
𝑥𝑥2
2
⋮
𝑥𝑥𝐷𝐷
2
1
⋯
⋯
⋮
⋯
⋯
𝑥𝑥1
𝑁𝑁
𝑥𝑥2
𝑁𝑁
⋮
𝑥𝑥𝐷𝐷
𝑁𝑁
1
𝒚𝒚 =
𝑦𝑦1
𝑦𝑦2
⋮
𝑦𝑦 𝑁𝑁
𝐷𝐷:説明変数の数
𝑁𝑁:データ数
𝐸𝐸 𝒘𝒘′ = �
𝑖𝑖=1
𝑁𝑁
𝑦𝑦𝑖𝑖 − �𝑓𝑓𝒘𝒘′ 𝒙𝒙′𝑖𝑖
2
𝜀𝜀𝑖𝑖
二乗誤差和:
= ∑𝑖𝑖=1
𝑁𝑁
𝑦𝑦𝑖𝑖 − 𝒘𝒘′Τ 𝒙𝒙𝒙𝑖𝑖 2
行列・ベクトル表現
誤差𝜀𝜀𝑖𝑖
- 17. 演習1
21
1. 二乗誤差和の行列表現を和の記号を用いた表現に変形しなさい。
ただし、データ数𝑁𝑁 = 4、説明変数の数𝐷𝐷 = 2とする。
2. 偏微分を用いて二乗誤差和を最小化する𝒘𝒘′の式を求めなさい。
Matrix Cookbookより
タイトル「演習レポート」、日付、学生番号、氏名を用紙の 一番上に
記載
𝐸𝐸 𝒘𝒘′ = (𝒚𝒚 − 𝐗𝐗Τ 𝒘𝒘′)Τ (𝒚𝒚 − 𝐗𝐗Τ 𝒘𝒘′)
(𝒚𝒚 − 𝐗𝐗Τ
𝒘𝒘′)Τ
(𝒚𝒚 − 𝐗𝐗Τ
𝒘𝒘′) ∑𝑖𝑖=1
𝑁𝑁
𝑦𝑦𝑖𝑖
− �𝑓𝑓𝒘𝒘′ 𝒙𝒙′𝑖𝑖
2
𝐷𝐷:説明変数の数
𝑁𝑁:データ数𝐗𝐗 =
𝑥𝑥1
1
𝑥𝑥2
1
1
𝑥𝑥1
2
𝑥𝑥2
2
1
𝑥𝑥1
3
𝑥𝑥2
3
1
𝑥𝑥1
4
𝑥𝑥2
4
1
𝒚𝒚 =
𝑦𝑦1
𝑦𝑦2
𝑦𝑦3
𝑦𝑦4
𝒘𝒘𝒘 =
𝑤𝑤1
𝑤𝑤2
𝑏𝑏
- 26. 説明変数と目的変数への影響分析
33
説明変数の目的変数に対する影響力を調べたい
偏回帰係数𝒘𝒘′と説明変数の積の単位は、目的変数𝑦𝑦と同じ
𝑦𝑦 = 0.86𝑥𝑥1 + 0.46𝑥𝑥2 + 1.02
売上額𝑦𝑦
(千万円)
広告費𝑥𝑥1
(百万円)
セールスマン数𝑥𝑥2
(人)
A 8 5 6
B 9 5 8
C 12 7 10
D 11 5 12
E 13 8 12
F 17 12 12
売上額
(千万円)
広告費100万円使うと
売り上げが860万円増加
広告費𝑥𝑥1の単位:百万円
広告費𝑥𝑥1の係数:0.86(千万円)
セールスマン数𝑥𝑥2の単位:人
セールスマン数𝑥𝑥2の係数:0.46(千万円)
セールスマン1人増加で
売り上げ460万円増加
単位が𝑦𝑦と同じ
0.86𝑥𝑥1(千万円):0.86(千万円/百万円) × 𝑥𝑥1(百万円)
0.46𝑥𝑥2(千万円):0.46(千万円/人) × 𝑥𝑥2(人)
- 29. 標準偏回帰係数
36
標準化したデータに対して重回帰分析をかけると、
標準偏回帰係数𝒘𝒘′
が得られる
売り上げデータの重回帰式:
標準偏回帰係数は-1から1の範囲で、-1または1に近いほど重要
係数が大きい説明変数が、予測に重要な説明変数となる
𝑦𝑦 = 0.74𝑥𝑥1 + 0.36𝑥𝑥2 + 2.47 × 10−16
データの単位に依存しない標準偏回帰係数が得られる
売上額𝑦𝑦
(千万円)
広告費𝑥𝑥1
(百万円)
セールスマン数𝑥𝑥2
(人)
A 8 5 6
B 9 5 8
C 12 7 10
D 11 5 12
E 13 8 12
F 17 12 12
広告費のスコア:0.74
セールスマン数のスコア: 0.36
「売上額」の予測において、「セールスマン
の数」より「広告費」の方が重要
- 32. 決定係数を用いた精度評価の例
39
実績値𝑦𝑦 :実際の目標変数𝑦𝑦の値
予測値�𝑓𝑓𝒘𝒘′ 𝒙𝒙′ :重回帰式を用いて予測した目標変数𝑦𝑦の値
決定係数を求める
決定係数が1に近いので、重回帰式がよく当てはまっている
売上額𝑦𝑦
(千万円)
実績値
広告費𝑥𝑥1
(百万円)
セールスマン数𝑥𝑥2
(人)
売上額�𝑓𝑓𝒘𝒘′ 𝒙𝒙′
(千万円)
予測値
A 8 5 6 8.1
B 9 5 8 9
C 12 7 10 11.7
D 11 5 12 10.9
E 13 8 12 13.4
F 17 12 12 16.9
𝑅𝑅2 = 1 −
∑𝑖𝑖=1
𝑁𝑁
𝑦𝑦𝑖𝑖 − �𝑓𝑓𝒘𝒘′ 𝒙𝒙′𝑖𝑖
2
∑𝑖𝑖=1
𝑁𝑁
𝑦𝑦𝑖𝑖 − �𝑦𝑦 2
= 1 −
0.35
51.3
= 0.993
- 35. 重回帰分析の利用時の注意点
43
必要なデータ数:
パラメータ(𝒘𝒘、𝑏𝑏)の数より多いのが基本
一般的にはパラメータ数の10倍が目安
決定係数は説明変数が増えるほど1に近づく
説明変数が多い場合は、自由度調整済み決定係数を用いる
Peter Peduzzi et al., 1995
�𝑅𝑅2 = 1 −
∑𝑖𝑖=1
𝑁𝑁
𝑦𝑦𝑖𝑖
− �𝑓𝑓𝒘𝒘′ 𝒙𝒙′𝑖𝑖
2
𝑁𝑁 − 𝐷𝐷 − 1
∑𝑖𝑖=1
𝑁𝑁
𝑦𝑦𝑖𝑖 − �𝑦𝑦 2
𝑁𝑁 − 1
𝐷𝐷:説明変数の数
𝑅𝑅2 = 1 −
0.35
51.3
= 0.993
自由度調整済み
決定係数
�𝑅𝑅2
= 1 −
0.35/(6 − 2 − 1)
51.3/(6 − 1)
= 0.989
決定係数
説明変数が多いほど厳しい評価
- 36. 重回帰分析の利用時の注意点 2
44
説明変数間の1次従属性:多重共線性(マルチコ)
説明変数間が1次従属の場合行列𝐗𝐗𝐗𝐗Τが正則でなくなり不安定になる
線形モデルを用いる重回帰では非線形な関数を表現不可
𝒘𝒘′
= 𝐗𝐗𝐗𝐗Τ −𝟏𝟏
𝐗𝐗𝐗𝐗 𝒘𝒘′
= 𝐗𝐗𝐗𝐗Τ
+ 𝜆𝜆𝑰𝑰
−𝟏𝟏
𝐗𝐗𝐗𝐗
𝑰𝑰:単位行列
𝜆𝜆:スカラー
カーネルモデル
対策:行列 𝐗𝐗𝐗𝐗Τ の対角成分に小さい値を足すことにより正則化
カーネル関数を用いた関係モデル(カーネルモデル)に拡張