Random Generation of Bm×J Contingency Tables

1
Random Generation of
Bm×J
Contingency Tables
ver. 5.0
東京大学 松井知己
東海大学 松井泰子
東京理科大学 小野陽子
2
Random Generation of
{1,2}m×{1,2,...,n}
Contingency Tables
東京大学 松井知己
東海大学 松井泰子
東京理科大学 小野陽子
3
Path Coupling 法を用いた
多元分割表生成のためのマルコフ連鎖設計
東京大学 松井知己
東海大学 松井泰子
東京理科大学 小野陽子
4
本研究の目的
題目:Path Coupling 法を用いた
多元分割表生成のためのマルコフ連鎖設計
扱う分割表の形状: 2×2×・・・×2×K
2×2×K:[太田,青木,広津(昨日)]
マルコフ基底:自明なものが存在
3×3×K:[青木,竹村(昨日)]
極限分布: (1)一様分布 (2)超幾何分布
目的:1つサンプリングする迄に必要な
推移回数の算定 =mixing time の算定
5
MCMC法
多元分割表の行と列の独立性の検定
検定理論
正確検定
医療統計
p値の計算
帰無仮説の棄却を決める閾値
MCMC法(Markov Chain Monte Carlo Method)
Markov chain で sampling を行い
Monte Carlo 法を行う
mixing time の速いMarkov chain の必要性
6
contingency table
{1,2}2×{1,2,3,4,5,6}の例
列 (column)
7
contingency table (example)
2
6
8
5
6
11
5 1
3 6
8 7
2 7
4 4
6 11
4
3
7
1
3
4
5 9
2 0
7 9
0 3
8 8
8 11
26
20
18
33
7 7 8 5 5 12
12 7 10 6 10 8
N:table sum
(N=97=26+20+18+33)
n: # of columns (n=6)
8
contingency tables
*
*
8
*
*
11
* *
* *
8 7
* *
* *
6 11
*
*
7
*
*
4
* *
* *
7 9
* *
* *
8 11
26
20
18
33
7 7 8 5 5 12
12 7 10 6 10 8
N:table sum
(N=97=26+20+18+33)
n: # of columns (n=6)
9
分布関数
周辺和を固定したとき、
T =( nijk )という分割表が出現する確率が、
(1)一様分布すると仮定 ←Diaconis-Efron検定
Pr[T]=1/ |Ω|
Ω:与えられた表と周辺和が等しい分割表の集合.
(2)超幾何分布すると仮定 ←対数線形モデル
Pr[T]=Pr[nijk]=
Δ
Πi Πj Πk nijk !
Δ:総和が1となる係数
10
main result
目的
{1,2}m×{1,2,...,n}分割表を ランダム生成する
(定常分布が一様分布と超幾何分布の)
Markov chain の提案
結果
提案する Markov chain の mixing time は,
・分割表の列数,
・ln(分割表のセル中の数値の平均),
・ln (精度の逆数)
の多項式でおさえられる.
方法
path coupling 法 [Bubley and Dyer 1997]
11
2元分割表 (contingency table)
2元分割表
eye Blue
hair
Blond
3
Brown
2
Red
total
4
9
Brown Green total
4
4
3
2
10
8
3
11
5
10
12
30
行と列の独立性を検定したい.
total: 周辺和
12
行と列の独立性
行と列の独立性を検定したい. H0: pij = pi・ p・j
eye Blue
hair
Blond
Brown
Red
3
2
4
9
eye Blue
hair
Blond
Brown
Red
p・ j
9・10
/900
9・8
/900
9・12
/900
9/30
Brown
4
4
3
11
Brown
11・10
/900
11・8
/900
11・12
/900
11/30
Green
3
2
5
10
10
8
12
30
Green
p i・
10・10
/900
10・8
/900
10・12
/900
10/30
10/30
8/30
12/30
1
pij
13
行と列の独立性の検定
行と列の独立性を検定したい.
eye Blue
hair
Blond
Brown
Red
n+j
3
2
4
9
eye Blue
hair
Blond
Brown
Red
9・10
/30
9・8
/30
9・12
/30
9
Brown
4
4
3
11
Brown
11・10
/30
11・8
/30
11・12
/30
11
Green
ni+
3
2
5
10
10
8
12
30
nij
Green
10・10
/30
10・8
/30
10・12
/30
10
10
8
12
30
mij
14
正確検定
X2=Σi Σj(nij – mij)2/mij : χ2値
サンプル数が多ければ, X2は 自由度が
(行数-1)(列数-1)のχ2分布に従う.
サンプル数が少ないとき(正確検定):
Ω:与えられた表と周辺和が等しい2元分割表の集合.
T∈Ω, X2(T):Tのχ2値
Σ{Pr[T]: X2<X2(T), T∈Ω} < α
→ 有意水準αで棄却
モンテカルロ法
Ω中の表をランダムに生成して,
Σ{Pr[T]: X2<X2(T), T∈Ω} の値を計算する.
15
main theorem
提案するMarkov chain の反復回数について,以下の
定理を得た.
定理
τ(ε)≦(1/2)n(n-1) ln (ndεー1)
ε:分布に対する精度
(正確な定義は後述)
τ(ε): mixing time
(Markov chain の反復回数)
(正確な定義は後述)
N:分割表中の数値の総和
n, m : 分割表のサイズは{1,2}m×{1,2,...,n}
d=N/(n2m ) :セル内の数値の平均
16
2元分割表の最近の研究(主にアルゴリズム分野)
2元分割表(m×n):
N: セル内の数値の総和
一様分布:
Diaconis, Saloff-Coste (1995)
poly(N, ln(1/ε))・・・・・(n, m を定数と見なしたとき)
Chung, Graham, Yau (1996)
poly(m, n, N, ln(1/ε))・・・(周辺和が十分大きいとき)
Dyer, Greenhill (2000)
poly(n, lnN, ln(1/ε)) ・・・・・・・・・・(2×n分割表)
Open problem: ∃? poly(m, n, ln N, ln(1/ε))
多項超幾何分布:
Markov chainを用いずにO(N)で perfect sampling 可能
17
3元分割表の最近の研究(主にアルゴリズム分野)
3元分割表(n×m×l):
Irving, Jerrum (1994)
周辺和を満たす表の存在判定問題は NP-完全
Markov 基底の生成:
Diaconis and Strumfels (1998)
グレブナー基底を用いた基底の生成法
Aoki, Takemura (2002)
3×3×J の基底の提案
多項超幾何分布:
Jerrum, Sinclair, Vigoda (2001)
poly(m,l, ln N, ln(1/ε))
・・・・2部グラフの完全マッチングのサンプリング
(2×I×J ,周辺和は0or1の中の更に特殊ケース)
18
4. 一様分布を定常分布に持つ
Markov chain の提案
an extension of
Dyer and Greenhill’s chain [2000]
19
Markov chain M0 (extension of Diaconis and Saloff-Coste’s chain)
M0: 列{j’, j’’} (j’≠j’’)をランダムに選ぶ
2
6
5
6
5
3
2
4
1
6
7
4
5
2
0
8
9
0
3
8
0 +1
0 -1
0 -1
0 +1
0 -1
0 +1
0 +1
0 -1
0
0
0
0
0
0
0
0
0 ‐1
0 +1
0 +1
0 -1
0 +1
0 -1
0 -1
0 +1
0
0
0
0
0
0
0
0
2
6
5
6
1
6
7
4
5
2
0
8
9
0
3
8
2
6
5
6
1
6
7
4
5
2
0
8
9
0
3
8
6
2
1
5
4
3
1
3
3
4
2
2
1/2
1/2
推移できないときは,
列選択から再試行
4
4
3
3
5
2
0
4
20
new Markov chain M1 (extension of Dyer and Greenhill’s chain)
M1: 列{j’, j’’} (j’≠j’’)をランダムに選ぶ
3
5
4
7
2
6
5
6
5
3
2
4
1
6
7
4
5
3
2
4
0
7
8
3
4
3
1
3
2
6
5
6
4
3
1
3
5
2
0
8
5
3
2
4
5
2
0
8
-θ
+θ
+θ
-θ
0 +θ 0
0 -θ 0
0 -θ 0
0 +θ 0
0
0
0
0
0
0
0
0
0
8
7
4
4
3
1
3
5
3
2
4
5
2
0
8
3
4
5
6
9
0
3
8
θ=
9
0
3
8
1
6
7
4
9
0
3
8
-1
0
4
3
1
3
5
2
0
8
9
0
3
8
1
2
1
7
6
5
5
3
2
4
2
5
6
5
4
3
1
3
5
2
0
8
9
0
3
8
21
new Markov chain M1
M1: 列{j’, j’’} (j’≠j’’)をランダムに選ぶ
3
5
4
7
2
6
5
6
5
3
2
4
1
6
7
4
5
3
2
4
0
7
8
3
4
3
1
3
2
6
5
6
4
3
1
3
5
2
0
8
5
3
2
4
5
2
0
8
9
0
3
8
0 +θ 0
0 -θ 0
0 -θ 0
0 +θ 0
0
0
0
0
0
0
0
0
1/4 0
8
1/4
1/4 1/4
7
4
1 4 5 9
1 5 2 4
6 3 2 0
7 3 5 3
7 1 0 3
6 2 6 1
4 3 8 8
5 4 5 3
5
3
2
4
5
2
0
8
3
4
5
6
9
0
3
8
9
0
3
8
-θ
+θ
+θ
-θ
4
3
1
3
5
2
0
8
9
0
3
8
22
geometric interpretation
分割表の集合
=24次元空間中の多面体中の整数格子点
…
…
…
…
x 1 x2
x 7 x8
x13
x19
x6
x18
x24
x24
x4
O
x3
x2
x1
23
geometric interpretation of M0
new Markov chain M0
j’
j’’
2 5 1 4 5 9
6 3 6 3 2 0
5 2 7 1 0 3
6 4 4 3 8 8
1/2
x24
1/2
x4
O
x3
x2
x1
24
geometric interpretation of M1
new Markov chain M1
j’
j’’
2 5 1 4 5 9
6 3 6 3 2 0
1/4
5 2 7 1 0 3
6 4 4 3 8 8
1/4
x24
1/4
1/4
x4
O
x3
x2
x1
θ
25
properties of new Markov chain
提案する Markov chain M1 の特徴
Markov chain M1 は, エルゴード的.
1. finite
2. a-periodic
3. irreducible ({1,2}m×{1,2,...,n}という性質)
定理
M1 の 定常分布は, 与えられた分割表全体の
集合上の一様分布である.
(証明略)
26
3. coupling method
[Aldous 1983]
Markov chain の mixing time を算定する手法
27
coupling sample path
2つのサンプルパスから, 新しいサンプルパス
を作る.
状態空間
x
y
0
時刻
28
coupling sample path
2つのサンプルパスから, 新しいサンプルパス
を作る.
状態空間
状態が最初に一致した時点で
他方のsample path に乗り換える
x
y
0
時刻
Markov chain の無記憶性
→ y から出発したsample path と同じに見える!
29
coupling sample path
仮想的にすべての状態からサンプルパスを発
生させる.
状態空間
x
0
時刻
パスが一つになった
→ 初期状態に依存していない. → 定常分布
30
coupling (definition)
coupling の定義:
与えられた Markov chain M の coupling
(Ω:Mの状態空間の集合)
1. Markov chain
2. 状態空間:Ω×Ω=Ω2
3. coupling の推移確率は次を満たす.
∀ (x , y ) ∈Ω2,
PM(x, x’)=∑{P((x, y),(x’, y’)) | y’∈Ω}
PM(y, y’)=∑{P((x, y),(x’, y’)) | x’∈Ω}
P((x, y),(x’, y’)) :coupling での (x, y)から(x’, y’)への
推移確率
PM(x, x’):Mにおける x から x’への推移確率
31
coupling (marginal distribution)
∀ (x , y ) ∈Ω2,
PM(x, x’)=∑{P((x, y),(x’, y’)) | y’∈Ω}
PM(y, y’)=∑{P((x, y),(x’, y’)) | x’∈Ω}
y∈Ω
x∈Ω
Ω2
32
coupling (as a simulation)
初期状態(x, y)からのcoupling の推移
=Markov chain M を 異なる初期状態 xとy から推移
したときのシミュレーション
y∈Ω
x∈Ω
(x,y)∈Ω2
33
coupling (初期状態への依存)
任意の初期状態 (x, y) から, 対角要素 (x’,x’) へ
coupling で推移するまでの時間を算定する.
初期状態に依存しない.
y∈Ω
x∈Ω
x’
(x,y)∈Ω2
34
coupling (non-trivial coupling)
non-trivial coupling:
case x=y: Ω*上にMを貼り付ける
P((x, x),(x’, x’)) = PM(x, x’)
Ω*
P((x, x),(x’, y’)) = 0
(x’≠y’)
case x≠y :
P((x, y),(x’, y’)) = PM(x, x’) PM(y, y’)
とは限らない.
coupling method: 上記のような性質を満たす( M の)
coupling の, 吸収的な同値類 Ω*={(x, x) | x∈Ω}に吸
収されるまでの反復回数を算定して, Markov chain M
の定常分布への収束に必要な反復回数(mixing
time) を算定する (詳細略).
35
coupling lemma (Aldous)
coupling lemma [Aldous 1983]
M: Ω 上の Markov chain
d(x, y): x から yへの距離(非負整数)
D:Ωの直径(最遠状態対間の距離)
∃coupling : 0<∃β< 1, ∀(x, y)∈ Ω2,
(x, y) →(X’, Y’), E[d(X’, Y’)] ≦βd(x, y)
このとき以下が成り立つ
τ(ε) ≦ (1-β)-1 ln(Dε-1)
証明:略(後で path coupling 略証するので, その特殊ケース)
36
2. path coupling method
[Bubley and Dyer 1997]
Markov chain の mixing time を算定する手法
coupling method [Aldous 1983]の改訂版
●アルゴリズムの分野では, Markov chain の mixing time
を算定する基本的な方法として定着しつつある
37
length on a directed graph
y
x
Ω上に距離を定義する.
有向グラフG=(Ω, A ):
Ω:頂点集合, A:有向枝集合
∀(x, y)∈Ω2, d(x, y): x から yへの距離
(G上の有向最短路の距離(距離は枝数))
∀ (x,y) ∈Ω2, d(x,y)=0 ⇔ x = y
0<∃β< 1, ∀(x, y)∈A,
(x, y) →(X’, Y’), E[d(X’, Y’)] ≦βd(x, y)
(注:(X’, Y’)∈Aである必要は無い.)
y
x
y
Y’
x
X’
=
β
X’ =Y’
38
convergence ratio
推移によって,距離が0に収束する.
0<∃β< 1, ∀(x, y)∈A,
(x, y) →(X’, Y’), E[d(X’, Y’)] ≦βd(x, y)
x
y
βd(x, y) X’
Y’
d(x, y)
z D
=
β
Z’
β2d(x, y)
ε
Dβt =ε
t =(ln β-1)-1 ln (Dε-1 )
≦(1-β)-1 ln (Dε-1 )
(β ≒1)
39
path coupling theorem (Bubley and Dyer)
Theorem [Bubley and Dyer 1997]
M: Ω 上の Markov chain
G=(Ω, A ): 有向グラフ(完全とは限らない)
d(x, y): G上での x から yへの距離(非負整数)
D:Gの直径(最遠頂点対間の距離)
∃coupling : 0<∃β< 1, ∀(x, y)∈A,
(x, y) →(X’, Y’), E[d(X’, Y’)] ≦βd(x, y)
このとき以下が成り立つ
=
β
τ(ε) ≦ (1-β)-1 ln(Dε-1)
τ(ε):mixing time (次ページで定義)
40
mixing time
π:Ω→[0,1]:Markov chain Mの定常分布
π’:Ω→[0,1] :Ω上の(任意の)確率分布
DTV(π,π’)=(1/2)∑{|π(x)-π’(x) |:x∈Ω}
total variation
Px(t)(y):Markov chain M が, 初期状態 x から
t 回目の推移で y に到達する確率.
τx(ε)= min{t :∀s≧t, DTV(π, P(s))≦ε}
x
τ(ε)= max { τx(ε) :x∈Ω}:mixing time
41
distance
G=(Ω, A ): (x, y)∈A
coupling: 0<∃β< 1, ∀(x, y)∈A,
(x, y) →(X’, Y’), E[d(X’, Y’)] ≦βd(x, y)
(注:(X’, Y’)∈Aである必要は無い.)
y
x
y
Y’
x
X’ =Y’
X’
任意の状態対(x, y) から出発して, coupling が
推移すると, 状態対の距離は0に収束する.
すなわち, Ω*={(x, x) | x∈Ω} 中に収束する.
42
Proof (1/2)
補題: DTV(π,π’)≡(1/2)∑{|π(x)-π’(x) | :x∈Ω}
=max{π(A)-π’(A) : A⊆Ω}
ただし
π(A)=∑{π(x):x∈A}, π’(A)=∑{π’(x):x∈A}.
X(t):初期状態xからMarkov chain Mで推移した際の時点t
での状態
Y(t):初期状態をMの定常分布で選び, 推移した際の時点t
での状態(実は定常分布に従う事は明らか)
時刻 t =(1-β)-1 ln(Dε-1)において,
∀ A⊆Ω, π(A) - Pr[X(t) ∈A] ≦εを示せばよい
(Pr[Y(t) ∈A]- Pr[X(t) ∈A] ≦εでもよい)
43
Proof (2/2)
∀ A⊆Ω, π(A) - Pr[X(t) ∈A] ≦εを示す.
Pr[X(t) ∈A]≧Pr[Y(t) ∈A∧X(t)=Y(t) ]
≧Pr[Y(t) ∈A]-Pr[X(t)≠ Y(t) ]
Y(t)の定義
=π(A)-Pr[X(t)≠ Y(t) ]
距離の整数性
毎回
β倍
≧ π(A)-∑ (x’,y’) d(x’,y’)Pr[(X(t),Y(t))=(x’,y’)]
グラフの直径
=π(A) -E[d(X(t), Y(t) )]
≧ π(A)-d(x,Y(0))βt ≧ π(A)-Dβt
≧ π(A)-De-t (1-β)= π(A)-De-ln(D / ε)
ln β≦β-1
= π(A)-ε
-1 ln(Dε-1)
ln βt≦t (β-1)
時刻
t
=(1-
β
)
t
-t (1-β)
β ≦e
44
1. mixing time
実際に 有向グラフと coupling を作る.
45
directed graph
G=(Ω, A ): (x, y)∈A⇔2列での±1で推移可能
2
6
x5
6
5
3
2
4
1
6
7
4
4
3
1
3
5
2
0
8
9
0
3
8
x
y
0 ‐1
0 +1
0 +1
0 -1
0 +1
0 -1
0 -1
0 +1
2
y 6
5
6
0
0
0
0
4
4
3
3
0
0
0
0
1
6
7
4
5
2
0
4
5
2
0
8
9
0
3
8
46
coupling example (case 0)
M1のcoupling :
x
x1
2 5 1 4 5 9
6 3 6 3 2 0
3 5 0 4 5 9
5 3 7 3 2 0
2 5 1 4 5 9
6 3 6 3 2 0
4 2 8 1 0 3
7 4 3 3 8 8
5 2 7 1 0 3
6 4 4 3 8 8
1/4
5 2 7 1 0 3
6 4 4 3 8 8
0 5 3 4 5 9
8 3 4 3 2 0
1 5 2 4 5 9
7 3 5 3 2 0
x
case 0: d(x,y)=0 2
7 2 5 1 0 3
4 4 6 3 8 8
6 2 6 1 0 3
5 4 5 3 8 8
x x 1 x2 x3 x4
すなわち x=y のとき.
(x,x)
x3
¼
¼
(x1,x1) (x2,x2)
¼
¼
(x3,x3) (x4,x4)
x
x1
x2
x3
x4
¼
x4
47
coupling (case 0)
G=(Ω, A ): (x, y)∈A⇔M1で推移可能
case 0 : d(x, y)=0 (x=y)
case 1 : d(x, y)=1 (x≠y) xとyは2列異なっている
2列をxとyが同じ列から選ぶ
case 2 : d(x, y)=1 (x≠y)
2列をxとyが異なる2列を選ぶ
case 3 : d(x, y)=1 (x≠y)
2列を、
1列はxとyが異なる列から、
1列はxとyが同じ列から選ぶ
251459
636320
527103 x
644388
161459
726320
y
617103
554388
48
coupling (case 1)
G=(Ω, A ): (x, y)∈A⇔M1で推移可能
case 0 : d(x, y)=0 (x=y)
case 1 : d(x, y)=1 (x≠y) xとyは2列異なっている
2列をxとyが同じ列から選ぶ
case 2 : d(x, y)=1 (x≠y)
2列をxとyが異なる2列を選ぶ
case 3 : d(x, y)=1 (x≠y)
2列を、
1列はxとyが異なる列から、
1列はxとyが同じ列から選ぶ
251459
636320
527103 x
644388
j’ j’’
161459
726320
y
617103
554388
{ j’,j’’}∩{1,2}=φ
coupling example (case 1)
d(x,y)=1
251459
636320
527103 x
644388
j’ j’’
161459
726320
y
617103
554388
x1
½
49
½
251549
636230
527013
644478
y1
½ ½
161549
726230
617013
554478
x2
251459
636320
527103
644388
y2
161459
726320
617103
554388
(x2, y2)
(x1, y1) ½ ½
(x, y)
d(x, y) = d(x1, y1) = d(x2, y2) = 1 (距離は変わらない)
50
{ j’,j’’}∩{1,2}=φ
coupling example (case 1)
d(x,y)=1
½
½
(x
,
y
)
1 1
(x, y)
x x1 x2 y y1 y2
x
x1
x2
y
y1
y2
½
½
(x2, y2)
51
coupling (case 2)
G=(Ω, A ): (x, y)∈A⇔M1で推移可能
case 0 : d(x, y)=0 (x=y)
case 1 : d(x, y)=1 (x≠y) xとyは2列異なっている
2列をxとyが同じ列から選ぶ
case 2 : d(x, y)=1 (x≠y)
2列をxとyが異なる2列を選ぶ
case 3 : d(x, y)=1 (x≠y)
2列を、
1列はxとyが異なる列から、
1列はxとyが同じ列から選ぶ
251459
636320
527103 x
644388
j’ j’’
161459
726320
y
617103
554388
coupling example (case 2)
d(x,y)=1
251459
636320
527103 x
644388
j’
j’’
161459
726320
y
617103
554388
{ j’,j’’}={1,2}
1/7
52
1/7
x1
x7
611459
071459
276320
816320
1 6 7 1 0 3 ‥‥ 7 0 7 1 0 3
100 4 3 8 8
464388
y1
1/7 1/7
y7
611459
071459
276320
816320
1 6 7 1 0 3 ‥‥ 7 0 7 1 0 3
100 4 3 8 8
464388
1/7
1/7
(x7, y7)
(x1, y1)
(x, y)
d(x1, y1) =‥= d(x7, y7) = 0 (短くなる!)
coupling example (case 2)
{ j’,j’’}={1,2
}
53
1/7
d(x,y)=1
(x1, y1)
(x, y)
x x1 x2 … y y1 y2
x
x1
x2
…
y
y1
y2
…
1/7
(x7, y7)
…
…
1/7
54
coupling (case 3)
G=(Ω, A ): (x, y)∈A⇔M0で推移可能
case 0 : d(x, y)=0 (x=y)
case 1 : d(x, y)=1 (x≠y) xとyは2列異なっている
2列をxとyが同じ列から選ぶ
case 2 : d(x, y)=1 (x≠y)
2列をxとyが異なる2列を選ぶ
case 3 : d(x, y)=1 (x≠y)
2列を、
1列はxとyが異なる列から、
1列はxとyが同じ列から選ぶ
251459
636320
527103 x
644388
j’
j’’
161459
726320
y
617103
554388
55
|{
j’,j’’}∩{1,2}|=1
coupling example (case 3)
1/4
1/4
1/4
1/4
350459 251459 152459 053459
537320 636320 735320 834320
428103 527103 626103 725103
743388 644388 545388 446388
j’
260459
627320
518103
653388
j’’
x
上下段の個数は最大1しか違わない
y
161459
726320
617103
554388
1/3
1/3
062459
825320
716103
455388
1/3
|{ j’,j’’}∩{1,2}|=1
1/4
1/4
1/4
1/4
251459 152459
636320 735320
527103 626103
644388 545388
56
coupling example (case 3)
350459
537320
428103
743388
j’
260459
627320
518103
653388
j’’
161459
726320
617103
554388
1/3
1/3
053459
834320
725103
446388
距離=1
062459
825320
716103
455388
1/3
coupling example (case 3)
1/4
1/4
x1
350459
537320
428103
743388
x=x2
251459
636320
527103
644388
|{ j’,j’’}∩{1,2}|=1
1/4
x4
1/4
x3
152459 053459
735320 834320
626103 725103
545388 446388
(x1,y1)
(x3,y3 )
(x2,y2 )
(x4,y3 )
(x3,y2 )
(x2,y1 )
(x,y)
260459 161459 062459
627320 726320 825320
518103 617103 716103
653388 554388 455388
y1
y=y2
y3
1/3
1/3
1/3
距離=1
57
coupling example (case 3)
1/4
1/4
x1
350459
537320
428103
743388
x=x2
251459
636320
527103
644388
|{ j’,j’’}∩{1,2}|=1
1/4
x4
1/4
x3
152459 053459
735320 834320
626103 725103
545388 446388
260459
627320
518103
653388
2/12
2/12 1/12 3/12
(x,y)
161459 062459
726320 825320
617103 716103
554388 455388
y1
y=y2
3/12
1/12
y3
1/3
1/3
1/3
距離=1
58
59
coupling example (case 3)
|{ j’,j’’}∩{1,2}|=1
1/3
1/3
1/3
y1 y=y2 y3
1/4
1/4
x1
x=x2
3/12
1/12
2/12
2/12
1/4
1/4
x3
1/12
3/12
x4
d(x1, y1) =‥= d(x4, y3) = 1 (距離は変わらない)
60
coupling Theorem
x と y が1,2列で異なるとき, {j’,j’’}として{1, 2}
を選ぶならば, 距離は0になり, 他の場合は距
離は変わらない(1のままである).
(case 1)
251459
636320
x
527103
644388
j’ j’’
161459
y 726320
617103
554388
距離不変(=1)
(case 2)
251459
636320
527103
644388
j’ j’’
161459
726320
617103
554388
距離=0
(case 3)
251459
636320
527103
644388
j’
j’’
161459
726320
617103
554388
距離不変(=1)
61
coupling Theorem
x と y が1,2列で異なるとき, {j’,j’’}として{1, 2}
を選ぶならば, 距離は0になり, 他の場合は距
離は変わらない(1のままである).
{j’,j’’}として{1, 2}を選ぶ確率は 2/(n(n-1)).
推移後の距離の期待値:
1×(1- 2/(n(n-1)))+0× 2/(n(n-1))
=1- 2/(n(n-1))
62
directed graph (diameter)
G=(Ω, A ): (x, y)∈A⇔M0 で推移可能
(x, y)∈A ならば, x と y は 2m×2のセルにおいて,
±1違う.
ゆえに, N/2m回以内の推移で, 任意の状態間
を移ることができる.
D=Gの直径 ≦ N/2m = dn
d = N/(n2m ) : セル内の数値の平均
63
main theorem
Theorem
M1: new Markov chain (Ω : 状態空間)
G=(Ω, A ): 有向グラフ
d(x, y): G上での x から yへの距離
D:Gの直径≦ N/2m = dn
d=N/(n2m ) :セル内の数値の平均
∃coupling : 0<β< 1, ∀(x, y)∈A,
(x, y) →(X’, Y’), E[d(X’, Y’)] ≦βd(x, y)
=
β=1- 2/(n(n-1))
β
このとき以下が成り立つ
τ(ε) ≦ (1/2) n(n-1) ln(dnε-1)
64
main theorem
Theorem
M1: new Markov chain (Ω : 状態空間)
G=(Ω, A ): 有向グラフ
d(x, y): G上での x から yへの距離
D:Gの直径≦ N/2m = dn
d=N/(n2m ) :セル内の数値の平均
0< ∃ β< 1, ∀(x, y)∈A,
(x, y) →(X’, Y’), E[d(X’, Y’)] ≦βd(x, y)
=
β=1- 2/(n(n-1))
β
このとき以下が成り立つ
τ(ε) ≦ (1/2) n(n-1) ln(dnε-1)
65
number of iterations
実際の反復回数は?
発表での数値例 ε=10-10
τ(ε) ≦ (1/2) n(n-1) ln((N/2m) /ε)
=(1/2)6(6-1)ln((97/26 ) 1010 )=355.7
セルの数値の平均値を10程度とする
d = N/(n2m ) = 10 とする
τ(ε) ≦ (1/2) n(n-1) ln(dn/ε)
= (1/2) n(n-1) ln (10n/ε)
単位千回
n
5 10 20 40 50 100
ε10-10 0.3 1.2 5.3 22 35 148
10-12 0.3 1.5 6.3 26 42 171
66
0. 超幾何分布を定常分布に持つ
Markov chain の提案
超幾何分布のためのMarkov chain
67
超幾何分布
3元分割表の集合上の超幾何分布
Pr[T]=Pr[nijk]=
Δ
Πi Πj Πknijk !
Δ:総和が1となるように定めた係数
68
new Markov chain
M1: 列{j’, j’’} (j’≠j’’)をランダムに選ぶ
3
5
4
7
2
6
5
6
5
3
2
4
1
6
7
4
5
3
2
4
0
7
8
3
4
3
1
3
2
6
5
6
4
3
1
3
5
2
0
8
5
3
2
4
5
2
0
8
9
0
3
8
1
6
7
4
9
0
3
8
-θ
+θ
+θ
-θ
-1
0
4
3
1
3
5
2
0
8
9
0
3
8
0 +θ 0
0 -θ 0
0 -θ 0
0 +θ 0
0
0
0
0
0
0
0
0
0
8
7
4
4
3
1
3
5
3
2
4
5
2
0
8
3
4
5
6
9
0
3
8
1
2
1
7
6
5
5
3
2
4
2
5
6
5
4
3
1
3
5
2
0
8
9
0
3
8
69
new Markov chain
M1: 列{j’, j’’} (j’≠j’’)をランダムに選ぶ
Δ’/(0!3!8!4!7!5!4!6!)
Δ’/(3!0!5!7!4!8!7!3!)
Δ’:総和が1
となるよう
定めた係数
Δ’/(3!0!5!7!
4!8!7!3!)
3
5
4
7
5
3
2
4
0
7
8
3
4
3
1
3
2
6
5
6
5
2
0
8
5
3
2
4
9 Δ’/(2!1!6!6!
0
5!7!6!4!)
3
8
1
6
7
4
4
3
1
3
5
2
0
8
9
0
3
8
1
7
6
5
5
3
2
4
2
5
6
5
0
8
7
4
4
3
1
3
5
3
2
4
5
2
0
8
3
4
5
6
9
0
3
8
4
3
1
3
5
2
0
8
9
0
3
8
70
Mixing time
一様分布と同様にグラフを定め, coupling を作
ることができる.
Theorem
τ(ε) ≦ (1/2) n(n-1) ln(dnε-1)
証明のキー:
coupling を作る際, 一様分布と違って, 推移確
率を陽に書けない. 推移確率の存在性を証
明する必要がある.
coupling example (case 3)
Δ’/2!1!6!6!5!7!6!4!
Δ’/3!0!5!7!4!8!7!3!
350459
537320
428103
743388
?
?
260459
627320
518103
653388
Δ’’/2!0!6!7!
5!8!6!3!
251459
636320
527103
644388
?
(x,y)
161459
726320
617103
554388
Δ’/1!2!7!5!
6!6!5!5!
152459
735320
626103
545388
?
?
Δ’/0!3!8!4!
7!5!4!6!
71
053459
834320
725103
446388
?
値は唯一なので
0 6 2 4 5 9 非負性の証明
8 2 5 3 2 0 が重要となる
716103
455388
Δ’’/0!2!8!5!
7!6!4!5!
Δ’’/1!1!7!6!6!7!5!4!
Δ’/2!1!6!6!5!7!6!4!
coupling example
Δ’/3!0!5!7!4!8!7!3!
350459
537320
428103
743388
?
260459
627320
518103
653388
Δ’’/2!0!6!7!
5!8!6!3!
251459
636320
527103
644388
(x,y)
161459
726320
617103
554388
Δ’/1!2!7!5!
6!6!5!5!
152459
735320
626103
545388
?
Δ’/0!3!8!4!
7!5!4!6!
72
053459
834320
725103
446388
?
大小関係が
逆転するのは
最大1回
062459
825320
716103
455388
Δ’’/0!2!8!5!
7!6!4!5!
Δ’’/1!1!7!6!6!7!5!4!
Δ’/2!1!6!6!5!7!6!4!
coupling example
Δ’/3!0!5!7!4!8!7!3!
350459
537320
428103
743388
?
260459
627320
518103
653388
Δ’’/2!0!6!7!
5!8!6!3!
251459
636320
527103
644388
Δ’/1!2!7!5!
6!6!5!5!
152459
735320
626103
545388
非負
(x,y)
161459
726320
617103
554388
Δ’/0!3!8!4!
7!5!4!6!
73
053459
834320
725103
446388
?
大小関係が
逆転するのは
最大1回
062459
825320
716103
455388
Δ’’/0!2!8!5!
7!6!4!5!
Δ’’/1!1!7!6!6!7!5!4!
74
coupling
非負性の証明
ここの非負性は自明
A
C
E
逆転
B
D
B-A≧0
C+E-D
≧C-D≧0
75
Concluding
2×2×・・・×2×Kの分割表をサンプリングす
る Markov chain として,極限分布に一様分布
と超幾何分布を持つものを提案し, その
mixing time を算定した.
Theorem
τ(ε) ≦ (1/2) n(n-1) ln(dnε-1)
τ(ε): mixing time
d=N/(n2m ) :セル内の数値の平均
n, m : 分割表のサイズは{1,2}m×{1,2,...,n}
N:分割表中の数値の総和
76
終わり
77
future work
Counting (D&G の拡張で可能と思われる)
計算機実験
78
main result
Purpose
random generation of {1,2}m×{1,2,...,n}
contingency tabel by using Markov chain
Monte Calro method
Result
The mixing time of the Markov chain is
bounded by the polynomial of # of columns
and the logarithm of table sum.
Method
path coupling method [Bubley and Dyer 1997]
79
contingency table
{1,2}2×{1,2,3,4,5,6}の例
80
contingency table
2
6
8
5
6
11
5 1
3 6
8 7
2 7
4 4
6 11
4
3
7
1
3
4
5 9
2 0
7 9
0 3
8 8
8 11
26
20
18
27
7 7 8 5 5 11
12 7 10 6 10 8
N:table sum
(N=91)
n: # of columns (n=6)
81
main theorem
Theorem
τ(ε)≦n(n-1) ln (([N/2m]+1)εー1)/2
ε:error bound
(precise definion → later)
τ(ε): mixing time
(# of iterations of MCMC method)
(precise definion → later)
N:table sum
n, m : the size of table is {1,2}m×{1,2,...,n}
82
coupling (trivial coupling)
trivial coupling:
P((x, y),(x’, y’)) = PM(x, x’) PM(y, y’)
∀ x ,∀ y∈Ω,
PM(x, x’)=∑{P((x, y),(x’, y’)) | y’∈Ω}
PM(y, y’)=∑{P((x, y),(x’, y’)) | x’∈Ω}
P((x, y),(x’, y’)) :coupling における (x, y)から(x’, y’)
への推移確率
PM(x, x’):Mにおける x から x’への推移確率