確率統計と情報処理・演習(2014 年度後期) 2 変量

確率統計と情報処理・演習(2014 年度後期)
今野 良彦
今日の講義の目的と概要
確率統計と情報処理・演習(2014 年度後期)
2 変量データ分析
• 2変量のデータを各変量ごとに「1 変量のデータの分析」を適用.
2014 年 10 月 10 日
• 散布図 — 2 変量データとして分布を眺めること(変量間の関係).
– ヒストグラム・箱ひげ図・分布の代表値・ばらつき
• 回帰直線 — 散布図をみて,2 変量データが全体として右上がりまたは右下
がりの傾向があったときに,その傾向を示す直線を引くこと.
日本女子大学理学部数物科学科 今野 良彦
September 19, 2014
• 相関係数 — 2変量間の関係(直線的な傾向の強弱)を数値で示すもの.
1
確率統計と情報処理・演習(2014 年度後期)
今野 良彦
身長と体重のデータ
番号
1
2
3
4
5
6
7
身長
148
160
159
153
151
140
156
体重
41
49
45
43
42
49
49
番号
9
9
10
11
12
13
14
身長
137
149
160
151
157
157
144
確率統計と情報処理・演習(2014 年度後期)
今野 良彦
体重
31
47
47
42
39
48
36
Figure 1: 中学生 14 人の体格データ
2
cbind
> height
[1] 148 160 159 153 151 140 156 137 149 160 151 157 157 144
> weight
[1] 41 49 45 43 42 29 49 31 47 47 42 39 48 36
> length(weight) #オブジェクト weight のデータの個数を調べる.
[1] 14
> length(height)
[1] 14
> bodydata<-cbind(height,weight) #データは行ベクトルを行列配置.
> bodydata
height weight
[1,]
148
41
[2,]
160
49
[3,]
159
45
[4,]
153
43
[5,]
151
42
# 以下は略
> bodydata[1,]
height weight
148
41
> bodydata[2,]
3
height weight
160
49
> bodydata[,1]
[1] 148 160 159 153 151 140 156 137 149 160 151 157 157 144
確率統計と情報処理・演習(2014 年度後期)
>
+
+
+
>
mfrow
>
>
>
>
>
par(mfrow=c(2,1))
# グラフを 2 行に表示 c(m,n) は m 行 n 列の意味
hist(height)
boxplot(height)
par(mfrow=c(1,1)) # もとにもどす
6
4
Frequency
Histogram of height
135
140
145
150
155
160
155
height
Figure 2: ヒストグラムと箱ひげ図
5
確率統計と情報処理・演習(2014 年度後期)
今野 良彦
グラフの同時表示方法
140
bodydata2<-matrix(
c(148,160,159,153,151,140,156,137,149,160,151,157,157,144,
41,49,45,43,42,29,49,31,47,47,42,39,48,36
),,2) # matrix(c( ....), 列の数, 行の数)
bodydata2
[,1] [,2]
[1,] 148
41
[2,] 160
49
[3,] 159
45
[4,] 153
43
[5,] 151
42
[6,] 140
29
[7,] 156
49
[8,] 137
31
[9,] 149
47
[10,] 160
47
[11,] 151
42
[12,] 157
39
[13,] 157
48
[14,] 144
36
>
> mean(bodydata[,1]) # 身長の平均
4
[1] 151.5714
> mean(bodydata[,2]) # 体重の平均
[1] 42
確率統計と情報処理・演習(2014 年度後期)
今野 良彦
matrix
2
0
今野 良彦
確率統計と情報処理・演習(2014 年度後期)
今野 良彦
問題1
テキストデータの読み込み
• 身長と体重のデータを行列配置のオブジェクトに入力.ただし,1 行目は身
長で 2 行目は体重
エディターを使い data1.txt を作成する.R の「ファイル」から「ディレクトリ
の変更」を選択し,
「Browse」をクリックして,data1.txt のあるディレクトリを
指定する.
data1.txt
148 41
160 49
153 45
• 身長と体重のデータについて,以下ことを求めよ.
(1) ヒストグラム
(2) 平均と中央値
(3) 箱ひげ図(学籍番号-boxplot.pdf 例:21316***-boxplot.pdf)
しぶんい
(4) 範囲,四分位 範囲,平均偏差,分散,標準偏差
• 締め切りは 2014 年 10 月 24 日(金)13 時
• 21316***-目白花子-2014-10-24.txt
6
>
>
1
2
3
>
read.table
x<-read.table("data1.txt")
x
V1 V2
148 41
160 49
153 45
7
確率統計と情報処理・演習(2014 年度後期)
今野 良彦
データエディタ
data1.txt
> bodydata
height weight
[1,]
148
41
[2,]
160
49
[3,]
159
45
[4,]
153
43
[5,]
151
42
[6,]
140
29
[7,]
156
49
# 以下は省略
> fix(bodydata)
> data.entry(bodydata)
> iris
> fix(iris)
>
#
#
#
#
データエディタが表示される
データエディタが表示される
データ iris の表示
データエディタが表示される
8
確率統計と情報処理・演習(2014 年度後期)
今野 良彦
散布図
身長と体重の散布図を作成
散布図から調べることができること
data1.txt
>
> plot(height,weight)
>
• データは右上がり,右下がり,またはいずれでもない
40
35
weight
45
• 外れ値があるか?
30
確率統計と情報処理・演習(2014 年度後期)
今野 良彦
140
145
150
155
160
height
Figure 3: 身長と体重の散布図
10
11
確率統計と情報処理・演習(2014 年度後期)
今野 良彦
確率統計と情報処理・演習(2014 年度後期)
今野 良彦
data1.txt
45
40
weight2
50
55
60
外れ値とは
30
35
> height2<-c(height,140)
> weight2<-c(weight,60)
> height2
[1] 148 160 159 153 151 140 156 137 149 160 151 157 157 144 140
> weight2
[1] 41 49 45 43 42 29 49 31 47 47 42 39 48 36 60
>
> plot(height2,weight2)
140
145
150
155
160
height2
Figure 4: 身長と体重の散布図 (外れ値のある場合)
12
確率統計と情報処理・演習(2014 年度後期)
今野 良彦
回帰直線
13
確率統計と情報処理・演習(2014 年度後期)
今野 良彦
最小自乗法
データを (x1, y1), (x2, y2), . . . , (xn, yn) とする.
散布図を見て,全体が右下がりまたは右上がりの傾向があったとき,その傾
向を示す直線
y = a + bx
を散布図に引くことを考える.
データに基づいて傾き b と切片 a をどうきめるか?
i (i = 1, 2, . . . , n) 番目のデータが xi に対して,
データの y 変量の値
直線上の y の値
誤差
yi
yˆi = a + bxi
yi − yˆi
「誤差」が少ないほどよいと考える.すなわち,
「誤差」が零に近いほうどよい!
最小自乗法を使う!
(他の方法もある!)
符号の影響をなくして,データ全体の「誤差」を合計する!すわわち
n
n
Q(a, b) =
(yi − yˆi)2 =
{yi − (a + bxi)}2
i=1
i=1
を最小にする a と b を求める!
14
15
確率統計と情報処理・演習(2014 年度後期)
今野 良彦
最小自乗法
a と b について Q を偏微分すると
∂Q
n
yn + 2an + 2nb¯
xn = 0
∂a = −2 i=1 {yi − (a + bxi )} = −2n¯
n
n
n
∂Q
xn + 2b i=1 x2i = 0
i=1 xi {yi − (a + bxi )} = −2
i=1 xi yi + 2na¯
∂b = −2
となる.ただし,x
¯n = (1/n)
n
i=1 xi
と y¯n = (1/n)
今野 良彦
n
よって, i=1 x2i − n¯
x2n = 0 ならば,
n
n
xiyi − n¯
xny¯n
(x − x
¯n)(yi − y¯n)
i=1
n
n i
b =
= i=1
2
2
xn
¯n)2
i=1 xi − n¯
i=1 (xi − x
n
¯n)(yi − y¯n)
(1/n) i=1(xi − x
n
=
(1/n) i=1(xi − x
¯ n )2
sxy
=:
s2x
sxy
a = y¯n − b¯
xn = y¯n − 2 y¯n
sx
n
i=1 yi
n¯
yn − an
n¯
xnb = 0
−
n
2
x
y
−
n¯
x
a
−
i
i
n
i=1
i=1 xi b = 0
n
よって,
xna − n¯
x2nb = 0
n¯
xny¯n − n¯
xiyi − n¯
xna − x2i b = 0
以後は,ˆb = sxy /s2x と a
ˆ = y¯n − ˆbxn と書くことにする.(データから求めた回
ˆ
ˆ という意味)
帰直線の傾き b と切片 a
16
17
y − y¯n =
今野 良彦
データより求めた回帰直線の方程式
s2x = 0 のとき,
sxy
(x − x
¯n )
s2x
n
s2x =
1
(xi − x
¯n)2
n i=1
y¯n =
1
yi
n i=1
n
n
sxy
=
1
(xi − x
¯n)(yi − y¯n)
n i=1
lm と abline 身長と体重の散布図を作成
> height
[1] 148 160 159 153 151 140 156 137 149 160 151 157 157 144
> weight
[1] 41 49 45 43 42 29 49 31 47 47 42 39 48 36
> lm(weight~height) # x 軸を身長,y 軸を体重として回帰直線を求める
Call:
lm(formula = weight ~ height)
Coefficients:
(Intercept)
height
-70.1505
0.7399 # 切片と傾き
> bodylm<-lm(weight~height)
> plot(height,weight) # 散布図を作成.身長を $ x $ 軸
> abline(bodylm)
# 散布図に回帰直線を書き入れる
n
1
xi,
n i=1
確率統計と情報処理・演習(2014 年度後期)
lm:回帰直線を求める
ただし,
x
¯n =
(2)
(1)
確率統計と情報処理・演習(2014 年度後期)
今野 良彦
確率統計と情報処理・演習(2014 年度後期)
18
19
確率統計と情報処理・演習(2014 年度後期)
今野 良彦
確率統計と情報処理・演習(2014 年度後期)
今野 良彦
45
lm:回帰直線を求める(体重を x 軸で身長を y 軸)
140
145
150
155
160
height
Figure 5: 散布図に回帰直線を書き入れたもの
>
> lm(height~weight)
Call:
lm(formula = height ~ weight)
Coefficients:
(Intercept)
weight
110.4431
0.9792
# 切片と傾き
>
> bodylm2<-lm(height~weight)
> plot(weight,height) # 散布図を作成.体重を x 軸
> abline(bodylm2)
# 散布図に回帰直線を書き入れる
>
20
確率統計と情報処理・演習(2014 年度後期)
今野 良彦
lm と abline 身長と体重の散布図を作成
40
30
35
weight
21
確率統計と情報処理・演習(2014 年度後期)
今野 良彦
160
問題2
150
140
145
height
155
(a) Q(a, b) を a と b について偏微分した式を確認せよ.また,
∂Q
∂a
∂Q
∂b
=0
=0
の解が Q を最小にする a と b の値になるのはなぜか?
30
35
40
45
(b) 連立方程式 (1) の解が
weight
n
xny¯n
i=1 xi yi − n¯
b= ,
n
2 − n¯
x
x2n
i=1 i
Figure 6: 散布図に回帰直線を書き入れたもの (体重が x 軸)
22
a = y¯n −
sxy
x
¯n
s2x
23
今野 良彦
確率統計と情報処理・演習(2014 年度後期)
確率統計と情報処理・演習(2014 年度後期)
今野 良彦
(c) (2) の一番右の等号を確認せよ.
データより求めた回帰直線の方程式
• 締め切りは 2014 年 10 月 24 日(金)13 時
「第 I と第 III 象限にあるデータ数」> 「第 II と第 IV 象限にあるデータ数」
• このレポートは A4 のレポート用紙にかき,数研前のレポート入れに提出す
ること.
=⇒ データの全体は右上がりの傾向
「第 I と第 III 象限にあるデータ数」< 「第 II と第 IV 象限にあるデータ数」
=⇒ データの全体は右下がりの傾向
I
III
II
IV
xi − x
¯n
+
−
−
+
yi − y¯n
+
−
+
−
(xi − x
¯n)(yi − y¯n)
+
+
−
−
24
25
確率統計と情報処理・演習(2014 年度後期)
今野 良彦
「第 I と第 III 象限にあるデータ数」> 「第 II と第 IV 象限にあるデータ数」
ならば,
n
sxy
1
=
(xi − x
¯n)(yi − y¯n) の値は正
n i=1
「第 I と第 III 象限にあるデータ数」< 「第 II と第 IV 象限にあるデータ数」
ならば,
n
sxy =
1
(xi − x
¯n)(yi − y¯n) の値は負
n i=1
27
今野 良彦
sxy
=
s2x =
x と y の共分散と分散
n
1
(xi − x
¯n)(yi − y¯n)
n i=1
n
1
n i=1
(xi − x
¯n)2;
s2y =
確率統計と情報処理・演習(2014 年度後期)
n
1
n i=1
今野 良彦
x と y の相関係数の性質
r =
(yi − y¯n)2
確率統計と情報処理・演習(2014 年度後期)
n
−x
¯n)(yi − y¯n)
sxy
n
=
2
2
sxsy
¯n )
¯n)
i=1 (xi − x
i=1 (yi − y
n
i=1 (xi
• −1 ≤ r ≤ 1
また,s2x の正の平方根を sx,s2y の正の平方根を sy と書く.
• r の値が 1 に近いとき,データの全体は右上がり (正の相関が強い)
s2x > 0, s2y > 0 のとき,
x と y の相関係数の定義
• r の値が −1 に近いとき,データの全体は右下がり (負の相関が強い)
n
¯n)(yi − y¯n)
sxy
i=1 (xi − x
n
=
2
2
s
(x
−
x
¯
)
(y
−
y
¯
)
x sy
n
n
i=1 i
i=1 i
2
2
また,sx の正の平方根を sx,sy の正の平方根を sy と書く.
r =
n
• r の値が 0 に近いとき,無相関
28
確率統計と情報処理・演習(2014 年度後期)
相関係数を求める
確率統計と情報処理・演習(2014 年度後期)
今野 良彦
x3
4.0
x2
3.0
2.0
4.5
5.5
6.5
1 2 3 4 5 6 7
cor:データ iris の散布図と相関係数
> x1<-iris$ Sepal.Length
# データ iris
> x2<-iris$ Sepal.Width
> x3<-iris$Petal.Length
> x4<-iris$Petal.Width
> op<-par(mfrow=c(2,2))
# 4 つの散布図を同時に各コマンド
> plot(x1,x2)
> plot(x1,x3)
> plot(x1,x4)
> plot(x2,x3)
> cor(x1,x2)
[1] -0.1175698
> cor(x1,x3)
[1] 0.8717538
> cor(x1,x4)
[1] 0.8179411
> cor(x2,x3)
[1] -0.4284401
7.5
4.5
5.5
x3
5.5
6.5
x1
30
7.5
7.5
1 2 3 4 5 6 7
x4
0.5
4.5
6.5
x1
2.5
x1
1.5
今野 良彦
29
2.0
2.5
3.0
3.5
4.0
x2
Figure 7: データ iris の散布図:相関係数 -0.1175698(右上)
・0.8717538(左
・-0.4284401
上)
・0.8179411(右下)
31
確率統計と情報処理・演習(2014 年度後期)
今野 良彦
問題3
(a) 50m 走と走り幅跳びのデータを 10 に選び出し,それぞれをオブジェクト x
と y に入力せよ.
(b) オブジェクト x と y の散布図を作成せよ.
(c) 回帰直線 y = a
ˆ + ˆbx を求め,散布図(21316***-scatter.pdf)に描きいれよ.
(d) 相関係数を計算せよ.
• 21316***-目白花子-2014-10-24.txt
33