Professional Documents
Culture Documents
「データ解析のための数理統計入門」
–R のコード–
このファイルでは,本書で取り上げたデータや R で作成した図表や実行した数値計算のコード
が与えられています。R はとても便利なデータ分析ツールですし,もちろんフリーです。新たな
統計手法を組み込んだパッケージが常に更新されています。このファイルは自分で書いたコード
なので,あまり上手に書けていませんが,一応分析することができますので,参考にして下さい。
2
第 1 章 確率モデル
1.1 標本空間
1.2 確率
1.3 初等的な確率計算
階乗 n!, 場合の数 n Pm = n · (n − 1) · · · (n − m + 1), 組み合わせの数 n Cm = n!/{m!(n − m)!} は
次のようにして計算できる。
> n <- 40
> 1- prod((365-n+1):365)/365^n
[1] 0.8912318
10!
= 50400
1!1!2!3!3!
> factorial(10)/(factorial(2)*factorial(3)*factorial(3))
[1] 50400
1.4. 条件付き確率とベイズの公式 3
1.4 条件付き確率とベイズの公式
1.5 事象の独立性
公平なサイコロを 4 回投げたとき,次の確率を求めよう。(1) 少なくとも 1 回は同じ目が出る事
象 A の確率, (2) 少なくても 1 回は 1 の目が出る事象 B の確率
(1) は誕生日問題と同様にして,P(A) = 1 − 6 × 5 × 4 × 3/64 = 0.722 と計算できる。(2) は,4
回すべて 1 以外の目がでる確率を 1 から引くとよいので P(B) = 1 − (5/6)4 = 0.518 となる。
> 1- 6*5*4*3/6^4
[1] 0.7222222
> 1-(5/6)^4
[1] 0.5177469
4
第 2 章 確率変数と確率分布
2.1 離散確率分布
2.1.1 離散確率変数
2.1.2 確率分布の平均と分散
2.1.3 ベルヌーイ分布
X をベルヌーイ確率変数とし P(X = 1) = p とおくと,0 < p < 1 であり,X の確率関数は
p(0) = 1 − p, p(1) = p と書ける。これは
p(x) = px (1 − p)1−x , x = 0, 1
と表される。これをベルヌーイ分布とよび,Ber(p) で表す。
2.1.4 2 項分布
‘成功確率’ が p のベルヌーイ試行を独立に n 回繰り返したときの ‘成功’ の回数を X で表す。X = k
となる確率は, q = 1 − p に対して
n
p(k) = pk q n−k , k = 0, 1, . . . , n (2.1.1)
k
0.30
0.30
0.25
0.25
0.20
0.20
0.15
0.15
0.10
0.10
0.05
0.05
0.00
0.00
0 2 4 6 8 10 0 2 4 6 8 10
0.20
0.3
0.15
0.2
0.10
0.1
0.05
0.00
0.0
0 2 4 6 8 10 0 2 4 6 8 10
2.1.6 ポアソン分布
‘希な現象の大量観測’ において発生する個数の分布を表すのにポアソン分布が用いられる。例
えば,ある都市の1日に起こる交通事故の件数の分布や,ある都市で 1 年間に肺がんにより亡く
なる人数の分布をポアソン分布で表すことが多い。このような希な現象が起こる個数を X で表す
とき,確率関数が
λk −λ
p(k) = P(X = k) = e , k = 0, 1, 2, . . . , (2.1.3)
k!
> la <- 1; x= 2
> dpois(x, la) # ポアソン分布 Po(la)の確率 p(2)の値
[1] 0.1839397
> dpois(c(0:5),la) # ポアソン分布 Po(la)の確率関数 p(0), p(1), ..., p(5)の値
[1] 0.367879441 0.367879441 0.183939721 0.061313240 0.015328310 0.003065662
> ppois(2,la) # 累積分布関数 p(0)+p(1)+p(2)の値
[1] 0.9196986
> qpois(0.5,la) # 分位点 F(x)=0.5
[1] 1
> rpois(5,la) # Po(la)からの乱数
[1] 0 1 1 0 2
P o(λ) の確率関数を,x = 0, 1, . . . , 5 に対してグラフに表すには次のように記述すればよい。
> la <- 1
> plot(0:5, dpois(0:5, la),type="h",ann=F,ylim=c(0,0.4),lwd=5)
0.4
0.4
0.3
0.3
0.2
0.2
0.1
0.1
0.0
0.0
0 2 4 6 8 10 0 2 4 6 8 10
> la <- 1
> n <- 5
> plot(0:10, dbinom(0:10, n, la/n),type="h",ann=F,ylim=c(0,0.5),lwd=5)
> n <- 10
> plot(0:10, dbinom(0:10, n, la/n),type="h",ann=F,ylim=c(0,0.5),lwd=5)
> n <- 100
> plot(0:10, dbinom(0:10, n, la/n),type="h",ann=F,ylim=c(0,0.5),lwd=5)
2.1.7 超幾何分布
壺の中に N 個の玉が入っていて,赤玉が M 個,白玉が N − M 個とする。この壺から無作為に
非復元抽出で K 個のボールを抽出したところ,X 個が赤いボールであったとする。これを表にま
とめると次のようになる。
抽出した玉 残された玉 合計
赤玉 X M −X M
白玉 K −X N −M −K +X N −M
合計 K N −K N
周辺の合計がすべて与えられているときの X の確率分布を超幾何分布とよび,確率関数は x =
0, 1, . . . , K に対して
M N − M . N
P(X = x|N, M, K) = (2.1.4)
x K −x K
2.2 連続確率分布
2.2.1 連続確率分布と特性値
2.2.2 一様分布
区間 [a, b] 上の一様分布の確率密度関数は
2.2. 連続確率分布 9
(
1/(b − a), a ≤ x ≤ b
f (x) =
0, x < a or x > b
2.2.3 指数分布
正の実数直線上に値をもつ連続確率変数 X で,確率密度関数が
> la <- 2
> curve(dexp(x, la), 0, 3,type="l",ann=F,lwd=2)
10 第 2 章 確率変数と確率分布
Ex(4)
1.2
1.0
0.8
0.6
0.4
Ex(1)
0.2
Ex(0.5)
0.0
0 1 2 3 4 5
2.2.4 ガンマ分布
正の実数直線上に値をもつ連続確率変数 X で,確率密度関数が
1 n xo
f (x) = x α−1
exp − , x≥0 (2.2.2)
Γ(α)β α β
0.8
0.8
0.6
0.6
Ga(0.5,1) Ga(2,0.5)
0.4
0.4
0.2 Ga(2,1) Ga(2,1)
0.2
Ga(5,1)
Ga(2,1.5)
0.0
0.0
0 2 4 6 8 10 0 2 4 6 8 10
2.2.5 正規分布
実数直線上に値をもつ連続確率変数 X で,確率密度関数が次の形の分布を正規分布もしくはガ
ウス分布とよび,N (µ, σ 2 ) で表す。
1 n (x − µ)2 o
f (x) = √ exp − , −∞ < x < ∞
2πσ 2σ 2
で表す。
> x <- 1
> dnorm(x) # 標準正規分布 N(0,1)の確率密度 f(1)の値
[1] 0.2419707
> pnorm(x) # 累積分布関数 F(1)の値
[1] 0.8413447
> qnorm(0.95) # 分位点 F(x)=0.95
[1] 1.644854
> qnorm(0.975) # 分位点 F(x)=0.975
[1] 1.959964
> qnorm(0.99) #分位点 F(x)=0.99
[1] 2.326348
> rnorm(10) # N(0,1)からの乱数
[1] 0.8925206 -0.6004978 -0.3743936 -2.4933510 -0.7745514 -0.5095009
[7] -0.6752795 0.5239521 -0.1395848 -0.7150889
12 第 2 章 確率変数と確率分布
0.4
N(0,1) N(0,1)
0.3
0.3
0.2
0.2
N(2,9)
0.1
0.1
N(−1,4)
0.0
0.0
−4 −2 0 2 4 −10 −5 0 5 10
2.2.6 ベータ分布
区間 (0, 1) 上に値をもつ連続確率変数 X で,確率密度関数が
1
f (x) = xa−1 (1 − x)b−1 , 0<x<1
B(a, b)
Beta(6,6)
3
Beta(6,2)
2
Beta(2,2)
1
1
0
0.0 0.2 0.4 0.6 0.8 1.0 0.0 0.2 0.4 0.6 0.8 1.0
2.2.7 寿命分布とハザード関数
指数分布が寿命分布として利用されることを述べた。指数分布を離れて,一般に T が非負の連
続確率変数とし,その密度関数を f (t), 分布関数を F (t) とする。T を故障する時間とみなそう。t
まで動作している条件のもとで次の瞬間に故障する確率密度は
f (t)
h(t) = (2.2.3)
1 − F (t)
ハザード関数が時間の経過に関して一定というのは自然ではないように思われる。例えば時間
の経過とともに故障し易くなる場合や故障しなくなる場合には h(t) = abtb−1 , a > 0, b > 0, なる
ハザード関数が考えられる。この確率密度関数は
となる。これは,ワイブル分布とよばれ,生存解析の分野で基本となる分布である。これを形状
母数 α と尺度母数 β を用いて表すと
α t α−1 n t α o
f (t|α, β) = exp − , t > 0, (2.2.5)
β β β
1
α = b, β=
a1/b
もしくは
1
a= , b=α
βα
のような対応関係がある。Rでは W eibull(α, β) = W eibull(b, 1/a1/b ) が用いられる。
2.3 確率変数の関数の分布と変数変換
章末問題の中に登場する確率分布について
ロジスティック分布 確率密度関数が
e−x
f (x) = , −∞ < x < ∞
(1 + e−x )2
で与えられるとき,ロジスティック分布とよぶ。
2.3. 確率変数の関数の分布と変数変換 15
パレート分布 確率密度関数が
α/β
f (x) = , x > β, α > 0
(x/β)α+1
で与えられるとき,パレート分布とよぶ。分布関数は
β α
F (x) = 1 −
x
であり,F (x) = q となる解は
β
x=
(1 − q)1/α
である。
両側指数分布,ラプラス分布 確率密度関数が
1 n |x − µ| o
f (x) = exp − , −∞ < x < ∞
2σ σ
で与えられるとき,両側指数分布(ラプラス分布)とよぶ。
コーシー分布 確率密度関数が
1 1
f (x) = , −∞ < x < ∞
πσ 1 + (x − µ)2 /σ 2
で与えられるとき,コーシー分布とよぶ。
第3章 2 変数の同時確率分布
3.1 離散確率変数
多次元の離散確率変数の代表例が多項分布である。これは 2 項分布を一般化した分布であり,例
えば m 個の面からなる多面体を n 回投げて 1 から m の面が出る回数を X1 , . . . , Xm とする。それ
ぞれの面の出る確率を p1 , . . . , pm とすると,p1 + · · · + pm = 1 であり,X1 + · · · + Xm = n である。
このとき (X1 , . . . , Xm ) の同時確率関数は次で与えられる。
n!
p(x1 , . . . , xm ) = px1 · · · pxmm (3.1.1)
x1 ! · · · xm ! 1
3.2 連続確率変数
多次元の確率分布において最も重要な分布は多変量正規分布である。簡単のために 2 変量正規
分布を考えると,その同時確率密度関数は
p −1
f (x, y) = 2πσX σY 1 − ρ2 (3.2.1)
h 1 n (x − µ )2 (y − µ )2 (x − µX )(y − µY ) oi
X Y
× exp − + − 2ρ
2(1 − ρ2 ) σX2
σY2 σX σY
で与えられる。
2 次元正規分布は,ベクトルと行列を用いると一般の m 次元へ拡張することができる。
X1 x1 µ1 σ11 · · · σ1m
..
X = ... , x = ... , µ = ... , Σ = ... .
Xm xm µm σm1 · · · σmm
3.3 確率変数の独立性
3.4 条件付き分布
3.5 2 変数関数の変数変換
√
Box-Muller 変換 U1 と U2 を (0, 1) 上の一様分布からの独立な確率変数とし,R = −2 log U1 ,
Θ = 2πU2 とおく。このとき,X = R cos Θ, Y = R sin Θ は独立に分布し,それぞれ標準正規分布
に従う。この変換を利用して正規乱数を発生させてみる。
> n <- 10
> U1 <- runif(n, 0,1); U2 <- runif(n, 0, 1) #一様乱数を生成
> X1 <- sqrt(-2*log(U1))*cos(2*pi*U2)
> X2 <- sqrt(-2*log(U1))*sin(2*pi*U2)
> X <- c(X1, X2)
> X #正規乱数を出力
[1] -0.483767107 0.135314161 0.315902563 2.117356358 0.456102253
[6] -1.761534798 0.979759445 -1.082500551 1.051192740 0.063257293
[11] -0.201042501 -0.177732523 0.009269251 -1.552477100 -2.299075308
[16] -0.528171915 0.577788303 -1.326326657 -0.926174528 1.842317821
20
第 4 章 期待値と積率母関数
4.1 期待値の性質
4.2 共分散と相関係数
4.3 条件付き期待値
4.4 積率母関数と確率母関数
21
第 5 章 統計モデルとデータの縮約
5.1 順序統計量
確率変数 (X1 , X2 , X3 ) の同時確率密度関数が
Γ(β1 + β2 + β3 ) β1 −1 β2 −1 β3 −1
f (x1 , x2 , x3 ) = x y z (5.1.1)
Γ(β1 )Γ(β2 )Γ(β3 )
で与えられる分布をディリクレ分布とよぶ。ただし,0 < x1 , x2 , x3 < 1, x1 + x2 + x3 = 1 であり,
β1 , β2 , β3 は正の実数である。
(β1 , β2 , β3 ) = (4, 2, 3)
のディリクレ分布からの乱数を生成するには,MCMCpack のパッケージをインストールし,li-
bray(”MCMCpack”) として,そのパーケージを読み込む。
> library("MCMCpack")
> be <- c(4,2,3); x <- c(0.5,0.3,0.2)
> ddirichlet(x, be) #確率密度の値
[1] 5.04
> rdirichlet(5, be) #乱数の生成
[,1] [,2] [,3]
[1,] 0.1932511 0.21641332 0.5903356
[2,] 0.3682936 0.40210850 0.2295979
[3,] 0.2215522 0.15821464 0.6202331
[4,] 0.3326953 0.17534101 0.4919637
[5,] 0.6416890 0.07702533 0.2812857
5.2 十分統計量
5.3 階層的な確率モデル
有限混合モデル Y を離散確率変数とし fY (i) = P (Y = i) = pi , i = 1, . . . , k, p1 + · · · + pk = 1 を
満たすものとする。Y = i を与えたときの X の条件付き確率 (密度) 関数を fi (x) と書くと,X の
周辺確率 (密度) 関数は
fX (x) = p1 f1 (x) + · · · + pk fk (x) (5.3.1)
なる形の有限混合分布になる。例えば,大学入試の半年前に実施した模擬試験において, 全受験
者の成績分布を fX (x) とし,そのうち現役生の割合を p1 ,成績分布を f1 (x) とし, 浪人生の割合を
p2 , 成績分布を f2 (x) とする。この場合は k = 2 であり,fX (x) は 2 つの峰をもつ混合分布になる
ことが予想される。
X ∼ p ∗ N (µ, σ 2 ) + (1 − p) ∗ Cauchy(10, 1)
22 第5章 統計モデルとデータの縮約
のような混合分布からの乱数の発生については次のようにすればよい。µ = 2, σ = 1 とし,n = 20
個の乱数を生成している。
正規尺度混合分布 Y を正の連続確率変数とし
のような階層モデルを考えると,X の周辺確率密度関数は
Z ∞
1
√ y 1/2 e−(x−µ) y/2 g(y)dy
2
fX (x) = (5.3.3)
0 2π
と表される。これを正規尺度混合分布とよぶ。例えば,Y がガンマ分布 Ga(α, β) に従う場合が考
えられる。
SN = X 1 + · · · + X N
5.4 ポアソン過程
時間とともに確率変数が変化する確率モデルを確率過程 (stochastic process) とよぶ。ポアソン
過程は時間軸上をランダムに起こる事象についての確率過程である。
時間区間 (0, t] に起こったランダムな事象の回数を Nt とする。
(λt)k
P(Nt = k) = e−λt , k = 0, 1, 2, . . .
k!
を満たすとき,パラメータ λ のポアソン過程 (Poisson process) とよぶ。
パラメータ λ のポアソン過程 {Nt , t ≥ 0} において,初めて事象が起こるまでに要した時間を R1
とし,一般に n − 1 番目の事象が起こってから n 番目の事象が起こるまでに要した時間を Rn と
する。
パラメータ λ のポアソン過程 {Nt , t ≥ 0} は次の性質をもつ。
(1) 任意の s < t に対して Nt − Ns ∼ P o(λ(t − s)) に従う。
(2) {Rn , n = 1, 2, . . .} は互いに独立に指数分布 Rn ∼ Ex(λ) に従う。
(3) Sn = R1 + · · · + Rn とおくと,Sn ∼ Ga(n, 1/λ) に従う。
(4) P(Sn ≤ t) = P(Nt ≥ n) が成り立つ。
第 6 章 大数の法則と中心極限定理
6.1 標本平均と標本分散
6.2 大数の法則
大数の法則 n 個の確率変数 X1 , . . . , Xn は独立に分布し,共通の平均 µ と分散 σ 2 をもつとする。
P
X n = n−1 ni=1 Xi とおくとき,どんな正の定数 c に対しても,n → ∞ とするとき
P(|X n − µ| > c) → 0
となる。この性質を大数の法則とよぶ。
p の確率で表が出るコインを n 回投げたときの平均の収束の様子を調べる実験を行う。
1X
n
1
Gn =
n i=1 (Ui + 1)2
Pn
に従う確率変数 X1 , . . . , Xn に対して Gn = n−1 i=1 Xi4 とおく。このとき大数の法則より Gn →p 3
に確率収束する。
6.3. 中心極限定理 25
6.3 中心極限定理
中心極限定理 確率変数 X1 , . . . , Xn が独立に同一の分布に従い,E[Xi ] = µ, Var(Xi ) = σ 2 とす
る。Xi の積率母関数が存在するとき
Z x
√ 1
√ e−u /2 du = Φ(x)
2
lim P( n(X − µ)/σ ≤ x) =
n→∞ −∞ 2π
が成り立つ。これを中心極限定理とよぶ。
中心極限定理は,n が大きいときには確率変数の和の分布が正規分布で近似できることを意味
する。2項分布はベルヌーイ確率変数の和の分布であるから,この分布が n の増大とともに正規
分布に近づくことを調べてみる。表が出る確率が 0.7 の偏ったコインを 5 回,20 回,40 回と投げ
ると,表の出る回数の分布はそれぞれ 2 項分布 Bin(5, 0.7), Bin(20, 0.7), Bin(40, 0.7) に従う。こ
れらを描くには次のようにすればよい。
plot(0:5,dbinom(0:5, 5, 0.7),type="h",ann=F,ylim=c(0,0.4),lwd=5)
plot(0:20,dbinom(0:20, 20, 0.7),type="h",ann=F,ylim=c(0,0.2),lwd=5)
plot(0:40,dbinom(0:40, 40, 0.7),type="h",ann=F,ylim=c(0,0.15),lwd=5)
0.20
0.15
0.4
0.15
0.3
0.10
0.10
Bin(5,0.7) Bin(20,0.7)
0.2
Bin(40,0.7)
0.05
0.05
0.1
0.00
0.00
0.0
0 1 2 3 4 5 0 5 10 15 20 0 10 20 30 40
a b a b a−0.5 b+0.5
図 6.2: 正規近似の連続補正
m + 0.5 − np m − 0.5 − np
2 1
P(m1 ≤ X ≤ m2 ) ≈ Φ p −Φ p (6.3.1)
np(1 − p) np(1 − p)
6.4 収束関連の事項
√
デルタ法 関数 h(·) は,その微分導関数 h′ (·) が連続で h′ (µ) ̸= 0 とする。 n(Un −µ) →d N (0, σ 2 )
ならば,次の分布収束が成り立つ。
√
n{h(Un ) − h(µ)} →d N 0, σ 2 {h′ (µ)}2 (6.4.1)
√
X1 , . . . , Xn が独立に Ber(θ) に従うとすると,中心極限定理より n(X − θ) →d N (0, θ(1 − θ))
となる。h(θ) = log{θ/(1 − θ)} = log θ − log(1 − θ) をロジットとよぶ。h(θ) の微分導関数は
1 1 1
h′ (θ) = + =
θ 1−θ θ(1 − θ)
6.4. 収束関連の事項 27
√ n X θ o 1
n log − log →d N 0,
1−X 1−θ θ(1 − θ)
第 7 章 正規分布から導かれる分布
7.1 カイ 2 乗分布,t-分布,F-分布
7.1.1 カイ 2 乗分布
カイ 2 乗分布 自然数 m に対して α = m/2, β = 2 であるガンマ分布 Ga(m/2, 2) を自由度 m の
カイ 2 乗分布とよび,χ2m で表す。その確率密度関数は (2.2.2) より次で与えられる。
1 n xo
f (x) = x m/2−1
exp − , x≥0
Γ(m/2)2m/2 2
n=1
0.4
n=3
0.2
n=6
0.0
0 2 4 6 8 10
図 7.1: カイ乗分布の形状
7.1. カイ 2 乗分布,t-分布,F-分布 29
7.1.2 t-分布
t-分布 2 つの確率変数 Z と U が独立に分布し,Z ∼ N (0, 1),U ∼ χ2m に従うとする。
Z
T =p (7.1.1)
U/m
N(0,1)
0.3
0.2
0.1
t1
0.0
−6 −4 −2 0 2 4 6
図 7.2: t-分布と標準正規分布
7.1.3 F-分布
2 つの独立な確率変数 S と T について,S は χ2m に従い, T は χ2n に従うとする。このとき
S/m
Y =
T /n
0 2 4 6 8 10
図 7.3: F-分布の形状
7.2 標本平均と不偏分散の確率分布
確率変数 X1 , . . . , Xn は独立で正規分布 N (µ, σ 2 ) に従うとする。このとき次の性質が成り立つ。
(1) X と V 2 は独立である。
(2) X ∼ N (µ, σ 2 /n)
(3) (n − 1)V 2 /σ 2 ∼ χ2n−1
Pn
従って, i=1 (Xi − X)2 /σ 2 = (n − 1)V 2 /σ 2 は自由度 n − 1 のカイ 2 乗分布 χ2n−1 に従い,T =
(X − µ)/V は tn−1 -分布に従う。
31
第 8 章 パラメータの推定
8.1 推測統計の考え方
8.2 パラメトリック・モデルの例
例 7.1 正規分布の当てはめ 男子大学生 50 人の身長のデータのヒストグラムと正規分布 N (µ, σ 2 )
への当てはめについては次のようにする。
Histogram of x Histogram of x
20
0.08
15
0.06
Frequency
10
0.04
5
0.02
0.00
0
160 165 170 175 180 185 155 160 165 170 175 180 185 190
> time <- c(3.1, 11.1, 7.2, 19.5, 28.9, 80.6, 22.1, 7.1,
+ 10.8, 10.8, 16.9, 12.7, 0.3, 28.0, 0.3, 8.6, 14.1, 30.8,
+ 1.6, 1.0, 4.3, 75.1, 2.6, 1.6, 9.5, 6.0, 8.7, 39.2,
+ 19.7, 15.8, 29.6, 32.9, 26.7, 7.9, 23.5, 12.2, 18.0, 11.7,
+ 54.9, 63.2, 8.6, 12.0, 2.9, 47.1, 15.4, 15.7, 18.9, 42.3, 12.4, 15.3)
> summary(time)
Min. 1st Qu. Median Mean 3rd Qu. Max.
0.300 8.075 13.400 19.384 25.900 80.600
> var(time)
[1] 341.8095
> sd(time)
[1] 18.48809
> hist(time)
> curve(dexp(x, 1/19.334, log = FALSE),labels=NULL, ylim=c(0,0.05), xlim=c
(0,100),xlab="",ylab="")
0.05
35
30
0.04
25
0.03
20
15
0.02
10
0.01
5
0.00
0
0 20 40 60 80 100 0 20 40 60 80 100
1
図 8.2: 犯罪データのヒストグラム (左), Ex( 19.334 ) の形状 (右)
例 7.3 ポアソン分布の当てはめ
東京都 2022 年 6 月の 1 日当たりの交通事故による死亡数のデータ度数分布が次で与えられる。
30 日間のデータなので,n = 30 となる。
死亡数 0 1 2 3 4 5
観測度数 22 7 1 0 0 0
期待度数 22.2 6.7 1.0 0.1 0.0 0.0
8.3 推定方法
8.3.1 モーメント法
ガンマ分布 X がガンマ分布 Ga(α, β) に従うときには,E[X] = αβ, E[X 2 ] = α(α + 1)β 2 となる。
P
X1 , . . . , Xn が Ga(α, β) に従う独立な確率変数のとき,E[X], E[X 2 ] をそれぞれ X, n−1 ni=1 Xi2 で
置き換えると,連立方程式 (
X = αβ,
1
Pn 2 2
n i=1 Xi = α(α + 1)β
Pn
b, βb とし,S 2 = n−1
が得られる。この解を α i=1 (Xi bβb2 ,X = α
− X)2 とおくと,S 2 = α bβb と書け
るので
2
X S2
b=
α , βb =
S2 X
と表される。これらが α, β のモーメント推定量になる。
例 7.2 の時間間隔データを用いたときの,モーメント推定量の値は次のようになる。
> n <- 50
> xo <- mean(time)
> s2 <- var(time)*(n-1)/n
> al <- xo^2/s2
> be <- s2/xo
> al
[1] 1.1217
> be
[1] 17.28092
b = 1.12, βb = 17.28 となるので,指数分布 Ex(λ) を想定した場合と若干異なるが,α の推定値が
α
1 に近いことは指数分布への当てはめが良さそうであることを示唆している。
8.3.2 最尤法
MLE 尤度関数もしくは対数尤度関数を最大にする θ を最尤推定量とよび,MLE で表す。すな
34 第8章 パラメータの推定
b が最尤推定量とは次の式を満たす解のことをいう。
わち,θ
b = max L(θ)
L(θ)
θ
θ = (θ1 , . . . , θk ) であるから,最尤推定量の定義から,連立方程式
∂
L(θ1 , . . . , θk |x) = 0, i = 1, . . . , k,
∂θi
の解が最尤推定量の候補となる。これを尤度方程式とよぶ。
例 7.2 の時間間隔データを用いたときの,MLE の値は次のようになる。
8.4 最尤推定量の漸近正規性
2 項分布 確率変数 X1 , . . . , Xn が独立に Ber(p) に従うとすると,µ = E[X1 ] = p, σ 2 = Var(X1 ) =
p(1 − p) である。log f (X1 |p) = X1 log p + (1 − X1 ) log(1 − p) を p に関して 2 回微分すると
となる。
この収束の様子は次のようにして調べることができる。n = 100 では少し分布が歪んでいるが,
n = 1000 にすると対称に近づく。また p = 1/2 とすると分布が収束しないことが確かめられる。
8.5 クラメール・ラオ不等式と有効性
8.6 十分統計量とラオ・ブラックウェルの定理
36
第 9 章 仮説検定と信頼区間
9.1 仮説検定とは
表の出る回数を X で表すと,X は 2 項分布 Bin(10, θ) に従う。θ = 0.5 と θ = 0.7 のときの X = k
となる確率 p(k|θ) を表示すると次のようになる。
k 0 1 2 3 4 5 6 7 8 9 10
p(k|0.5) .001 .010 .044 .117 .205 .246 .205 .117 .044 .010 .001
p(k|0.7) .000 .000 .001 .009 .037 .103 .200 .267 .233 .121 .028
p(k|0.5)
p(k|0.7)
165 70.8 30.4 13.0 5.58 2.39 1.02 .439 .188 .081 .035
となる。これを第 2 種の誤りの確率とよぶ。
9.2 統計的仮説検定の考え方
9.3 尤度比検定
9.3.1 尤度比とネイマン・ピアソンの補題
9.3.2 尤度比検定と帰無分布の近似
尤度比検定の漸近分布 Θ の次元を m,Θ0 の次元を k (k < m) とし,H0 : θ ∈ Θ0 vs H1 : θ ∈ Θ1
に対する尤度比検定統計量を Λ(X) とする。このとき,帰無仮説 H0 のもとで −2 log Λ(X) の分布
は自由度 m − k のカイ 2 乗分布に収束する。
この結果を用いると,一般的な仮説に対する有意水準 α の尤度比検定の近似的な棄却域は次の
ようになる。
ただし,χ2m−k,α は,自由度 m−k のカイ 2 乗分布 χ2m−k に従う確率変数 U に対して P(U > χ2m−k,α ) =
α を満たす上側 100α% 点である。
χ2m−k
χ2m−k,α
n Pn
1 i=1 (xi − x)2 n(x − µ)2 o
L(µ|x) = exp − −
(2πσ02 )n/2 2σ02 2σ02
b = X であるから,尤度比統計量は
と表され,µ の MLE は µ
L(µ0 |X) n n o
Λ(X) = = exp − 2 (X − µ0 )2
µ|X)
L(b 2σ0
ただし zα/2 は, N (0, 1) に従う確率変数 Z に対して P(Z > zα/2 ) = α/2 を満たす分位点である。棄
却域が両側にできることがわかる。
> qnorm(0.95)
[1] 1.644854
> qnorm(0.975)
[1] 1.959964
> qnorm(0.99)
[1] 2.326348
> qnorm(0.995)
[1] 2.575829
> qchisq(0.95, 1)
[1] 3.841459
> qchisq(0.95, 2)
[1] 5.991465
> qchisq(0.95, 3)
[1] 7.814728
> qchisq(0.95, 4)
[1] 9.487729
> qchisq(0.95, 5)
[1] 11.0705
> qchisq(0.95, 10)
[1] 18.30704
t 検定 上で扱われた両側検定の問題について分散 σ が未知の場合を考える。µ, σ の MLE は µ 2 2
b=
−1
Pn
X, σ̂ = S であり,帰無仮説 H0 : µ = µ0 の制約のもとで σ の MLE は σ̂0 = n i=1 (Xi − µ0 )
2 2 2 2 2
となるので,尤度比統計量は
P
L(µ0 , σ̂02 |X) σ̂ 2 n/2 exp{− ni=1 (Xi − µ0 )2 /(2σ̂02 )}
Λ(X) = = P
µ, σ̂ 2 |X)
L(b σ̂02 exp{− ni=1 (Xi − X)2 /(2σ̂ 2 )}
−n/2
= 1 + n(X − µ0 )2 /(nσ̂ 2 )
N(0, 1)
α 2 α 2
− zα 2 0 zα 2
√
しかし,t 分布を用いると近似ではなく正確な棄却域を求めることができる。T = n(X −µ0 )/V
とおくと H0 のもとで T は自由度 n − 1 の t 分布に従うので,次のような棄却域を用いることがで
きる。 n o
V V
R = x ∈ Rn x < µ0 − √ tn−1,α/2 , x > µ0 + √ tn−1,α/2
n n
このとき,尤度比検定は正確に PH0 (X ∈ R) = α を満たすことがわかる。
> qchisq(0.95, 1)
[1] 3.841459
> qf(0.95, 1, 10)
[1] 4.964603
> qf(0.95, 1, 20)
[1] 4.351244
> qf(0.95, 1, 50)
[1] 4.03431
> qf(0.95, 1, 100)
[1] 3.936143
> qchisq(0.99, 1)
[1] 6.634897
> qf(0.99, 1, 20)
[1] 8.095958
カイ2乗分布を用いた近似値を用いると棄却されやすくなり,有意水準は α より大きくなる傾向
にある。
40 第 9 章 仮説検定と信頼区間
9.4 2 標本の正規母集団に関する検定
9.4.1 平均の同等性検定
9.4.2 分散の同等性検定
分散の不偏推定量を V12 = (m − 1)−1 mS12 , V22 = (n − 1)−1 nS22 とおき,
V12
F =
V22
9.4.3 対のあるデータの同等性検定
9.5 ワルド型検定
9.5.1 最尤推定量に基づいた検定
9.5.2 標本平均に基づいた検定
9.6 信頼区間
9.7 相関係数の検定とフィッシャーの z 変換
2 次元確率変数 (X1 , Y1 ), . . . , (Xn , Yn ) が互いに独立に同一分布に従うとする。
SXY
RXY =
SX S Y
を標本相関係数とよぶ。
2018 年都道府県別の出生率と死亡率のデータ(人口 1, 000 についての率)を扱う。このデータ
の標本相関係数の値は −0.603 となり出生率と死亡率の間には負の相関があることがわかる。
9.7. 相関係数の検定とフィッシャーの z 変換 41
12
10
8
5 6 7 8 9 10 11 12
BIRTH RATES
図 9.3: 出生率と死亡率のプロット
フィッシャーの z 変換 1 + R
1 XY
log Z=
2 1 − RXY
を用いると,H0 : ρ = 0 の両側検定の棄却域は
√
n − 3|Z| > zα/2
√ √
で与えられるので, n − 3|Z| > zα/2 となる。上の例では,n = 47, z = −0.697 より, n − 3|z| =
4.623 となり,z0.025 = 1.96 より「無相関である」という帰無仮説は棄却される。
第 10 章 適合度検定と応用例
10.1 多項分布による適合度検定
10.1.1 カイ 2 乗適合度検定
サイコロはイカサマか サイコロを 30 回投げて歪みがあるか否かを検証する実験を行ったとこ
ろ,出た目の回数が次の表のようになったとする。
サイコロの目 1 2 3 4 5 6
観測度数 5 3 8 2 4 8
期待度数 5 5 5 5 5 5
差の2乗 0 4 9 9 1 9
ここで期待度数はサイコロが正確であると仮定したときに出る理論的な数である。この実験結果
からサイコロは各目が 1/6 の等確率で出る正確なサイコロと考えてよいだろうか。
一般に,m 個のカテゴリー C1 , . . . , Cm について,個々のデータは pi の確率で Ci のカテゴリー
に入ると仮定すると,p1 + · · · + pm = 1 である。n 個のデータについてカテゴリー Ci に入る個数
を xi 個とすると,x1 + · · · + xm = n を満たすことになる。理論上想定される確率が π1 , . . . , πm で
あり,観測データに基づいた確率分布が理論上想定される確率分布に等しいかを検定する問題は
H0 : p1 = π1 , . . . , pm = πm vs. H1 : ある i に対して pi ̸= πi
この仮説を検定するためのカイ2乗適合度検定のための統計量は
X
m
(xi − nπi )2 X
m
(Oi − Ei )2
Q(x) = = (10.1.1)
i=1
nπi i=1
Ei
血液型 A B O AB 血液型 A B O AB
観測度数 317 168 230 85 観測度数 317 168 230 85
理論確率 0.37 0.22 0.32 0.09 期待度数 296 176 256 72
単語 小説 1 小説 2 小説 3 合計 B1 B2 ··· BJ 合計
a 182 103 80 365 A1 x11 x12 ··· x1J x1·
an 24 13 27 64 A2 x21 x22 ··· x2J x2·
this 42 12 16 70 .. .. .. .. ..
. . . ··· . .
that 109 34 24 167 AI xI1 xI2 ··· xIJ xI·
合計 357 162 147 666 合計 x·1 x·2 ··· x·J x··
10.1.2 クロス表データの独立性検定
2 つの事柄の関係性の有無を調べるのにクロス表 (分割表) を用いる。例えば,ある化粧品と皮
膚疾患との関係を調べるため,その皮膚疾患の患者 90 人と健常者 100 人について,その化粧品の
使用と皮膚疾患について調査したところ,表 10.5 のデータが得られた。化粧品と皮膚疾患に因果
関係があるのかが問われているとする。表 10.6 は因果関係がないと仮定したときの期待度数を与
えている。
カイ 2 乗適合度検定を用いて因果関係の有無を検定する方法を考えよう。因果関係が無いとい
うことは A と B が確率的に独立であることに対応するので,帰無仮説
H0 : 「すべての (i, j) に対して pij = pi· × p·j 」
を対立仮説 H1 : 「ある (i, j) に対して pij ̸= pi· × p·j 」 に対して検定することになる。H0 のもと
では E[Xij ] = npi· p·j となる。ここで, pi· は xi· /n で, p·j は x·j /n で推定できるので,H0 のもとで
は npi· p·j を xi· x·j /n で推定することになる。
B1 B2 計
A1 x1· x·1 /n x1· x·2 /n x1·
A2 x2· x·1 /n x2· x·2 /n x2·
計 x·1 x·2 n
そこで,独立性を検定するためには,
X2 X 2
(xij − xi· x·j /n)2
Q(x) =
i=1 j=1
xi· x·j /n
x 12 13 14 15 16 17 18 19 20 21 22 23 24
p(x) 0.0 0.2 1.1 4.4 11.6 20.4 24.6 20.4 11.6 4.4 1.1 0.2 0.0
> fisher.test(matrix(c(21,4,15,10),nrow=2))
Fisher’s␣Exact␣Test␣for␣Count␣Data
data:␣matrix(c(21,␣4,␣15,␣10),␣nrow␣=␣2)
p-value␣=␣0.1137
alternative␣hypothesis:␣true␣odds␣ratio␣is␣not␣equal␣to␣1
95␣percent␣confidence␣interval:
␣0.7923923␣17.8567144
sample␣estimates:
odds␣ratio
␣3.4113
10.2 分布系の検定
10.2.1 Q-Q プロット
例 7.1 でとりあげた身長のデータについては,x = 172, s2 = 4.22 であることからヒストグラム
に正規分布 N (172, 4.22 ) の確率密度関数を重ねてみると図 8.1(右) のようになる。この図から正規
分布への当てはまりの様子を見ることができるが,ここで紹介する Q-Q プロットを用いると当て
はまりの程度がもう少し見やすくなる。図 10.1 は例 7.1 でとりあげた身長のデータに N (172, 4.22 )
を当てはめたときの Q-Q プロットである。直線の近くにプロットされているほど正規分布への当
てはまりがよいことを示しているが,右上の点を除いて直線に沿っていることがわかる。右上の
点が直線から離れていく傾向にあり,正規分布の当てはめの妥当性が懸念される。そこで仮説検
定に基づいた判断が必要になる。
185
180
Sample Quantiles
175
170
165
−2 −1 0 1 2
Theoretical Quantiles
10.2.2 正規性の検定
例 7.1 で取り上げた身長データが正規分布 N (µ, σ 2 ) に当てはまっているかを調べるために正規
分布の検定を考えてみる。正規性の検定を含めて分布の形状を検定するのに用いられるのがカイ
2 乗適合度検定である。階級 I, II, III, IV, V を ∼ 165 ∼ 170 ∼ 175 ∼ 180 ∼ とし,それぞれの階
級に入る度数を数えたものが下の表の観測度数である。このデータの平均と標準偏差は x = 172,
s = 4.2 であるから,正規分布 N (172, 4.22 ) についてそれぞれの範囲の確率を求め,それに 50 を
掛けたものを期待度数として下欄に与える。
階級 I II III IV V
観測度数 2 18 21 7 2
期待度数 2.46 13.46 22.10 10.50 1.48
> sqrt(n/6)*abs(b1)
[1] 1.857876
> sqrt(n/24)*abs(b2-3)
[1] 1.054947
10.2.3 指数分布の検定
1
例 7.2 で取り上げた時間間隔のデータに指数分布 Ex( 19.334 ) を当てはめたものが図 8.2(右) であっ
た。これを Q-Q プロットしてみると,図 10.2 のようになり,右上の点を除いて指数分布がよく当
てはまっていることがわかる。
指数分布の妥当性を検定するためにカイ 2 乗適合度検定を調べてみる。階級 I, II, III, IV, V を
∼ 20 ∼ 40 ∼ 60 ∼ 80 ∼ とし,それぞれの階級に入る度数が下の表で与えられている。指数分布
10.2. 分布系の検定 51
60
40
20
0
0 20 40 60 80
1
図 10.2: Q-Q プロット (データの分布と Ex( 19.334 ) の比較)
1
Ex( 19.334 ) についてそれぞれの範囲の確率を求めそれに 50 を掛けたものを期待度数として下欄に
与える。
階級 I II III IV V
観測度数 35 9 3 2 1
期待度数 32.23 11.45 4.07 1.45 0.80
従うこと」となる。
nS 2 /(X)2 > χ2n−1,α
のとき,H0 を棄却するのが有意水準 α の近似的な尤度比検定になる。上の例では,ns2 /(x2 ) =
50 × 334.97/(19.34)2 = 44.575, χ249,0,05 = 66.34 より,斉時な指数分布であることが受容されるこ
とになる。
10.2.4 ポアソン分布の検定
例 7.3 において,東京都における 2022 年 6 月の 1 日当たりの交通事故による死亡数の分布を扱
い,ポアソン分布 P o(0.3) の適合が良さそうだと述べた。この適合の妥当性をカイ 2 乗適合度検定
を用いて再検討してみよう。
死亡数 0 1 2 3 以上
観測度数 22 7 1 0
期待度数 22.2 6.7 1.0 0.1
> tdd <- c(23, 23, 15, 11, 18, 23, 29, 18, 26, 17, 25, 30,
+ 16, 22, 32, 19, 19, 28, 22, 19, 15, 15, 23, 8,
+ 18, 18, 21, 26, 22, 21, 14, 13, 13, 21, 20, 20,
+ 13, 16, 12, 20, 19, 19, 21, 20, 18, 15, 16, 12,
+ 20, 11, 19, 18, 23, 12, 18, 24, 13, 19, 14, 22,
+ 18, 16, 14, 13, 16, 14, 20, 19, 16, 14, 25, 19,
+ 13, 12, 22, 19, 13, 11, 24, 20, 12, 14, 19, 19,
+ 14, 14, 20, 16, 13, 16, 12, 17, 13, 14, 14, 13,
+ 15, 18, 14, 14, 8, 11, 12, 8, 16, 12, 20, 11,
+ 8, 13, 14, 12, 16, 10, 15, 13, 8, 16, 10, 17)
10.2. 分布系の検定 53
> sort(tdd)
[1] 8 8 8 8 8 10 10 11 11 11 11 11 12 12 12 12 12 12 12 12 12
[22] 13 13 13 13 13 13 13 13 13 13 13 13 14 14 14 14 14 14 14 14 14
[43] 14 14 14 14 15 15 15 15 15 15 16 16 16 16 16 16 16 16 16 16 16
[64] 17 17 17 18 18 18 18 18 18 18 18 18 19 19 19 19 19 19 19 19 19
[85] 19 19 19 20 20 20 20 20 20 20 20 20 21 21 21 21 22 22 22 22 22
[106] 23 23 23 23 23 24 24 25 25 26 26 28 29 30 32
> n=length(tdd)
> mean(tdd) #平均
[1] 16.88333
> var(tdd) #分散
[1] 23.56611
> la <- mean(tdd)
そこでカイ 2 乗検定統計量を計算すると Q = 69.04 となり,自由度は 27 − 1 − 1 = 25 であるから
χ225,0.05 = 37.65 となる。従って有意水準 5% でポアソン分布は棄却される。
nS 2 /X > χn−1,α
2
(10.2.1)
> (n-1)*var(tdd)/mean(tdd)
[1] 166.1027
> qchisq(0.95, 119)
[1] 145.4607
54
第 11 章 回帰分析-単回帰モデル-
11.1 最小 2 乗法
人口とゴミの排出量の関係は,当然人口が増えればゴミの排出量が増えるので,比例関係で説
明できると思われる。教科書では,平成 29 年度 城県の 44 市町村のゴミの 1 日当たりの排出量
(トン単位) のデータを扱っている。
y = −7.650 + 1.099x
300
250
200
150
100
50
0
0 50 100 150 200 250
と書けるので,回帰直線は
b = Sxy (x − x) + y
b + βx
y=α
Sxx
となり,点 (x, y) を通り,傾きが Sxy /Sxx の直線である。
プロ野球セ・リーグの打率成績について 2 年続けて規定打席数に達している選手 18 名の 2020 年
の打率 hit20 と 2021 年の打率 hit21 である。hit21 の成績を hit20 に回帰したときの分析結果は次
のようになる。
0.34
0.32
0.30
0.28
0.26
0.24
図 11.2: プロ野球選手の打率成績の年比較
11.2 単回帰モデル
検定,信頼区間,予測 x から y への因果関係の有無に関する検定問題は
H0 : β = 0 vs. H1 : β ̸= 0
のように書ける。一般に既知の β0 に対して
H0 : β = β0 vs. H1 : β ̸= β0
なる検定問題については √
nSxx b
|β − β0 | ≥ tn−2,α/2
σ̂
のとき H0 を棄却するのが有意水準 α の検定となる。x と y の間の因果関係の有無に関する検定は
√
b
β0 = 0 と置くことにより, nSxx |β|/σ̂ ≥ tn−2,α/2 のとき有意水準 α で因果関係がないことが棄却
される。
ゴミ排出量の例では σ̂ 2 の値は 10.232 = 104.65 である。
β の信頼区間は検定の受容域を反転させて求めることができるので,信頼係数 1 − α の β の信頼
区間は
σ̂
βb ± √ tn−2,α/2
nSxx
となる。ここで a ± b は [a − b, a + b] を意味するものとする。ゴミ排出量の例では,β の 99% 信頼
区間は [1.025, 1.172] となる。
n 1 (x0 − x)2 o
Var(ŷ0 − y0 ) = σ 2 1 + + ≡ σ 2 D2 (11.2.1)
n nSxx
となることから,ŷ0 − y0 ∼ N (0, σ 2 D2 ) と書けることがわかる。従って,(ŷ0 − y0 )/(σ̂D) ∼ tn−2 と
なるので,信頼係数 1 − α の y0 の予測信頼区間は
ŷ0 ± σ̂Dtn−2,α/2
11.3 回帰診断
11.3.1 決定係数
11.3.2 残差分析
回帰分析の妥当性を調べるのに残差 ei = yi − (b b i ), i = 1, . . . , n, が用いられる。残差を標準
α + βx
偏差で割ったもの es,i = ei /σ̂ を標準化残差とよぶ。i もしくは xi を横軸にとって (i, es,i ), (xi , es,i )
などをプロットしたものを残差プロットとよぶ。残差プロットが 0 を中心にランダムに分布し傾
向性が見られなければ回帰分析が妥当であると解釈することができる。
外れ値の有無 回帰分析は外れ値もしくは異常値の影響を敏感に受けるので注意が必要である。
例えば,ゴミ排出量のデータに外れ値 (300, 30) を加えてみるとどうなるであろうか。回帰直線は
y = 10.63 + 0.75x となり,図 11.3(左) のように外れ値の影響を大きく受けてしまう。外れ値もし
くは異常値の存在の有無を調べるには標準化残差で ±2 を超える点に注意するとよい。横軸に人口
をとって標準化残差をプロットしたものが図 11.3(中) であり,1 点だけ明らかに他から離れた点が
58 第 11 章 回帰分析-単回帰モデル-
4
300
2
250
2
200
0
150
−2
100
−2
−4
50
−6
−4
0
0 50 100 150 200 250 300 0 50 100 150 200 250 300 0 50 100 150 200 250
分散の不均一性
図 11.4(左) は 20 社の従業員数 (x) と管理職の人数 (y) をプロットしたもので,標準化残差をプ
ロットしたものが図 11.4(中) である。
従業員数が大きくなるにつれて管理職の人数のバラツキが大きくなる傾向がある。例えば,誤
差の分散が x2i に比例して Var(ui ) = σ 2 x2i と書けているとする。単回帰モデルの両辺を xi で割ると
yi 1 ui
= α+β+
xi xi xi
11.3. 回帰診断 59
2
200
1
150
0
100
−1
−1
50
−2
−2
500 1000 1500 500 1000 1500 500 1000 1500
y = 14.303 + 0.098x
である。
残差プロットは次のようにする。
重み付き最小2乗法の計算
変数変換による回帰モデルへの適合の改善 価格や資産のデータはしばしば右に歪んだ分布をす
る。次のデータは,京浜急行線沿いの 40 箇所の宅地について 2001 年の 1m2 当たりの公示価格 (y,
千円単位) と東京駅から最寄り駅までの乗車時間 (x, 分単位) のデータであり,それをプロットし
たものが図 11.5(左) で与えられる。回帰式は
y = 584.74 − 5.76x
となる。
3
600
2
500
1
400
0
300
−1
−1
−2
−2
200
−3
−3
20 40 60 80 20 40 60 80 20 40 60 80
> install.packages("e1071")パッケージ‘ ’
2
1
1
0
0
−1
−1
−2
−2
−2 −1 0 1 2 −2 −1 0 1 2
> qqnorm(resd.price)
> qqnorm(resd.lprice)
0.6
25
0.4
0.4
20
0.2
0.2
15
0.0
0.0
10
−0.2
−0.2
5
−0.4
−0.4
−0.6
−0.6
0
0 5 10 15 20 25 5 10 15 5 10 15
そこで,ダービン・ワトソン統計量 DW を用いて系列相関の有無を調べてみる。単回帰モデルは
yt = α + βxt + ut , ut = ρut−1 + εt , t = 1, . . . , n
となる検定をダービン・ワトソン検定とよぶ。dL , dU の値は有意水準と自由度に依存し数表で与
えられる。図 11.7 の例では,DW の値が 0.330 になり,有意水準 5%, 自由度 18 − 2 = 16 では
dL = 1.10 であるから,H0 は棄却される。R でダービン・ワトソン検定を行うには,パッケージ
を利用するのが便利である。ここでは,lmtest というパッケージを利用している。
> install.packages("lmtest")
> library(lmtest)
> dwtest(con.lm)
Durbin-Watson test
data: con.lm
DW = 0.34246, p-value = 1.021e-07
alternative hypothesis: true autocorrelation is greater than 0
残差に系列相関が存在する場合,それを取り除く方法としてコクラン・オーカット法が知られ
ている。
yt∗ = α∗ + β ∗ x∗t + εt , t = 2, . . . , n
このモデルの残差をプロットしてみてなお系列相関があるときには上の方法をもう一度行うとよ
いとされる。上の例では ρ̂ = 0.765 であるからコクラン・オーカット法により回帰分析を行い残
差をプロットしたものが図 11.7(右) である。系列相関の傾向が緩和されるのがわかる。DW の値
は 1.443 となり,自由度 15 の dU の値が dU = 1.36 なので H0 は受容される。R でコクラン・オー
カット法による分析を行うには,パッケージを利用するのが便利である。ここでは,orcutt とい
うパッケージを利用している。
66 第 11 章 回帰分析-単回帰モデル-
> install.packages("orcutt")
> library(orcutt)
> cochrane.orcutt(con.lm, convergence=8, max.iter=100)
Cochrane-orcutt estimation for first order autocorrelation
Call:
lm(formula = con ~ mon)
number of interaction: 13
rho 0.765768
Durbin-Watson statistic
(original): 0.34246 , p-value: 1.021e-07
(transformed): 1.18743 , p-value: 1.802e-02
coefficients:
(Intercept) mon
-1.449579 0.909531
得られる回帰直線は y = −1.45 + 0.91x になる。
個々のデータの影響力の測定 てこ比 pii は
1 (xi − x)2
pii = + Pn
k=1 (xk − x)
n 2
b(−i) + βb(−i) xj ,
ŷj(−i) = α j = 1, . . . , n
e2i pii
Ci =
2σ̂ 1 − pii
2
と表すことができる。
ゴミ排出データと打率データについてクックの距離を求めてみると,それぞれ図 11.8 の左図と
右図のようになる。ゴミ排出データでは一番大きな人口のデータのクックの距離が 2 を超えてお
りかなり大きな影響を与えていることがわかる。打率データでは一番大きなクックの距離でも 0.3
より小さいので大きな影響を与える観測値はないようである。
R を用いると,クックの距離を次のようにして描くことができる。
> plot(cooks.distance(gar.lm))
> plot(cooks.distance(BA.lm))
11.3. 回帰診断 67
2.5
0.5
2.0
0.4
1.5
0.3
1.0
0.2
0.5
0.1
0.0
0.0
0 10 20 30 40 5 10 15
第 12 章 重回帰モデル
12.1 重回帰モデルの行列表現と最小 2 乗法
単回帰モデルは共変量の数が 1 つであったが,この章では共変量が複数ある場合に拡張するこ
とを考える。例えば,京浜急行線沿いの 30 箇所の宅地について 2001 年の 1m2 当たりの公示価格
(yi ) と東京駅から最寄り駅までの時間 (x1i ) 及び宅地から最寄り駅までの距離 (x2i ) のデータを扱
う。6 つの駅について駅近くの 5 つの宅地が選ばれている。土地価格の単位は千円,東京駅までの
乗車時間は分単位で,駅までの距離の単位は 10m である。土地価格が東京駅までの乗車時間でか
なり説明できることは残差分析を扱った 11.3.2 節で調べた。同じ駅近くの宅地であれば駅に近い
ほど価格が上がるのが自然なので,駅までの距離 x2i を説明変数に加えた方が土地価格を説明する
モデルとしては望ましいように思われる。
y = Xβ + u (12.1.2)
という形で簡潔に表すことができる。
回帰係数ベクトル β の最小 2 乗推定量は
で与えられる。
P = X(X ⊤ X)−1 X ⊤
12.1. 重回帰モデルの行列表現と最小 2 乗法 69
とおくと
X
n
⊤ b ⊤ (y − X β)
y (I − P )y = (y − X β) b = {yi − (β0 + βb1 x1i + · · · + βbk−1 xk−1,i )}2
i=1
R を用いて重回帰分析を行うには次のようにすればよい。
を考え,このモデルに基づいて最小 2 乗推定値を求めると,回帰直線は
これを乗法モデルとよぶ。eui の分布は対数正規分布とよばれる。
70 第 12 章 重回帰モデル
12.2 最小 2 乗推定量の性質
誤差項のベクトル u は E[u] = 0, Cov(u) = σ 2 I を満たすと仮定する。β b を β の最小 2 乗推定
量,RSSk を残差平方和とする。
b については E[β]
(1) β b = β ,Cov(β) b = σ 2 (X ⊤ X)−1 となる。
(2) RSSk については E[RSSk ] = (n − k)σ 2 となる。
これより,σ 2 の不偏推定量は次で与えられることがわかる。
1
σ̂ 2 = RSSk (12.2.1)
n−k
12.3 回帰係数の仮説検定
r ≤ k − 1 に対して仮説検定問題
12.4 変数選択の方法
重相関係数と決定係数
重回帰モデルにおいては,相関係数
Pn
i=1 (ŷi − y)(y − y)
R = Pn Pn i
{ i=1 (ŷi − y) 2
i=1 (yi − y) }
2 1/2
X
n X
n
R =1−
2
(yi − ŷi ) /
2
(yi − y)2 (12.4.1)
i=1 i=1
と表すことができる。
例えば,土地価格のデータの解析について,次の 4 つのモデルを考えてみる。
M0 yi = β0 + β1 x1i + β2 x2i + ui
M1 log(yi ) = β0 + ui
(12.4.2)
M2 log(yi ) = β0 + β1 log(x1i ) + ui
M3 log(yi ) = β0 + β1 log(x1i ) + β2 log(x2i ) + ui
このとき,回帰直線は
> mean(lprice)
[1] 5.714284
> price.lm0 <- lm(price ~ 1+time + dist)
> summary(price.lm0)
Call:
lm(formula = price ~ 1 + time + dist)
Residuals:
Min 1Q Median 3Q Max
-107.54 -50.77 -24.69 33.76 199.91
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 550.5653 36.6359 15.028 1.23e-14 ***
time -3.7450 0.7176 -5.219 1.69e-05 ***
dist -0.6549 0.3098 -2.114 0.0439 *
---
Signif. codes: 0 ‘ *** ’ 0.001 ‘ ** ’ 0.01 ‘ * ’ 0.05 ‘ ’. 0.1 ‘ ’1
Residual standard error: 80.69 on 27 degrees of freedom
Multiple R-squared: 0.6257, Adjusted R-squared: 0.5979
F-statistic: 22.56 on 2 and 27 DF, p-value: 1.734e-06
で定義される。これを書き直すと
n−1
R∗2
k = 1− (1 − R2 )
n−k−1
となる。分母の n − k は母数が多くなることに対するペナルティとして機能しており,自由度調整
済み決定係数 R∗2 k を最大にする説明変数の組を選ぶことになる。
土地価格データについて (12.4.2) の回帰モデルの自由度調整済み決定係数を求めると,M0:0.598,
M1 :0, M2 :0.670, M3 :0.718 となり,対数変換した重回帰モデル M3 が選ばれる。
情報量規準 モデルの汎化能力を担保するために予測誤差を小さくするような変数選択の方法が
考えられる。その1つが赤池情報量規準で,期待予測誤差の推定量を最小にする統計モデルを選
択する手法である。赤池情報量規準 (AIC) は
b
AICk = −2 log f (y|X β(y), σ̂ 2 (y)) + 2(k + 1) (12.4.4)
で与えられる。
表??のデータについて, (12.4.2) の中で回帰モデル M2 と M3 の leave-one-out クロスバリデー
ションを計算すると,M2 :0.050, M3 :0.044 となり,重回帰モデル M3 の値の方が小さい。
R で計算するには,caret というライブラリーを用いる。
> library(caret)
> df <- data.frame(y=lprice, x1=log(time), x2=log(dist))
> ctrl <- trainControl(method = "LOOCV")
>
> model1 <- train(y ~ x1, data = df, method = "lm", trControl = ctrl)
>
> model1
Linear Regression
30 samples
1 predictor
No pre-processing
Resampling: Leave-One-Out Cross-Validation
Summary of sample sizes: 29, 29, 29, 29, 29, 29, ...
Resampling results:
RMSE Rsquared MAE
0.2247412 0.6348154 0.1694445
Tuning parameter ’intercept’ was held constant at a value of TRUE
>
> 0.2247412^2
[1] 0.05050861
> model2 <- train(y ~ x1 + x2, data = df, method = "lm", trControl = ctrl)
> model2
Linear Regression
30 samples
2 predictor
No pre-processing
Resampling: Leave-One-Out Cross-Validation
Summary of sample sizes: 29, 29, 29, 29, 29, 29, ...
Resampling results:
RMSE Rsquared MAE
0.2106649 0.6791215 0.1595808
Tuning parameter ’intercept’ was held constant at a value of TRUE
>
> 0.2106649^2
[1] 0.0443797
12.5 応用例
多項式回帰と双曲線回帰 n 個の 2 次元データ (y1 , x1 ), . . . , (yn , xn ) について, xi の多項式で説明
するモデル
Mk yi = β0 + β1 xi + β2 x2i + · · · + βk−1 xk−1
i + ui (12.5.1)
を多項式回帰とよぶ。xji = xji とおくと重回帰モデルの特別な場合として扱うことができる。多
項式の次数を決めるには変数選択規準 AIC を用いるとよい。
12.5. 応用例 77
モデル M1 M2 M3 M4 M5
AIC 505.1 447.9 420.2 411.5 413.4
回帰式は
y = 1066 − 35.25x + 0.508x2 − 0.0026x3
で与えられる。回帰係数の値はすべて有意水準 1% で有意になる。
> price
[1] 607 629 484 605 463 470 550 400 367 416 375 332 302 331 313 332 271 315
249
[20] 335 340 245 264 223 245 210 276 212 213 205 233 206 163 235 194 223 213
198
[39] 157 143
> ttime
[1] 16 18 19 20 22 23 27 29 30 31 32 33 35 36 38 38 39 40 42 43 47 48 49 50
53 54
[27] 56 57 59 63 65 66 69 70 71 72 73 75 86 88
4
600
600
500
500
2
400
400
0
300
300
−2
200
200
100
100
−4
20 40 60 80 20 30 40 50 60 70 80 90 20 40 60 80
M1 yi = β0 + β1 xi + ui , i = 1, . . . , 24
12.5. 応用例 81
M2 yi = β0 + β1 xi + β2 × Deci + ui , i = 1, . . . , 24
モデル M1 M2 M3
AIC 242.46 234.89 226.55
12.6 多重共線性
多重共線性の節は割愛された関係から,この節の内容の説明については,DataM ath hosoku.pdf
のファイルを参照して下さい。そこで取り上げた数値計算のコードが以下に与えられます。
b を求めるときに k 次正方行列 X ⊤ X が正則であることを仮定した。列ベクト
最小 2 乗推定量 β
ルを用いて X = (1, x(1) , . . . , x(k−1) ) と書くことにすると,k 個の列ベクトル {1, x(1) , . . . , x(k−1 }
が線形独立であるとき,X はフルランクであるという。X ⊤ X が正則行列であることと X がフル
ランクであることは同値である。しかし,例えば経済指数のように時間とともに同じように変動
する変数を多く用いると {1, x(1) , . . . , x(k−1 } が線形独立でなくなることが起こりうる。これを多
重共線性とよぶ。
いま X のランクを r(< k) とすると,X ⊤ X は対称行列なので,H ⊤ 1 H 1 = I r なる k × r 行列
H 1 を用いて次のように分解できる。
X ⊤ X = H 1 DH ⊤
1, D = diag (d1 , . . . , dr )
84 第 12 章 重回帰モデル
単回帰分析の例としてゴミの排出量と人口との関係を表??で紹介した。ここでは,10 の市町村
を選んで,ゴミの排出量 (y, 10t 単位), 15 歳から 64 歳までの人口 (x1 , 万人単位), 人口密度 (x2 , 100
人単位), 総所得 (x3 ,10 億円単位の値を対数変換したもの) を表??にまとめてある。
> cor(cbind(x1,x2,x3))
x1 x2 x3
x1 1.0000000 0.9577278 0.9660680
x2 0.9577278 1.0000000 0.8847685
x3 0.9660680 0.8847685 1.0000000
> X <- matrix(cbind(rep(1,10), x1,x2,x3),nrow=10)
> A=t(X)%*%X
> eiA <- eigen(A, sym=TRUE)
> H <- eiA$vectors
> eiA
eigen() decomposition
$values
[1] 727.2178019 29.4632239 2.4166143 0.0383314
$vectors
[,1] [,2] [,3] [,4]
[1,] -0.09490487 0.3258683 0.3476116 0.87405327
[2,] -0.55569202 0.2608022 -0.7749215 0.15061624
[3,] -0.76314833 -0.5346234 0.3619754 -0.02750005
[4,] -0.31591781 0.7348264 0.3842352 -0.46107416
%$
e (+) = H 1 D −1 H ⊤ X ⊤ y
β 1
という推定量が得られる。
上のゴミ排出量のデータについては,X ⊤ X の最小固有値 0.04 を 0 と見なして D = diag (727, 29, 2.4)
e (+) を求めることができる。その結果得られる回帰直線は
とすると, H 1 は 4 × 3 の行列となり β
b R = (X ⊤ X + λI)−1 X ⊤ y
β λ
で与えられる。
86 第 12 章 重回帰モデル
第 13 章 ロジスティック回帰とポアソン回帰
13.1 2 値データとロジスティック回帰
ロジスティック回帰 いま Y1 , . . . , Yn を独立な確率変数で Yi がベルヌーイ分布 P(Yi = 1) = pi ,
P(Yi = 0) = 1 − pi に従うとする。観測データ yi は Yi の実現値である。pi が大きければ Yi = 1 と
なる確率が大きくなるので,pi を xi の関数で表すと,xi の値に応じて pi の値に変化が生ずるかを
データから捉えることができ,xi が yi にどの程度影響するかを調べることができる。そこで,pi
は xi の関数として pi = p(xi ) で表すことにする。ここで問題になるのが,0 < p(xi ) < 1 という制
約がある。この制約を考慮して pi と α + βxi とを関係づける関数 p(xi ) として
p(x )
i
log = α + βxi
1 − p(xi )
をとると
eα+βxi
p(xi ) = (13.1.1)
1 + eα+βxi
と書ける。これをロジスティック関数とよぶ。
1.0
1.0
0.8
0.8
0.6
0.6
0.4
0.4
0.2
0.2
0.0
0.0
−4 −2 0 2 4 −4 −2 0 2 4
ベルヌーイ分布に基づいた確率モデル
Y
n Y
n
P(Yi = yi ) = {p(xi )}yi {1 − p(xi )}1−yi
i=1 i=1
番号 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
濃度 (x) 0 0 0 0 1 1 1 1 2 2 2 2 3 3 3 3 4 4 4 4
致死 (y) 1 0 0 0 0 1 0 0 1 0 0 1 1 1 1 0 1 1 1 1
e−1.76+1.03x
p(x) =
1 + e−1.76+1.03x
と書けるので,p(0) = 0.15, p(1) = 0.33, p(2) = 0.57, p(3) = 0.79, p(4) = 0.91 となる。x ≥ 2 のと
き 50% 以上の確率で致死することがわかる。仮説検定 H0 : β = 0 については,P 値が 0.026 なの
で有意水準 5% で有意となる。
布に組み込んだモデルをプロビット・モデルとよぶ。用量-反応データにプロビット回帰モデルを
当てはめて α, β の推定値を求めてみると,α b = −1.04, βb = 0.62 となる。p(x) = Φ(−1.04 + 0.62x)
と書けるので,p(0) = 0.15, p(1) = 0.34, p(2) = 0.58, p(3) = 0.79, p(4) = 0.93 となり,ロジス
ティック回帰を用いた場合とかなり近い値を示している。また仮説検定 H0 : β = 0 については,P
値が 0.014 なので有意水準 5% で有意となる。
2 項-ロジスティック回帰
これまで説明してきたモデルは個々の虫の致死に関するベルヌーイ分布に基づいているが,用
量に応じた致死数が集計データとして報告される場合が一般的である。次のデータは,ニコチン
の毒性に関する用量-反応関係を調べた実験結果である。x はニコチンの濃度 (グラム/100cc 単位),
n がハエの数,y がハエの致死数である。
> require(stats)
> summary(esoph)
agegp alcgp tobgp ncases ncontrols
25-34:15 0-39g/day:23 0-9g/day:24 Min. : 0.000 Min. : 0.000
35-44:15 40-79 :23 10-19 :24 1st Qu.: 0.000 1st Qu.: 1.000
45-54:16 80-119 :21 20-29 :20 Median : 1.000 Median : 4.000
55-64:16 120+ :21 30+ :20 Mean : 2.273 Mean : 8.807
65-74:15 3rd Qu.: 4.000 3rd Qu.:10.000
75+ :11 Max. :17.000 Max. :60.000
13.2. ポアソン回帰 91
> p = function(x1,x2,x3){1-1/(1+exp(-7.16+0.74*x1+1.10*x2+0.43*x3))}
> p(1:6,4,4)
[1] 0.4255575 0.6082590 0.7649478 0.8721384 0.9346247 0.9677045
> p(6,1,1)
[1] 0.2332589
> p(6,4,4)
[1] 0.9677045
> p(6,4,4)/p(6,1,1)
[1] 4.148628
13.2 ポアソン回帰
死亡数に影響を与える要因分析を考える。いま g 個の確率変数 Y1 , . . . , Yg が独立に分布し,Yi ∼
P o(ni λi ) に従うとする。また g 個の k + 1 次元データ (y1 , x1 ), . . . , (yg , xg ) が観測されているとし,
yi は Yi の実現値であるとする。このとき,λi に対して xi を
のように対応させることを考える。これをポアソン回帰モデルとよぶ。
表 13.2 は,173 匹の雌カブトガニの色と重さ,その周囲に集まる雄カブトガニの個数のデータの
一部である。雌カブトガニが産卵するときその周囲に雄カブトガニが集まる習性があり衛生雄カ
ブトガニとよばれる。雌カブトガニのどのような特徴が衛星雄カブトガニの個数に影響を与える
のかを目的に調査された。(汪金芳 (2016)「一般化線形モデル」より引用) 色については,やや明るい,
中程度,やや暗い,暗いをそれぞれ x1i = 1, 2, 3, 4 とし,重さ (kg) を x2i とおくことにする。雄の
92 第 13 章 ロジスティック回帰とポアソン回帰
表 13.2: カブトガニのデータ
雌の番号 1 2 3 4 5 6 ···
色 (x1i ) 2 3 3 4 2 1
重さ (x2i ) 3.05 2.60 2.15 1.85 3.00 2.30
雄の個数 (yi ) 8 4 0 0 1 3
第 14 章 ベイズ統計と MCMC 法
14.1 事前分布と事後分布
14.2 代表例
ベルヌーイ・ベータモデル X1 , . . . , Xn が独立にそれぞれベルヌーイ分布 Ber(θ) に従い,θ の
事前分布はベータ分布 Beta(α0 , β0 ) とし,α0 , β0 の値はわかっているものとする。このとき,θ の
事後分布がベータ分布 Beta(nx + α0 , n(1 − x) + β0 ) に従う。
n = 40, nx = 10 のとき,2 つの事前分布 (a) α0 = β0 = 1, (b) α0 = 10, β0 = 2 を考えてみると,
事後分布は (a) Beta(11, 31), (b) Beta(20, 32) となり,図 14.1 のような形状になる。ベイズ推定
値はそれぞれ (a) 11/42 = 0.26, (b) 20/52 = 0.38 となり,信用係数 95% のベイズ信用区間は (a)
[0.14, 0.40], (b) [0.26, 0.52] となる。一方 MLE については,x = 0.25 であり,信頼係数 95% の信
頼区間は X ± {X(1 − X)/n}1/2 z0.025 より [0.12, 0.38] で与えられる。(b) の場合からわかるように
ベイズ手法は事前分布の設定に敏感に反応してしまう。その意味では,信頼性の高い事前情報が
得られないときには,(a) の設定のように区間 (0, 1) 上の一様分布として曖昧な事前分布に設定し
ておいた方がよい。曖昧な事前分布のもとで得られたベイズ推定値と信用区間は MLE に基づいた
推定値と信頼区間に近い値を示している。
6
5
5
4
4
3
3
2
2
1
1
0
0.0 0.2 0.4 0.6 0.8 1.0 0.0 0.2 0.4 0.6 0.8 1.0
で与えられる。
いま n = 20 に対して x = 5 というデータが観測されたとし,分散は σ02 = 4 であるとする。
µ の事前情報は曖昧なので事前分布として N (0, 100) を用いてみる。このとき,µ のベイズ推定
値は 4.99, 信用係数 95% のベイズ信用区間は [4.11, 5.87] となる。信頼係数 95% の µ の信頼区間
√
x ± (σ0 / n)zα/2 を計算すると [4.12, 5.88] となる。
> n <- 20; xo <- 5; si0 <- 2; mu0 <- 0; ta0 <- 10
> muh <- ((n/si0^2)*xo+(1/ta0^2)*mu0)/((n/si0^2)+(1/ta0^2))
> sih <- 1/sqrt(((n/si0^2)+(1/ta0^2)))
> curve(dnorm(x, muh, sih^2), muh-1, muh+1)
>
> muh
[1] 4.99002
> muh - sih*qnorm(0.975)
[1] 4.114373
> muh + sih*qnorm(0.975)
[1] 5.865667
のような形で表されることがわかる。この密度関数は
p
(n + λ0 )(n + 2α0 )
√ (µ − µ
bB )
V
1 − γ の µ の信用区間は √
V
b ±p
µB
tn+2α0 ,γ/2
(n + λ0 )(n + 2α0 )
で与えられる。
いま n = 20 に対して x = 5, s2 = 4 というデータが観測されたとする。µ については λ0 = 1/100
として曖昧な事前分布 N (0, 100σ 2 ) とし, α0 = 1, β0 = 100 としてみる。このとき,µ のベイズ推
定値は 5.00, 信用係数 95% のベイズ信用区間は [4.11, 5.88] となる。信頼係数 95% の µ の信頼区間
p √
x ± ( s2 n/(n − 1)/ n)tn−1,0.025 を計算すると [4.04, 5.96] となり,ベイズ信用区間より少し広く
なる。
> n <- 20; xo <- 5; S <- 2; mu0 <- 0; la0 <- 1/100;
> al0 <- 1; be0 <- 100
> muh <- (n*xo+la0*mu0)/(n+la0)
> V <- n*la0*(xo-mu0)^2/(la0+n)+n*S^2+2/be0
> muh
[1] 4.997501
> V
[1] 80.26988
> muh-sqrt(V/((n+la0)*(n+2*al0)))*qt(0.975, n+2*al0)
[1] 4.11193
> muh+sqrt(V/((n+la0)*(n+2*al0)))*qt(0.975, n+2*al0)
[1] 5.883073
となることがわかる。λ のベイズ推定量は
β0
λ̂B = E[λ|X] = (X + α0 )
1 + nβ0
となり,信用区間については簡便なものが用いられる。
例えば,n = 20, x = 20 のとき,α0 = 1, β = 100 のような曖昧な事前分布を設定すると,事
後分布は Ga(21, 0.049975) となるので,ベイズ推定値は λ̂B = 1.05, 信用係数 95% の信用区間は
q
[0.65, 1.54] となる。一方,MLE については λ̂ = 1 であり,信頼係数 95% の信頼区間 λ̂ ± λ̂/nz0.025
は [0.56, 1.44] となり,曖昧な事前分布のベイズ手法に近い値を示している。
> n <- 20; x <- 20; al0 <- 1; be0 <- 100
> lah <- be0*(x+al0)/(1+n*be0)
> lah
[1] 1.049475
> alh <- x+al0; beh <- be0/(1+n*be0)
> qgamma(0.025, alh, 1/beh)
[1] 0.6496417
> qgamma(0.975, alh, 1/beh)
[1] 1.543647
96 第 14 章 ベイズ統計と MCMC 法
14.3 ベイズ流仮説検定とベイズ・ファクター
確率変数の組 X の同時確率 (密度) 関数を fn (x|θ) で表すとき,母数空間 Ω = {θ} が 2 つの部分
集合 Ω0 , Ω1 に分割されるとする。ここで Ω0 ∩ Ω1 = ∅, Ω0 ∪ Ω1 = Ω を満たすとする。このとき,
一般に仮説検定は
H0 : θ ∈ Ω0 vs. H1 : θ ∈ Ω1
R
と表される。それぞれの仮説の事前確率は,P(Hi ) = Ωi π(θ)dθ = wi , i = 0, 1, と表され,仮説の
上の事前分布は
wi πi (θ)I(θ ∈ Ωi )
π(θ|Hi ) = = πi (θ)I(θ ∈ Ωi )
P(Hi )
と書ける。このとき仮説 Hi のもとでの X の周辺尤度は
Z Z
m(x|Hi ) = fn (x|θ)π(θ|Hi )dθ = fn (x|θ)πi (θ)dθ
Ωi Ωi
のように変形することができる。どちらの仮説を選択するかを決める一つの方法として,事後オッ
ズ比が 1 より大きいか小さいかで次のように判断することが考えられる。
よく知られた仮説選択の方法にベイズ・ファクターがある。周辺尤度の比
R
m(x|H0 ) fn (x|θ)π0 (θ)dθ
BF01 = = RΩ 0 (14.3.2)
m(x|H1 ) f (x|θ)π1 (θ)dθ
Ω1 n
をベイズ・ファクターとよび,次のように判断する。
と表される。従って,ベイズ・ファクターは
fn (x|m0 )
BF01 = R ∞
−∞ n
f (x|µ)π(µ)dµ
p n o
σ02 + nτ02 n n
= exp (x − µ 0 ) 2
− (x − m 0 ) 2
σ0 2(σ02 + nτ02 ) 2σ02
のとき H0 を棄却することになる。
いま n = 20 に対して x = 5 というデータが観測されたとし,分散は σ02 = 4 であるとする。µ
の事前情報は曖昧なので事前分布として N (0, 100) としてみる。H0 : µ = m0 を検定するときのベ
イズ・ファクターについて,その常用対数をとったものは m0 の関数になるが,横軸を m0 の値を
とって図示したものが図 14.2 である。
4
2
0
−2
−4
3 4 5 6 7
14.4 事前分布の選択
14.5 マルコフ連鎖モンテカルロ法
14.5.1 乱数生成の基本的な方法
受容・棄却法
いま確率密度関数 π(y) からの乱数を生成したいとする。π(y) からの乱数発生方法はわからない
が,別の確率密度関数 h(y) からの乱数発生法がわかっているものとする。h(y) からの乱数を用い
て π(x) からの乱数を生成する方法が受容・棄却法である。
π(y) のサポートが h(y) のサポートに含まれるとする。また M を次で定義し有限であるとする。
n π(y) o
M = maxy
h(y)
となり,受容・棄却法は次のようになる。
Step 1. U ∼ U (0, 1), V ∼ U (0, 1) を独立に発生させる。
Step 2. U ≤ π(V )/M ならば V を π(y) からのサンプルとして受容して Y = V とおき,そうで
なければ棄却して Step 1 へ戻る。
a = 2, b = 4 として受容・棄却法を用いて 10000 個の乱数を発生させてヒストグラムに描いたも
のが図 14.4 である。
14.5. マルコフ連鎖モンテカルロ法 99
400
300
200
100
0
0.0 0.2 0.4 0.6 0.8
14.5.2 ギブス・サンプリング
分散既知の正規分布 標本平均の分布が X ∼ N (µ, σ02 ) に従い,µ の階層事前分布が µ|η ∼
N (µ0 , 1/η), η ∼ η a であるとする。このとき,完全条件付き分布は
14.5.3 データ増幅法
t-分布からの乱数 2 つの確率変数 X, Y について
600
10
400
200
5
0
−4 −2 0 2 4 −4 −2 0 2 4
> x<- 0
> y<- 12
> m <- 22
> set.seed(2)
> S<- 10000
> PHI<-matrix(nrow=S,ncol=2)
> PHI[1,]<-phi<-c(x,y)
> for(s in 2:S) {
+ phi[1]<-rnorm(1, 0, m/phi[2] )
+ phi[2]<- rgamma(1, (m+1)/2, ((phi[1])^2/m+1)/2)
+ PHI[s,]<-phi }
>
> hist(PHI[,1], breaks=50, axes=F,labels=NULL,xlab="",ylab="",main="")
14.5.4 メトロポリス・ヘイスティング・サンプリング
初期値 x(0) のもと更新されて x(k−1) が得られたとする。
Step 1. q(y|x(k−1) ) から y (k) を発生させる。
Step 2. U ∼ U (0, 1) を発生させ,
(
y (k) , U ≤ α(x(k−1) , y (k) ) の場合
x(k) =
x(k−1) , U > α(x(k−1) , y (k) ) の場合
600
150
500
400
100
300
200
50
100
0
−4 −2 0 2 4 −4 −2 0 2 4
> m <- 7
> x<-5; S<-10000 ; T<-NULL ; set.seed(1);a=0.2
> for(s in 1:S)
+ { x.star<-rnorm(1,x,a)
+ alpha<-( exp(((m+1)/2)*(log(1+x^2/m)-log(1+(x.star)^2/m))) )
+ if(runif(1)<alpha) { x<-x.star }
+ T<-c(T,x)
+ }
> TB <- T[500:10000]
>
> hist(TB, breaks=60, axes=F,labels=NULL,xlab="",ylab="",main="")
103
第 15 章 分散分析と多重比較
15.1 フィッシャーの 3 原則
15.2 1 元配置分散分析
次の例は,カフェインの摂取の量が興奮度にどの程度影響するかを調べた実験である。カフェ
インが入っていない飲み物 (プラセボ),100mg のカフェインが入った飲み物,200mg のカフェイ
ンが入った飲み物を,そえぞれ 10 人ずつランダムに割り付ける。どの程度のカフェインが入って
いるかなどについて本人には知らされておらず,摂取後 2 時間が経過した頃に,1 分当たりの指叩
きの回数を数えてみた結果が次の表で与えられる。
表 15.1: カフェインの量と指叩き数
処理 1 2 3 4 5 6 7 8 9 10
カフェイン 0 mg 242 245 244 248 247 248 242 244 246 242
カフェイン 100mg 248 246 245 247 248 250 247 246 243 244
カフェイン 200mg 246 248 250 252 248 250 246 248 245 250
252
250
248
246
244
242
a1 a2 a3
15.3 多重比較の問題
テューキー法は,次の確率変数の確率分布に基づいている。
n |(y − µ ) − (y − µ )| o
a b
max a·
√ b·
a,b σ̂/ J
の確率分布をステューデント化された範囲の分布とよび,この分布の上側 100α% 点を qI,I(J−1) (α)
で表す。この値については数表もしくは下記のRの関数を用いて求めることができる。このとき
h σ̂ i
P max |(y a· − µa ) − (y b· − µb )| ≤ qI,I(J−1) (α) √ = 1 − α
a,b J
となる。この確率表現は,すべての a, b に対して µa − µb が区間
σ̂
y a· − y b· ± qI,I(J−1) (α) √
J
に入る確率が 1 − α になることを意味している。帰無仮説のもとで検定は信頼区間の裏返しなの
で,1 − α の確率でその区間が 0 を含む事象の排反をとると,α の確率で区間が 0 を含まないこと
になる。すなわち,帰無仮説のもとで,ある (a, b) があって
σ̂
|y a· − y b· | > qI,I(J−1) (α) √
J
15.3. 多重比較の問題 105
> TukeyHSD(aov(X~A,data=caffeine))
Tukey multiple comparisons of means
95% family-wise confidence level
となるので
α α
P 正しい帰無仮説 Ha,b 0
を誤って棄却する事象 ≤ =
k I(I − 1)
となるように,有意水準 α を α/I(I − 1) で置き換えればよい。表 15.1 の例に適用してみると
p
|y a· − y b· | > tI(J−1),α/{2I(I−1)} 2σ̂ 2 /J のとき有意水準 α/I(I − 1) で Ha,b 0
が棄却されるので
√ √ √
2σ̂ 2 4.97
tI(J−1),α/{2I(I−1)} √ = 2.847 × √ = 2.84
J 10
となる。ボンフェローニの不等式は緩い不等式なので,かなり保守的な検定になると思われるが,
テューキー法の臨界点が 2.47 であるのに対してボンフェローニ法では 2.84 なので驚く程は離れて
いない。
15.4 2 元配置分散分析
三輪哲久 (2015)「 実験計画法と分散分析」で用いられたラットの毒性試験の例を利用する。雄
20 匹と雌 20 匹のラットに 4 種類の濃度の薬剤 (B1 :0ppm, B2 :25ppm, B3 :50ppm, B4 :100ppm) を与
え,13 週間後に観測した赤血球の数 (104 の単位) が表 15.3 で与えられる。それぞれの濃度には雄
5 匹雌 5 匹がランダムに割り付けられる。
表 15.3: ラットの毒性試験データ
性別 A 薬剤濃度 B 1 2 3 4 5
雄 A1 B1 803 838 836 822 804
B2 824 839 772 812 844
B3 786 775 768 758 730
B4 722 779 647 716 710
雌 A2 B1 705 744 716 777 799
B2 733 818 750 769 718
B3 745 809 721 777 739
B4 712 720 718 703 707
で与えられる。ただし i = 1, . . . , I, j = 1, . . . , J, k = 1, . . . , K であり,ラットの例では I = 2,
J = 4, K = 5 となる。ここで,εijk は互いに独立な確率変数で正規分布 N (0, σ 2 ) に従うものとし,µ
PI PJ
が全平均, A の主効果 αi , B の主効果 βj , A と B の交互作用効果 γij は制約 i=1 αi = 0, j=1 βj = 0,
PI P PI PJ PK
γij = Jj=1 γij = 0 を満たすものとする。ここで,y ··· = IJK 1
k=1 yijk , y i·· =
1
PJ PK
i=1
1
PI PK 1
PK i=1 j=1
P
JK P
j=1 k=1 yijk , y ·j· = IK
P i=1 k=1 yijk , y ij· = K k=1 yijk とおくと,全変動平方和 SST =
X
I X
J
SSA =JK (y i·· − y ··· ) , SSB = IK
2
(y ·j· − y ··· )2
i=1 j=1
X
I X
J X
I X
J X
K
SSAB =K (y ij· − y i·· − y ·j· + y ··· ) , SSE =
2
(yijk − y ij· )2
i=1 j=1 i=1 j=1 k=1
である。平均平方を MSA = SSA /(I − 1), MSB = SSB /(J − 1), MSAB = SSAB /{(I − 1)(J − 1)},
σ̂ 2 = SSE /{IJ(K − 1)} とする。以上より
帰無仮説 Hα : α1 = · · · = αI = 0 のもとでは,FA = MSA /σ̂ 2 ∼ FI−1,IJ(K−1) に従う。
帰無仮説 Hβ : β1 = · · · = βJ = 0 のもとでは,FB = MSB /σ̂ 2 ∼ FJ−1,IJ(K−1) に従う。
帰無仮説 Hγ : γij = 0, (i = 1, . . . , I, j = 1, . . . , J) のもとでは,FAB = MSAB /σ̂ 2 ∼ F(I−1)(J−1),IJ(K−1)
に従う。
15.5. 他の分散分析モデル 107
表 15.4: 2 元配置の分散分析表
表 15.5: ラットの毒性試験データの分散分析表
15.5 他の分散分析モデル
108
第 16 章 分布によらない推測法
16.1 データの要約
経験分布関数とカーネル密度推定 ヒストグラムは柱状グラフなので滑かな関数を当てはめた
い。K(x) を, 0 を中心に対称で積分が 1 であるような非負の関数とする。h を正の実数とし
1 x
Kh (x) = K
h h
とおく。例えば,K(x) を標準正規分布の確率密度とすると,Kh (x) は N (0, h2 ) の確率密度になる。
K(x) としては対称な一様分布, 対称な三角分布なども利用される。このとき,確率密度関数 f (x)
を
1X
n
fh (x) = Kh (x − Xi ) (16.1.1)
n i=1
で推定する。これをカーネル密度推定量とよび,K(·) をカーネル (kernel), h をバンド幅とよぶ。
R∞
f (x)dx = 1 であり,h → 0 のとき E[fh (x)] → f (x) となることが示される。
−∞ h
例 7.1 の 50 人の身長データについて,カーネル密度推定の関数を描いたのが図 16.1 である。カー
ネルは標準正規分布で,h = 1, 3 の場合を描いている。
> hist(tall)
> tall.kn1 <- density(tall, 1) #カーネル密度推定
> plot(tall.kn1)
> tall.kn3 <- density(tall, 3)
> plot(tall.kn3)
h が小さいときデータへの適合がよく,h が大きくなると関数は滑らかになる。データへの適合と
関数の滑らかさとをバランスする h を取る必要がある。
分布の中心の測定 分布の中心は標本平均
1X 1X
n n
X= Xi = X(i)
n i=1 n i=1
0.10
0.10
0.08
0.08
0.06
0.06
0.04
0.04
0.02
0.02
0.00
0.00
155 160 165 170 175 180 185 190 155 160 165 170 175 180 185 190
> max(tall)
[1] 185
> min(tall)
[1] 163
> mean(tall)
[1] 172
> median(tall)
[1] 172
> sort(tall, decreasing=F) #小さい順に並べる
[1] 163 165 167 167 167 167 168 168 168 168 168 168 169 170 170 170
[17] 170 170 170 170 171 171 171 172 172 172 172 172 172 173 173 173
[33] 173 173 173 173 174 174 175 175 175 176 176 176 177 178 179 180
[49] 181 185
> sort(tall, decreasing=T) #大きい順に並べる
[1] 185 181 180 179 178 177 176 176 176 175 175 175 174 174 173 173
[17] 173 173 173 173 173 172 172 172 172 172 172 171 171 171 170 170
[33] 170 170 170 170 170 169 168 168 168 168 168 168 167 167 167 167
[49] 165 163
> rank(tall) #小さい順に並べたときの順番
[1] 17.0 33.0 40.0 17.0 26.5 2.0 4.5 9.5 26.5 37.5 9.5 17.0 33.0
[14] 46.0 33.0 1.0 26.5 33.0 47.0 26.5 9.5 4.5 9.5 37.5 4.5 48.0
[27] 22.0 49.0 45.0 17.0 17.0 40.0 13.0 40.0 33.0 22.0 26.5 43.0 43.0
[40] 4.5 33.0 26.5 9.5 9.5 22.0 17.0 43.0 33.0 17.0 50.0
> mean(tall, trim=0.2) #両側から20%ずつ切り捨てたときの平均
[1] 171.6333
正のデータに対する幾何平均と調和平均 X1 , . . . , Xn が正の確率変数のときに,幾何平均,調
和平均を次で定義する。
n
Gx = (X1 × · · · × Xn )1/n , Hx = P n
i=1 1/Xi
110 第 16 章 分布によらない推測法
分布のバラツキの測定 標本分散は
1X
n
S2 = (Xi − X)2
n i=1
である。標本分散は外れ値の影響を受けてしまう。ロバストなバラツキの指標の一つは,メディ
アン Xmed に対して |X1 − Xmed |, . . . , |Xn − Xmed | のメディアン
med |X1 − Xmed |, . . . , |Xn − Xmed |
を用いる方法で,メディアン絶対偏差とよばれる。指標のもう一つは,四分位範囲である。デー
タを小さい順に並べて全体を 4 等分したときの,下側 1/4 を与える点を 25% 分位点もしくは第 1
四分位点とよび,上側 1/4 を与える点を 75% 分位点もしくは第 3 四分位点とよぶ。第 1 四分位点
と第 3 四分位点の差を四分位範囲 (IQR) とよぶ。
16.2 順位相関係数
2 次元確率変数 (X1 , Y1 ), . . . , (Xn , Yn ) が独立に分布するとき,ピアソンの標本相関係数は
Pn
i=1 (Xi − X)(Yi − Y )
Rx,y = qP qP
i=1 (Xi − X) i=1 (Yi − Y )
n 2 n 2
16.2. 順位相関係数 111
185
180
175
170
165
図 16.2: 箱ひげ図
で定義される。ピアソンの標本相関係数は外れ値の影響を受ける。そこで外れ値に頑健な相関係
数を求めたい。X1 , . . . , Xn を小さい順に並べたときの Xi の順位を Ri , 同様に Y1 , . . . , Yn を小さい
順に並べたときの Yi の順位を Si とする。例えば,夫婦の年齢のデータを考えてみる。15 組の夫
婦の年齢が上の欄,年齢順位が下の欄で与えられる。同順位がある場合はそれらの平均で置き換
える。
番号 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
夫の年齢 49 25 40 52 58 32 43 47 31 26 41 35 34 36 48
妻の年齢 44 28 30 57 53 27 52 43 23 25 39 32 35 33 34
夫の順位 13 1 8 14 15 4 10 11 3 2 9 6 5 7 12
妻の順位 12 4 5 15 14 3 13 11 1 2 10 6 9 7 8
6 Xn
=1 − (Ri − Si )2
n(n − 1) i=1
2
と書かれ,これをスピアマンの順位相関係数とよぶ。
ケンドールの順位相関係数は,x の符号を sgn (x) で表すと
1 XX n n
τx,y = sgn (Xi − Xj ) × sgn (Yi − Yj )
n(n − 1) i=1 j=1
112 第 16 章 分布によらない推測法
で定義され,
1 XXn n
τx,y = sgn (Ri − Rj ) × sgn (Si − Sj )
n(n − 1) i=1 j=1
とも書ける。
R では,これらの順位相関係数は次のようにして計算できる。
16.3 ノンパラメトリック回帰
(X, Y ) を 2 次元の連続な確率変数で, n 個の実現値を (x1 , y1 ), . . . , (xn , yn ) として,次のような回
帰モデルを考える。
yi = r(xi ) + ui , i = 1, . . . , n
ただし,ui は E[ui |X = xi ] = 0, E[u2i |X = xi ] = σ 2 (xi ) とし,r(x) は未知の回帰関数とする。
r(x) = α + βx の場合が単回帰モデルに対応する。このモデルをノンパラメトリック回帰とよぶ。
r(x) のナダラヤ・ワトソン推定量は次で与えられる。
Pn R
Z ∞ ˆ K x−xi ∞
y 1
K y−yi
dy
f (x, y) i=1 h −∞ h h
r̂(x) = y dy = Pn
−∞ fˆX (x) j=1 K
x−xj
h
1 X x − xi
n
=P K yi
n
K
x−xj
i=1
h
j=1 h
表 12.2 の気温とビールの販売量のデータについてナダラヤ・ワトソン推定量を当てはめたのが
図 16.3 である。h = 0.5 の場合 (左) と h = 2 の場合 (右) を比較すると,h が大きいほど滑らかに
なる。
R では,パッケージ np を用いるとナダラヤ・ワトソン推定量を計算してくれる。
> install.packages("np")
> library(np)
> bier <- c(172,144,190,202,197,276,292,220,214,172,202,240,
+ 152,117,176,182,181,251,249,214,167,159,185,228)
> temp <- c(7.6,6,9.4,14.5,19.8,22.5,27.7,28.3,25.6,18.8,13.3,8.8,
+ 4.9,6.6,9.8,15.7,19.5,23.1,28.5,26.4,23.2,18.7,13.1,8.4)
16.4. ブートストラップ法 113
300
250
250
200
200
150
150
55 10
10 1515 2020 25 25 30 55 10
10 1515 2020 25 25 30
16.4 ブートストラップ法
推定量のバイアスや分散,信頼区間の構成,推定量の分布の分位点など,推定量の信頼性を評
価するときにブートストラップ法を用いると便利である。
ブートストラップ法
θ = θ(F ) を θ̂ = θ(Fn ) で推定するときのバイアス Biasθ̂ (F ) = EF [θ(Fn )] − θ(F ) について,その
推定量を与えることを考えてみよう。F を Fn で置き換えればよいので,Biasθ̂ (Fn ) とすればよい。
しかし,期待値 EF [θ(Fn )] についてはどのように置き換えればよいだろうか。
「分布関数 F からのランダム標本 X1 , . . . , Xn に基づいて作られた経験分布関数 Fn について,
θ(Fn ) の F に関する期待値が EF [θ(Fn )] である。」
114 第 16 章 分布によらない推測法
この記述において F を Fn に置き換えると次のように書ける。
「経験分布関数 Fn からのランダム標本 X1∗ , . . . , Xn∗ に基づいて作られた経験分布関数 Fn∗ につい
て,θ(Fn∗ ) の Fn に関する期待値が E∗Fn [θ(Fn∗ )] である。」
この経験分布関数 Fn からのランダム標本 X1∗ , . . . , Xn∗ をブートストラップ標本とよぶ。E∗Fn [θ(Fn∗ )]
は θ(Fn∗ ) の X1∗ , . . . , Xn∗ に関する期待値を表している。以上より,(F, Fn ) を (Fn , Fn∗ ) で置き換えれ
ば推定量が得られることになる。
d θ̂)
θ̂Boot = θ̂ − Bias(
とおくと,E[θ̂Boot ] = θ + O(n−2 ) となることを示すことができる。
√ √
θ の信頼区間については,PF ( n{θ(Fn ) − θ} ≤ xL ) = α/2,PF ( n{θ(Fn ) − θ} ≥ xU ) = α/2
√ √
を満たす xL と xU を求めると,信頼係数 1 − α の信頼区間 [θ(Fn ) − xL / n, θ(Fn ) + xU / n] が得
られる。しかし,漸近分散を解析的に求める必要があり簡単ではない。これに対して,ブートス
√
トラップ法を用いると,比較的容易に信頼区間を作ることができる。PF ( n{θ(Fn ) − θ(F )} ≤ x)
の代わりに
√
PFn ( n{θ(Fn∗ ) − θ(Fn )} ≤ x)
√
を用いればよい。この分布の下側 α/2 分位点,上側 α/2 分位点を x∗L , x∗U すると,[θ(Fn )−x∗L / n, θ(Fn )+
√
x∗U / n] がブートストラップ信頼区間となる。
ブートストラップ法の実装
例えば,例 7.1 で扱った男子大学生 50 人の身長のデータについて,B = 10, 000 個のブートスト
∗(b) ∗(b)
ラップ標本 x1 , . . . , x50 , b = 1, . . . , B, を発生させ,ブートストラップ標本平均 x∗(1) , . . . , x∗(B) を
計算する。このとき,B 個のブートストラップ標本平均の平均と分散は 172, 0.34 になる。標本平
均の分散が 0.34 で推定されるので,分散 σ 2 は 0.34 × 50 = 17.2 で推定される。x = 172,s2 = 17.6
であるから,両者は近い推定値を与えている。また,B 個のブートストラップ標本平均のヒスト
グラムが図 16.4 で描かれている。この分布の 2.5% 分位点と 97.5% 分位点は 170.8, 173.2 になるの
で,ブートストラップ標本に基づいた平均の 95% 信頼区間は [170.8, 173.2] となる。第 8 章の章末
問題 (問 1) で求めた信頼区間は [171, 173] であるから,近い値を与えている。
図 16.4: ブートストラップ標本平均のヒストグラム
16.5 ノンパラメトリック検定
検定の多くは正規分布などのパラメトリックなモデルのもとで扱われる。これに対して,分布
系を仮定しないで実行可能な検定も応用場面で大変役立つ。ここでは,ノンパラメトリック検定
もしくは分布に依らない検定の代表例を紹介する。
符号検定 連続な確率変数 Z1 , . . . , Zn が独立に密度関数 f (z − θ) に従い,θ はこの分布のメディ
アンであるとする。θ に関する片側検定
H0 : θ = θ0 v.s. H1 : θ > θ0
を考えてみよう。いま,関数 d(x) を
(
1, x > 0 のとき
d(x) = (16.5.1)
0, x ≤ 0 のとき
で定義するとき
X
n
Sn+ = d(Zi − θ0 )
i=1
116 第 16 章 分布によらない推測法
は,Zi − θ0 が正となるものの個数を表している。
p
(Sn+ − n/2 − 1/2)/ n/4 > zα
のとき H0 は棄却するのが,符号検定である。
例えば,タクシー会社が 2 種類のタイヤのうち燃費のいい方を採用するため 10 台の車で走行
実験を行った。車は同じドライバーが運転しそれぞれのタイヤを 1 週間装備したときの燃費が表
16.1 で与えられている。これは,対のある 2 次元のデータと捉えることができる。この例の場合,
> binom.test(6,10)
Exact binomial test
data: 6 and 10
number of successes = 6, number of trials = 10, p-value =
0.7539
alternative hypothesis: true probability of success is not equal to 0.5
95 percent confidence interval:
0.2623781 0.8784477
sample estimates:
probability of success
0.6
> (6-10/2-0.5)/sqrt(10/4)
[1] 0.3162278
> qnorm(0.95)
[1] 1.644854
>
> (w-n*(n+1)/4-0.5)*sqrt(24)/sqrt(n*(n+1)*(2*n+1))
[1] 1.7328
> qnorm(0.95)
[1] 1.644854
>
> wilcox.test(tire)
Wilcoxon signed rank exact test
data: tire
V = 45, p-value = 0.08398
alternative hypothesis: true location is not equal to 0
H0 : θ = 0 vs. H1 : θ > 0
を検定する問題を考える。
{X1 , . . . , Xm , Y1 , . . . , Yn } の全体を小さい順に並べ直し, 1 から m + n までの順位をつける。ただ
し簡単のため,同順位はないものとする。このとき,Y1 の順位を R1 とし,以下 Y2 , . . . , Yn の順位
をそれぞれ R2 , . . . , Rn とする。Y1 , . . . , Yn に関するこれらの順位を足し合わせたもの
X
n
W = Ri
i=1
と書ける。ここで µ, σ 2 は母集団の平均と分散であるから
1 X 1 X 2 (N + 1)2
N N
N +1 (N + 1)(N − 1)
µ= j= , 2
σ = j − =
N j=1 2 N j=1 4 12
と書けるので,W の平均と分散は次のようになる。
n(N + 1) nm(N + 1)
E[W ] = , Var(W ) =
2 12
118 第 16 章 分布によらない推測法
ブランド A(x) 4.1 4.9 6.4 2.2 3.8 3.2 6.0 5.5
ブランド B(y) 3.3 0.7 4.2 3.9 6.1 1.8 5.3 2.0 4.4 2.5
ブランド A の順位 10 13 18 4 8 6 16 15
ブランド B の順位 7 1 11 9 17 2 14 3 12 5
表 16.3: K 群の順位
群の番号 順位 合計 平均
1 R11 R12 · · · R1n1 R1· R1·
.. .. .. .. ..
. . . ··· . .
K RK1 RK2 ··· RKnK RK· RK·
N = n1 + · · · + nK とおくと, クラスカル・ウォリス検定は
12 XK n N + 1 o2 6 X {Rk· − nk (N + 1)/2}2
K
H= nk Rk· − =
N (N + 1) k=1 2 N i=1 nk (N + 1)/2
表 16.4: 3 つのブランドのタバコに含まれるニコチンの量の順位
カテゴリー 順位 合計 平均
ブランド A の順位 10 14 23 4 8 6 20 18 103 12.9
ブランド B の順位 7 1 11 9 21 2 16 3 13 5 88 8.8
ブランド C の順位 12 22 17 19 15 24 109 18.2
コルモゴロフ・スミルノフ検定
経験分布関数 Fn (x) を用いた正規性の検定や指数分布の検定について紹介する。
X1 , . . . , Xn を独立に分布関数 F (x) に従う確率変数とする。この確率変数が特定の分布関数 F0 (x)
に従うかを検定する問題「H0 : F (x) = F0 (x) vs. H1 : F (x0 ) ̸= F0 (x0 ) となる x0 が存在する」を
考える。
Dn = sup |Fn (x) − F0 (x)|
x
120 第 16 章 分布によらない推測法
連検定 ある事象がランダムに起こっているのか,何か傾向性があるのかを判断するための検定
が連検定とよばれる手法である。例えば,2 つの事象 O と X が,OXXXOOOXXOOO のように起
こるとき,全体は 12 回で,O が 7 回,X が 5 回起こる。O|XXX|OOO|XX|OOO のように同じ事
象が続く箇所で仕切ってみる。同じ事象が続いて起こることを連とよび,この場合,連の個数は
r = 5 になる。
一般に n 回の事象のうち連が r 個となる組み合わせを考えるときには,連に分けることは仕切
りをつけることに対応するので,仕切りとなる候補 n − 1 のうち仕切り r − 1 を選ぶ組み合わせに
なる。連の個数を表す確率変数を R としその確率分布を考え,中心極限定理を用いて検定するこ
とができる。
全体で n 個のうち,O が n1 個,X が n2 個,n = n1 + n2 とする。(n1 , n2 ) → ∞ のとき,(R −
µn1 ,n2 )/σn1 ,n2 →d N (0, 1) で近似できる。従って,
「H0 : 事象がランダムに起こる vs. H1 : 事象がラ
ンダムでない」の検定については,
> install.packages("tseries")
> library(tseries)
> r <- factor(c(1,1,0,1,1,1,0,0,1,1,1,0,1,1,1,1,0,1,0,0))
> runs.test(r)
Runs Test
data: r
Standard Normal = -0.050771, p-value = 0.9595
alternative hypothesis: two.sided
122 第 16 章 分布によらない推測法
以下のように,規則正しいデータについては棄却される。
16.6 生存時間解析とカプラン・マイヤー推定
数値例としてこの分野でよく知られた Gehan(1965) のデータを解析してみよう。急性白血病を
薬物療法により寛解に達した患者を,治療薬 6-MP を投与する群 (処理群) とプラセボを投与する
群 (対照群) に 21 人ずつ割り付け,寛解から再発までの期間 (週数) を記録したのが次の表である。
対照群 1 1 2 2 3 4 4 5 5 8 8 8 8 11 11 12 12 15 17 22 23
処理群 6 6 6 6+ 7 9+ 10 10+ 11+ 13 16 17+ 19+ 20+ 22 23 25+ 32+ 32+ 34+ 35+
1.0
0.8
6−MP
0.6
0.4
0.2
control
0.0
0 5 10 15 20 25 30 35
> install.packages("survminer")
> library(survival)
> SD <- read.table(file="C:gehan.txt", header=T)
> SD.surv <- survreg(Surv(time,cens)~1+treat,data=SD,dist="weibull")
>
> summary(SD.surv)
Call:
survreg(formula = Surv(time, cens) ~ 1 + treat, data = SD, dist = "weibull")
Value Std. Error z p
(Intercept) 3.516 0.252 13.96 < 2e-16
treatcontrol -1.267 0.311 -4.08 4.5e-05
Log(scale) -0.312 0.147 -2.12 0.034
Scale= 0.732
Weibull distribution
Loglik(model)= -106.6 Loglik(intercept only)= -116.4
Chisq= 19.65 on 1 degrees of freedom, p= 9.3e-06
Number of Newton-Raphson Iterations: 5
n= 42
124 第 16 章 分布によらない推測法
カプラン・マイヤー法 共変量の設定から離れるが,生存関数の分布系が特定できない場合でも
ノンパラメトリックに生存関数を推定する簡単な方法がある。例えば,ある物質の発がん性を調
べるため 15 匹の実験動物について物質投与から腫瘍発症までの日数が次のようであったとする。
40+ 40+ 42 42+ 45 45 45+ 48 50 50+ 57 58 58+ 100+ 120
一般に,n = n0 匹の動物について腫瘍発症が k 個の時点で起こるとし,その時点を t1 < t2 < · · · < tk
とする。時点 tj で腫瘍発症した個体数を xj , tj の直前まで発症していない個体数を nj とする。nj
は,tj までの脱落数と発症数の合計を n0 から引いた数である。
発症時点 t1 t2 ··· ti ··· tk
発症個体数 x1 x2 ··· xi ··· xk
直前まで発症していない個体数 n1 n2 ··· ni ··· nk
上の観測データについて同じ表を作成すると次のようになる。
発症時点 42 45 48 50 57 58 120
発症個体数 1 2 1 1 1 1 1
直前まで発症していない個体数 13 11 8 7 5 4 1
カプラン・マイヤー推定値 0.92 0.76 0.66 0.57 0.45 0.34 0.00
T を発症時間を表す確率変数とする。ベイズの定理を用いて生存関数を書き下し推定値を代入す
ると,カプラン・マイヤー推定量
j
b j) =
Y xi
S(t 1− (16.6.1)
i=1
ni
1.0
0.8
0.6
0.4
0.2
0.0
0 20 40 60 80 100 120
図 16.6: カプラン・マイヤーとワイブルの生存関数
127
第 17 章 多変量解析手法
17.1 相関行列と偏相関
p 個の教科を (x1 , . . . , xp ) で表し,n 人の生徒の p 教科の成績が (x11 , . . . , xp1 ), . . . , (x1n , . . . , xpn )
であるとする。各教科の平均点を x1 , . . . , xp とすると,教科 xi と xj の標本共分散は
1X
n
Sij = (xik − xi )(xjk − xj )
n k=1
Sij Sij
rij = p =
Sii Sjj S i Sj
> cor(cbind(x1,x2,x3))
x1 x2 x3
x1 1.0000000 -0.8452115 -0.9371743
x2 -0.8452115 1.0000000 0.8922522
x3 -0.9371743 0.8922522 1.0000000
> mdata <- matrix(cbind(x1,x2,x3), 47,3)
3 つの変数の間の関係をプロットしたのが図 17.1 である。相関係数を求めてみると r12 = −0.845
となり,強い負の相関関係があることがわかる。また r13 = −0.937, r23 = 0.892 となる。
見かけの相関と偏相関
上のデータについて x1 と x2 の相関係数は r12 = −0.84 であった。しかし,死亡率と婚姻率とは
本来関係がないものと思われるのに,婚姻率が高い県では死亡率が低くなる傾向があるというの
128 第 17 章 多変量解析手法
7.0
7.0
13
6.5
6.5
12
6.0
6.0
11
5.5
5.5
10
5.0
5.0
9
4.5
4.5
8
4.0
4.0
8 9 10 11 12 13 20 22 24 26 28 30 20 22 24 26 28 30
は不思議である。この場合,見かけの相関とよばれる現象が疑われる。これは,他の変数の影響
を受けて相関係数の値が見かけ上大きくなる現象のことである。
S12 S33 − S13 S23 r12 − r13 r23
r12|3 = p p =p p (17.1.1)
S11 S33 − S13 S22 S33 − S23
2 2
1 − r13
2
1 − r23
2
となって無相関に近くなり,婚姻率は死亡率とは関係がないという結論が出てくる。それぞれの
相関係数が r13 = −0.937, r23 = 0.892 となり,x3 が第 3 の変数となって x1 と x2 の間に見かけの
相関が生じていたことがわかる。婚姻率が高い県では適齢期の人口が多く x3 の値を増加させる傾
向にあり,死亡率の高い県では総人口に占める老人の割合が高くなるので x3 の値を減少させる傾
向にある。このため婚姻率と死亡率の間に見かけの相関が現れることになる。
R を用いて偏相関係数を求めるには,関数 ppcor を利用するのが便利である。estimate の値が
他を与えたときの偏相関係数を与えている。
17.2. 主成分分析 129
> install.packages("ppcor")
> library(ppcor)
> pcor(mdata)
$estimate
[,1] [,2] [,3]
[1,] 1.00000000 -0.05723347 -0.7584764
[2,] -0.05723347 1.00000000 0.5371178
[3,] -0.75847643 0.53711781 1.0000000
$p.value
[,1] [,2] [,3]
[1,] 0.000000e+00 0.7055766222 1.021401e-09
[2,] 7.055766e-01 0.0000000000 1.187742e-04
[3,] 1.021401e-09 0.0001187742 0.000000e+00
$statistic
[,1] [,2] [,3]
[1,] 0.0000000 -0.3802672 -7.720055
[2,] -0.3802672 0.0000000 4.223836
[3,] -7.7200549 4.2238363 0.000000
$n
[1] 47
$gp
[1] 1
$method
[1] "pearson"
17.2 主成分分析
一般に,p 次元データが n 個与えられるときに上述の直線を具体的に求める方法を説明しよう。
(??) で定義された xj = (xj1 , . . . , xjn )⊤ に対して aj = xj − xj 1 とし,w = (w1 , . . . , wp )⊤ とする。
P
∥w∥2 = w⊤ w = pi=1 wi2 とすると,条件 ∥w∥2 = 1 のもとで次の分散を最大にする解を求めるこ
とになる。
1X
n
1
{w1 (x11 − x1 )2 + · · · + wp (xpi − xp )2 }2 = ∥w1 a1 + · · · + wp ap ∥2
n i=1 n
と表すことができる。いわゆる対称行列の対角化とスペクトル展開である。
130 第 17 章 多変量解析手法
月 1 2 3 4 5 6 7 8 9 10 11 12
気温 7.6 6.0 9.4 14.5 19.8 22.5 27.7 28.3 25.6 18.8 13.3 8.8
湿度 51 38 44 55 68 74 70 69 69 67 63 46
スコア -1.3 -2.2 -1.6 -0.5 0.8 1.3 1.6 1.6 1.3 0.6 -0.1 -1.5
−3 −2 −1 0 1 2 3
0.4
3
7
2
2
3
0.2
9
1
Var 1
12
4
Comp.2
0.0
0
Var 2
−1
−0.2
5
10
−2
1
−0.4 6
−3
11
Comp.1
図 17.2: 主成分スコアのプロット
表 17.2: 人口動態統計データのスコア
> mprc.pc$x
PC1 PC2 PC3
[1,] -0.26653876 0.01347837 0.08771616
[2,] 1.82559630 0.40747906 -0.09515212
[3,] 1.98110429 0.30309751 -0.07055231
[4,] -0.98361048 0.60557815 -0.39745351
[5,] 3.19320435 0.06179679 -0.14599226
[6,] 1.96241781 0.08916713 -0.11064197
[7,] 1.04912785 0.09990318 -0.09393649
[8,] -0.49267467 0.33603663 -0.10778583
[9,] -0.78264162 -0.12303929 -0.17419673
[10,] 0.12882154 0.33325224 -0.07149392
[11,] -2.25617880 0.77668684 0.04015703
[12,] -2.16503762 0.30541293 0.13174059
[13,] -4.59155442 -1.20646903 -0.66597803
[14,] -3.19982538 0.13694913 -0.02905390
[15,] 1.04912785 0.09990318 -0.09393649
[16,] 0.95150609 0.37904828 -0.11767560
[17,] -0.24008069 0.36725180 -0.12155426
[18,] 0.74902674 0.38275361 0.14631363
[19,] 0.52396238 -0.12417177 0.07502636
[20,] 0.77526534 -0.04067084 0.24277357
[21,] 0.04913101 0.46387166 0.18847963
[22,] -0.67539600 -0.27581130 0.32050778
[23,] -2.94669562 -0.24657752 0.01928503
[24,] -0.13673360 -0.08222055 0.07796340
[25,] -1.89246613 0.49827272 -0.02345382
[26,] -1.39819304 0.48661573 -0.34044044
[27,] -2.14971390 -0.19209884 -0.06124923
[28,] -0.99213732 0.10327905 0.09552959
[29,] -0.05550710 0.96562976 0.17047761
[30,] 1.52266819 -0.43585448 -0.02587412
[31,] 1.21294322 -0.27937714 -0.25658940
[32,] 2.24826675 -0.52565516 -0.03368755
[33,] -0.08976225 0.01845567 -0.21062564
[34,] -0.79742957 -0.04026933 0.08090045
[35,] 1.54966204 -0.49682287 -0.17303719
[36,] 1.48422369 -0.03423159 -0.23026817
[37,] 0.64156164 -0.24167225 -0.04266051
[38,] 1.03616670 -0.28435444 0.04175240
[39,] 2.26251892 -0.19368329 -0.35089209
[40,] -1.67670933 -0.31311469 -0.05529422
[41,] 0.57536804 -0.14153703 0.14373151
[42,] 1.48736698 -0.09998732 0.30854167
[43,] 0.48347160 -0.03271918 0.29577096
[44,] 0.52968770 -0.29449901 0.25080491
[45,] 0.61252152 -0.49087416 0.52964120
[46,] 1.15301071 -0.76431098 0.16768854
[47,] -3.24884300 -0.27389739 0.68467380
17.3 判別分析
血液検査でヘモグロビン (HbA1c) の数値が 6.5 を超えると糖尿病が疑われるが,6.5 は健常者の
群と糖尿病患者の群とを判別する閾値を与えている。一般に図 17.3 のように 2 つの群を区別する
ルールを与えることを判別分析とよぶ。
134 第 17 章 多変量解析手法
4
2
0.0
0.04
0.06
0.08
3
0.12
0.14
0.16
8
0.1 0.02
2
0.06
1
0.1
0.1
0.16
0
0.02
0.14
0.12
−1
0.08
0.04
2
−2
0.0
−4 −3 −2 −1 0 1 2
図 17.3: 2 群の判別
正規分布の判別式 2 つの正規分布 Π1 : N (µ1 , σ12 ), Π2 : N (µ2 , σ22 ) を判別するには,2 log f (x|µi , σi2 ) =
− log(2πσi2 ) − (x − µi )2 /σi2 と書けるので,
(x − µ2 )2 (x − µ1 )2 σ12
− > log + 2C =⇒ Π1 に判別
σ22 σ12 σ22
となり,逆の不等式のとき Π2 に判別することになる。i = 1, 2 に対して,µi , σi2 が未知の場合は,
Pni Pni
N (µi , σi2 ) に従う独立な確率変数 Xi1 , . . . , Xini に基づいて X i = n−1
i j=1 X ij , S 2
i = n −1
i j=1 (Xij −
X i ) により µi , σi を推定し,上の判別ルールに代入すればよい。
2 2
17.4 因子分析
多変数のデータを少数の潜在因子によって説明する方法が因子分析である。
n 個の 3 次元データ (z11 , z21 , z31 ), . . . , (z1n , z2n , z3n ) について 2 因子モデルを考える。
z1i = a11 f1i + a12 f2i + u1i , u1i ∼ N (0, d1 )
2
ここで, u1i , u2i , u3i は独自因子, f1i , f2i は共通因子とよばれ,f1i ∼ N (0, 1), f2i ∼ N (0, 1) に従
い,f1i , f2i , u1i , u2i はすべて独立である。f1i , f2i は直接観測できない変量なので潜在因子, a1 =
(a11 , a21 , a31 )⊤ は f1i の係数で f1i の因子負荷量, a2 = (a12 , a22 , a32 )⊤ は f2i の因子負荷量とよば
れる。
z1i a11 a12 ! u1i
f1i
z i = z2i , A = (a1 , a2 ) = a21 a22 , f i = , ui = u2i
f2i
z3i a31 a32 u3i
136 第 17 章 多変量解析手法
とおくと,2 因子モデルは行列を用いて次のように表すことができる。
因子負荷量の行列 A と D の推定には,主因子分析法,セントロイド法などが利用される。また
z i ∼ N3 (0, Σ), i = 1, . . . , n, に注意すると,最尤法を用いて推定することもできる。推定方法の具
体的なやり方は多変量解析の専門書を参照されるのがよいが,R に組み込まれているパッケージを
利用することもできる。データから因子負荷量の推定値 â1 = (â11 , â21 , â31 )⊤ , â2 = (â12 , â22 , â32 )⊤
が求まると,この符号や大きさから因子 f1 , f2 の解釈を与えることができる。因子の推定には回
帰法とバートレット法などが知られている。因子モデルの大きな特徴は推定に回転の自由度があ
るという点である。因子分析では因子の解釈がしやすいような回転を選ぶことが重要である。因
子の解釈のためには,いくつかは絶対値が大きく,残りがゼロに近いという形になるような回転
H を与えることが望ましい。このような形を単純構造とよぶ。回転方法にはバリマックス法,プ
ロマックス法などの直交回転が知られている。
簡単な例として,中学生 20 人の 5 教科の成績を因子分析にかけてみる。国語, 社会, 数学, 理科,
英語の順に並んでいる。
> install.packages(’dplyr’)
> library(dplyr)
> SS <- data.frame(t(Sdata))
> SS.new <- scale(SS)
> SS.fac <- factanal(SS.new, factors=2,rotation="promax", scores="Bartlett")
> SS.fac
Call:
factanal(x = SS.new, factors = 2, scores = "Bartlett", rotation = "promax")
Uniquenesses:
X1 X2 X3 X4 X5
0.091 0.105 0.005 0.277 0.202
Loadings:
Factor1 Factor2
X1 1.001
X2 1.014 -0.105
X3 -0.146 1.090
X4 0.165 0.730
X5 0.663 0.300
Factor1 Factor2
SS loadings 2.518 1.828
Proportion Var 0.504 0.366
Cumulative Var 0.504 0.869
Factor Correlations:
Factor1 Factor2
Factor1 1.000 -0.674
Factor2 -0.674 1.000
Test of the hypothesis that 2 factors are sufficient.
The chi square statistic is 0.9 on 1 degree of freedom.
The p-value is 0.343
このときプロマックス法で回転したときの因子負荷量が表??で与えられる.明らかに,因子 1
は文系能力,因子 2 は理系能力を表している.2 つの因子の累積寄与率が 87% なので,2 つの潜在
能力で 8.7 割ほど説明がつくことになる.
表 17.3: 5 教科の成績についての因子負荷量
項目 国語 社会 数学 理科 英語
因子 1 1.00 1.01 -0.15 0.17 0.66
因子 2 0.00 -0.11 1.10 0.73 0.30
17.5 クラスター分析
17.5.1 階層的分類法
クラスター分析の方法は階層的分類法と非階層的分類法に分かれる。階層的分類法は,小さい
クラスターから出発して ‘似たもの同士’ を逐次融合しながら大きなクラスターを構成していくも
のである。非階層的分類法は,予めクラスターの個数と各クラスターの核となる点を決め,そこ
から出発してクラスターを構成するもので,K-平均法 (K-mean method) が代表的である。大量の
データがある場合には,前者はすべての個体間で ‘似たもの同士’ かを調べるので計算が大変にな
138 第 17 章 多変量解析手法
るが,後者は計算量が少なくて済むという利点がある。この節では,前者についてクラスタリン
グの過程を説明しよう。
まず,‘似たもの同士’ の定義を与える必要がある。これは類似度とよばれ,個体間の距離に相当す
るもので測る。例えば,n 個の 3 次元のデータ x1 , . . . , xn が与えられ,各 xi は xi = (x1i , x2i , x3i )⊤
と書けるとする。2 つの個体 xi と xj の距離を d(xi , xj ) で表す。その代表的なものとしては
で定義して,逐次クラスターを構成する方法である。
クラスタリングの一連のプロセスはデンドログラム (樹形図) を用いて視覚的に表現することがで
きる。17.1 節で扱った 47 都道府県の人口動態統計データ (死亡率, 婚姻率, 20∼40 歳人口割合) を群平
均法で距離をいれてクラスタリングすると,デンドログラムは図 17.4 で表される。6 個のクラスター
に分類する場合,A(13), B(14,23,47), C(5,32,39), D(4,11,12,25,26,27,40), E(1,8,9,10,17,21,22,24,28,29,33,34),
D(その他) のクラスターになる。小さいクラスターの名前を表示すると,A は東京,B は神奈川,
愛知,沖縄, C は秋田,島根,高知となる。
5
4
3
Height
2
1
0
28
9
17
8
34
29
22
21
33
10
1
24
5
32
39
38
31
36
46
30
35
42
2
3
6
45
20
44
18
43
37
19
41
16
7
15
13
40
4
26
11
27
12
25
47
14
23
図 17.4: 人口動態データによる都道府県のデンドログラム
表のデータを見るだけは都道府県の特徴がはっきりとはわからないが,クラスタリングを通し
て特徴が見えてくる。
R を用いてデンドログラムを表示するには次のパッケージを組み込む必要がある。
> install.packages("plotly")
> install.packages("ggdendro")
> library(plotly)
> library(ggdendro)
17.5. クラスター分析 139
X
n X
m
ℓ(π, θ) = Zij {log fj (Xi |θj ) + log πj }
i=1 j=1
と書けることがわかる。
1X
n
(t+1)
πj = P (j|Xi , π (t) , θ (t) ) (17.5.2)
n i=1