データ分析実践第5 平均・分散・回帰分析 · 4 確率とは...
TRANSCRIPT
1
データ分析実践第5回平均・分散・回帰分析
京都大学情報学研究科/国際高等教育院
關戸啓人
2
統計とは
データ分析実践第 5回 (2017年11月06日)
★統計学とは,大雑把に言って,データの扱い方を考える学問★データをどうやって得るか★データをどうやって解析するか★データを使って何か主張できるか
★なんとなく,ではなく,できるだけ数学的(客観的)に議論する
★確率論を道具として用いることが多い★データには誤差が付きもの(測定誤差など)★正しいモデルは不明.適当な近似を行いモデル化(モデル化誤差)★誤差の要因,振る舞いは複雑怪奇→確率的なものとして扱う★知りたいことにフォーカスを当て,わからないことは確率で暈す
3
確率とは
データ分析実践第 5回 (2017年11月06日)
★○○を行った時,△△が起きる確率★○○を試行,△△を事象と呼ぶ
★確率は,試行を行った時,その事象の「起こりやすさ」を実数で表したもの★P(事象)やP(事象aが起こる)のように表す
★確率は0以上1以下の実数で値が大きいほど起こりやすい★確率がpとは,十分大きなNに対して,試行を独立にN回行った時,だいたいNp回ぐらいその事象が起こるだろうと期待されるということ
4
確率とは
データ分析実践第 5回 (2017年11月06日)
★確率として捉えるには
★ 6月28日に東京で雨になる確率は53%である★気象データが残っている年を無作為に1つ選ぶとその年の6月28日の東京の天気が雨である確率が0.53である
★日本人成人男性のうち身長が190cm以上の人の割合は0.06%である★日本人成人男性を無作為に1人選ぶと,その人の身長が190cm以上である確率が0.06%である
★日本人男性が最近の環境で育つと,その人の身長が190cm以上となる確率が0.06%である
★明日京都で雨が降る確率は10%である★観測しうる範囲で,今日と同じ気候条件であれば,その次の日京都で雨が降る確率が0.1である
5
条件付き確率
データ分析実践第 5回 (2017年11月06日)
★試行を行い,事象Bが起こった時,事象Aが起こる確率P(A|B)またはPB(A)
★AもBも起こる確率÷Bが起こる確率,P(A ∩ B)/P(B)が定義
★試行にある種の制限をかけていると思うこともできる★今日と同じような気象条件になったとき,次の日が晴れる確率★ランダムに1日選び,選んだ日が今日と同じような気象条件であったときに,その次の日が晴れである確率
★「確率」を考えるときは,(あるならば)得られている全ての情報を用い,条件付き確率を考える
6
確率変数とは
データ分析実践第 5回 (2017年11月06日)
★試行を行うと値が定まるもの★サイコロを振った時に出る目★全日本人の中から無作為に1人選んだ時,その人の身長
★どんな値を取りうるか,またそれぞれの値はどれぐらい起こりやすいか,を両方表している★「確率分布」
7
確率変数とは
データ分析実践第 5回 (2017年11月06日)
★取る値が連続的なものと離散的なものがある★サイコロの出目は1, 2, 3, 4, 5, 6のどれかなので離散的(飛び飛びの値)
★身長は「この値またはこの値または…(可算無限)」と言えないので連続的と見なすことが多い★少なくても連続的であると仮定して議論したほうが便利★ちょうど値がxになる確率,ということを考えないものは連続的
★複数の確率変数を考えても1つの試行★全日本人の中から無作為に1人選んだ時,その人の身長Hと体重W
★この場合,身長と体重は無関係ではない★身長が170cmの時に体重が60kg以上である確率P(W ≥ 60|H =
170),などと条件付き確率を考えることもできる
8
確率分布関数,確率質量関数
データ分析実践第 5回 (2017年11月06日)
★連続的な確率変数Xは確率分布関数f(x)で記述
★∫∞−∞ f(x) dx = 1, f(x) ≥ 0
★P(a ≤ X ≤ b) =
∫ba
f(x) dx (a ≤ b)
★離散的な確率変数Xは確率質量関数f(x)で記述
★∑x
f(x) = 1, f(x) ≥ 0
★P(X = a) = f(a):f(a)はその確率変数がaとなる確率
★ 2つ以上の確率変数を同時に考えれば,多変数関数になる
★∫∞−∞
∫∞−∞ f(x, y) dx dy = 1
9
離散的な確率変数と確率質量関数の例
データ分析実践第 5回 (2017年11月06日)
★(例)理想的なサイコロの出目の場合★離散分布で,f(1) = f(2) = f(3) = f(4) = f(5) = f(6) = 1/6
★サイコロを振って出る目Xが4である確率はP(X = 4) = f(4) =1/6.これは,何回もサイコロを振ると,その振った回数の1/6倍ぐらいの回数だけ4の目が出るという意味である.
★注意:通常サイコロは厳密に各目が出る確率が1/6となるわけではないと思われるが,1/6に非常に近いことが経験的に知られており,厳密にやるのは面倒,または,不可能なのでこういう風にしましょう,と考えている.
10
連続的な確率変数と確率分布関数の例
データ分析実践第 5回 (2017年11月06日)
★(例)無作為に20歳の男性を1人選んだ時,その人の体重(kg)★連続分布で,f(60)とかf(70)ぐらいが大きくて,そこから外れると小さくなるであろう
★注意:20歳の男性の人数は有限であるので,これは本当は離散分布であると思われる.しかし,厳密に体重を量れるわけでもなく,そもそも対象がかなり曖昧(今この瞬間の体重分布か?それとも人間が通常の生活を20年行った後の体重の分布か?)また,実際に必要となる値は,体重が60kg台の人口比率P(60 ≤ X < 70)などが多く,連続分布と考えたほうが便利な場合が多い.★実際の現象をできるだけうまく説明できる,数学的に扱うのが便利,などを考えて,うまく設定する必要がある.
11
期待値,平均,分散,標準偏差
データ分析実践第 5回 (2017年11月06日)
★確率[分布|質量]関数f(x)に対応する確率変数Xの関数s(X)の期待値
★連続分布の場合:E[s(X)] =
∫∞−∞ s(x)f(x) dx
★離散分布の場合:E[s(X)] =∑x
s(x)f(x)
★平均(mean, average),分散(variance),標準偏差(standard deviation)★平均:E[X]
★分散:V[X] = E[(X− E[X])2] = E[X2] − E[X]2
★標準偏差:√
V[X] =√
E[(X− E[X])2] =√
E[X2] − E[X]2
★分散の項の等式はE[αs(X)+βt(X)] = αE[s(X)]+βE[t(X)]やE[1] =1などから導かれる
12
期待値,平均,分散,標準偏差
データ分析実践第 5回 (2017年11月06日)
★平均,分散などは,その確率分布を知るための手がかりとなることがある
★もしくは,確率分布関数を直接的に扱うのが難しいが,平均や分散は単なる実数なので扱いやすい
★平均:確率変数がだいたいどのぐらいの値になるかという目安の1つ.X1, X2, . . . , XNが独立で,それぞれその分布に従うなら,(X1+X2+. . .+ XN)/NはNが大きい時,平均に近づく
★分散:確率変数が平均からどれぐらい離れた値になるか,という目安の1つ.(平均からの距離の2乗)の平均,であるので,オーダーは「距離」の2乗
★標準偏差:分散の正の平方根.オーダーは「距離」
13
母集団 (population)と標本 (random sample)
データ分析実践第 5回 (2017年11月06日)
★X1, X2, . . . , XNが独立で,すべて同じ確率分布に従うとき,これをサイズNの標本という★独立であるとは,荒っぽく言うと,X1がとある値のとき,X2はとある値になりやすい,などといった関係がないという事.標本が従う確率分布を母集団分布という
★(例)サイコロをN回振るとき,i回目に出た目の数をXiで表すと,X1, X2, . . . , XNはサイズNの標本となる
★ 1回目のサイコロの出目は,2回目のサイコロの出目に影響しないであろうから,これらは独立である
★注意:統計処理を行う際には,標本Xiには,与えられたデータなどの実数が入っている.ただし,数学的に,標本や,その標本から得られる量はどのような性質があるかなどを議論したいときは,標本を確率変数と考えている
14
標本平均,標本分散,不偏分散
データ分析実践第 5回 (2017年11月06日)
★サイズNの標本X1, X2, . . . , XNに対して,以下が定義される
★標本平均:X =X1 + X2 + · · ·+ XN
N
★標本分散:1
N
N∑i=1
(X− Xi)2 = X2 − (X)2
★不偏分散:1
N− 1
N∑i=1
(X− Xi)2
★注意:標本平均の期待値は母集団分布の平均に一致する.また,不偏分散の期待値は,母集団分布の分散に一致する.標本に対して分散を調べるときは標本分散を,標本を通じて,母集団分布の分散を調べるときは不偏分散を用いることが多い.
15
回帰曲線と回帰分析 1
データ分析実践第 5回 (2017年11月06日)
★ 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個の場合を単回帰分析,複数の場合を重回帰分析という
16
回帰曲線と回帰分析 2
データ分析実践第 5回 (2017年11月06日)
★例えば,小学生を対象に,Xを朝食を食べる割合,Yでテストの点数とすれば,回帰分析で,これらの関係がわかるであろう
★多くの場合は, E[Y |X = x] = ax+ b (a, b ∈ R)
という関係を仮定する,もしくは, Y = aX+ b+ ε (a, b ∈ R)
として,誤差項(Xだけでは説明できない部分)εをできるだけ小さくするようにa, bを決めることが多い
★重回帰分析の場合は,
E[Y |Xk = xk] =
n∑k=1
akxk + b (ak, b ∈ R)
とする場合が多い.★勿論,もっと複雑な式を考えることもある
17
回帰曲線と回帰分析 3
データ分析実践第 5回 (2017年11月06日)
★ただし,推定した結果,aが明らかに正であるからと言って,朝食を食べることが直接テストの点数を上げるとは限らない.例えば,食生活をきちんと躾けていれば,朝食を食べる割合が高くなり,テストの点数も良い傾向にあり,朝食を食べたからといってテストの点数が上がるわけではないかもしれない.
★aが0か,正か,負かのみが重要な場合もあるが,そのようなときは,検定などを用いれば良い.他にも,a, bを推定した後,ε(残差)がどのようになっているか調べ,E[Y |X = x]の式の形を修正するなどを考えることも必要かもしれない.今回は,どうやって,関数E[Y |X = x]を推定するかについて述べる.多くの場合は,最小二乗法を用いる.
18
最小二乗法の概要
データ分析実践第 5回 (2017年11月06日)
★未知な関数を得られたデータから推定したい
★未知関数 f(x)の形はわかっていて,未知パラメータを含む形で書かれる
★データ(xj, yj)はf(xj)での値がyjであることを「示唆」する
★データは厳密に「正しい」訳ではない.つまり厳密にf(xj) = yjとは限らない(測定誤差などが含まれている)
★ 2変数以上の場合はxはベクトルだと思えば良い
19
最小二乗法の例 (その1)
データ分析実践第 5回 (2017年11月06日)
f(x) = θ1x+ θ0
20
最小二乗法の例 (その1)
データ分析実践第 5回 (2017年11月06日)
f(x) = 0.8x+ 1.2
21
最小二乗法の例 (その2)
データ分析実践第 5回 (2017年11月06日)
f(x) = θ3x3 + θ2x
2 + θ1x+ θ0
22
最小二乗法の例 (その2)
データ分析実践第 5回 (2017年11月06日)
f(x) = 0.3x3 − 0.5x2 − 2.7x+ 2.1
23
最小二乗法の例 (その3)
データ分析実践第 5回 (2017年11月06日)
f(x) =θ2x
2 + θ1x+ θ0
x+ θ3
24
最小二乗法の例 (その3)
データ分析実践第 5回 (2017年11月06日)
f(x) =2.1x2 − 13.1x+ 3.1
x+ 12.0
25
最小二乗法の例
データ分析実践第 5回 (2017年11月06日)
★その1: 直線で近似する場合★ f(x) = θ0 + θ1x
★(単純な)単回帰分析★その2: 未知関数がパラメータについて線形(線形最小二乗法)★ f(x) = θ0f0(x) + θ1f1(x) + · · ·+ θm−1fm−1(x)
★(単純な)重回帰分析,以下では主にこれを説明する★その3: 未知関数がパラメータについて非線形(非線形最小二乗法)★ f(x) = f(x;θ0, θ1, . . . , θm−1)
★複雑な式の形を指定した場合,解く場合は最適化の理論を用いる
26
回帰モデルの例 (1) —単回帰モデル
データ分析実践第 5回 (2017年11月06日)
★体重を意味する確率変数をW
★身長を意味する確率変数をH
★モデル:W = θ1H+ θ0 + ε
★データは,例えば体重(kg) 切片 身長(cm)
A氏 56.8 1 163.3B氏 52.1 1 160.2C氏 52.6 1 158.0D氏 23.4 1 129.0E氏 32.1 1 139.7F氏 40.6 1 141.4
27
回帰モデルの例 (2-1) —重回帰モデル
データ分析実践第 5回 (2017年11月06日)
★体重を意味する確率変数をW
★身長を意味する確率変数をH
★モデル:W = θ2H2 + θ1H+ θ0 + ε
★データは,例えば体重(kg) 切片 身長(cm) 身長2(cm2)
A氏 56.8 1 163.3 26666.89B氏 52.1 1 160.2 25664.04C氏 52.6 1 158.0 24964.00D氏 23.4 1 129.0 16641.00E氏 32.1 1 139.7 19516.09F氏 40.6 1 141.4 19993.96
28
回帰モデルの例 (2-2) —重回帰モデル
データ分析実践第 5回 (2017年11月06日)
★体重をW,身長H,体脂肪率をF,性別をS
★性別は女性を1,男性を0で表す★モデル:W = θ3S+ θ2F+ θ1H+ θ0 + ε
★データは,例えば体重(kg) 切片 身長(cm) 体脂肪率(%) 性別
A氏 56.8 1 163.3 14.3 0B氏 52.1 1 160.2 15.3 0C氏 52.6 1 158.0 21.2 1D氏 23.4 1 129.0 13.3 1E氏 32.1 1 139.7 16.8 0F氏 40.6 1 141.4 19.6 1
29
線形最小二乗法の定義,および,性質 1
データ分析実践第 5回 (2017年11月06日)
★観測と応答の関係
Y =
m−1∑k=0
θkfk(x) + ε = f(x, θ) + ε
は線形回帰モデルと呼ばれる★ fk(x)は既知の関数
★θkは未知のパラメータ,θ = (θ0, θ1, . . . , θm−1)T
★ εは確率変数で平均0(E[ε] = 0)
★実際にn個のデータ(x1, y1), . . . , (xn, yn)を用いて
yj = f(xj, θ) + εj, j = 1, 2, . . . , n
とする★yj, εjは確率変数
★ εjはj回目の観測における誤差
30
線形最小二乗法の定義,および,性質 2
データ分析実践第 5回 (2017年11月06日)
★yj = f(xj, θ) + εj, j = 1, 2, . . . , n
★今回は,誤差εjに対して以下の仮定を置く
★平均は0.つまり,E[εj] = 0
★誤差の分散は等しく,正.つまり,V[εj] = σ2 > 0
★誤差は互いに無相関.つまり,E[εiεj] = 0, i ̸= j
★残差二乗和
S(β) =
n∑k=1
(yk − f(xk, β))2
を最小化する未知パラメータベクトルβを最小二乗推定量θ̂と言う
31
絵で見る最小二乗法
データ分析実践第 5回 (2017年11月06日)
緑の線の長さの二乗和を最小化するように,未知パラメータθを推定
32
線形最小二乗法の定義,および,性質 3
データ分析実践第 5回 (2017年11月06日)
★最小二乗推定量θ̂は,最良線形不偏推定量である
★E[θ̂] = θ(不偏)
★ θ̂は,yjについて線形の式で書ける(線形)
★その中で,分散がある意味で最小(最良)
★任意の不偏性と線形性を満たすβに対して,Cov[β] −Cov[θ̂]が非負定値
★誤差εが正規分布に従うとき,最小二乗推定量θ̂は,最尤推定量である★つまり,x1, . . . , xnを固定して,測定結果としてy1, . . . , ynが得られる確率をθの関数として考えたとき,その確率の値が最大となるのがθ = θ̂のとき
33
最小二乗法推定量 (その1)
データ分析実践第 5回 (2017年11月06日)
★方針★残差二乗和
S(β) =
n∑k=1
(yk − f(xk, β))2
を最小化したいのだから,β0, β1, . . . , βm−1で偏微分して0になるβを見つければ良い
34
最小二乗法推定量 (その1)
データ分析実践第 5回 (2017年11月06日)
★ f(x, β) = β1x+ β0の場合
★S(β) =
n∑k=1
(yk − β1xk − β0)2であるから
★∂
∂β1
S(β) = 2
n∑k=1
(x2kβ1 + xkβ0 − xkyk) = 0
★∂
∂β0
S(β) = 2
n∑k=1
(xkβ1 + β0 − yk) = 0
★つまり,次の連立一次方程式を解けば良い
★(∑
x2k∑
xk∑xk n
)(β1β0
)=
(∑xkyk∑yk
)β1 =
n∑
xjyj−∑
xj∑
yj
n∑
x2j−(∑
xj)2
β0 =∑
x2j∑
yj−∑
xjyj
∑xj
n∑
x2j−(∑
xj)2
35
最小二乗法推定量 (その2)
データ分析実践第 5回 (2017年11月06日)
★ f(x, β) = β0f0(x) + β1f1(x) + · · ·+ βm−1fm−1(x)の場合
★S(β) =
n∑k=1
yk −
m−1∑j=0
βjfj(xk)
2
であるから
★∂
∂βi
S(β) = 2
n∑k=1
fi(xk)
m−1∑j=0
fj(xk)βj
− yk
= 0
★m−1∑j=0
n∑k=1
fi(xk)fj(xk)βj =
n∑k=1
fi(xk)yk
36
正規方程式
データ分析実践第 5回 (2017年11月06日)
★つまり,連立一次方程式Bβ = bを解けば良い
★B ∈ Mm(R), Bij =
n∑k=1
fi(xk)fj(xk)
★b ∈ Rm, bi =
n∑k=1
fi(xk)yk
★行列Bがフルランクであれば,最小二乗推定量が一意に定まる★Bβ = bは正規方程式と呼ばれる
★数値計算する際は,この方程式を直接解くよりも高精度な方法が存在する
37
正規方程式
データ分析実践第 5回 (2017年11月06日)
★行列A ∈ Mn,m(R)を以下で定義(ヤコビアン,データ行列)★Aij = fj(xi) = ∂
∂βjf(xi)
★B = ATA
★b = ATy (ただしy = (y1 · · · yn)T )
★正規方程式は以下のように書き直される
★ATAβ = ATy
★行列Aが列フルランクの場合
★最小二乗推定量はθ̂ = (ATA)−1ATy
38
QR分解を用いて解く
データ分析実践第 5回 (2017年11月06日)
★行列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は上三角行列であるから,これは簡単に解ける
39
行列Aが列フルランクでない場合
データ分析実践第 5回 (2017年11月06日)
★行列Aが列フルランクでない場合は,最小二乗推定量は一意に定まらない★最小二乗推定量の中で,∥β∥2を最小とするものを求めることが多い
★ ∥β∥2 = ∥β∥ =√
β20 + β2
1 + · · ·β2m−1 =
√βTβ
★結論を言うと,AのMoore–Penroseの一般逆行列をA+と書くとA+y = R+QTyが答え
★ある程度ロバストに計算できる方法は特異値分解★高速に計算するなら完全ピポット選択付きQR分解をして直交変換
40
一般逆行列
データ分析実践第 5回 (2017年11月06日)
★正則でなくても,長方行列でも良い行列 A ∈ Mmn(R) に対して,AXA = 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−AA−)b = 0ならば解が存在する
41
Moore–Penroseの一般逆行列
データ分析実践第 5回 (2017年11月06日)
★正則でなくても,長方行列でも良い行列 A ∈ Mmn(R) に対して,AXA = A,XAX = X, (AX)T = AX, (XA)T = XA を満たす行列X ∈ Mnm(R)をMoore–Penroseの一般逆行列といい A+で表す
★A+は必ず存在し,一意である★連立一次方程式Ax = bの解が存在するならば,その中で ∥x∥2が最小となるものは x = A+bとなる
★連立一次方程式Ax = bの解が存在しなければ,∥Ax− b∥2が最小とするのは x = A+bとなる