2つの行列が決める

  • こちらから
    • 9つのグラフがある
    • 離散的な値(得点)の確率密度分布である
    • この9つの確率密度分布は、(大まかに言えば)9人の並べ方に対応して求めたものである
    • 9人は2種類に分けられて、その種類別人数は1人と8人である
      • ABB BBB BBBの並べ方が9通りなので、9つの確率密度分布ができている
      • 打者9人の打率をすべて別々にすると、ここの並べ方が9!になるので、網羅的調査は不適当になる
  • この確率密度分布の間の関係を考えよう
    • 9人は、その並び方に応じて、順番にある行為をする(打席に立つ)
    • 9人の行為は確率的である
    • イニングと呼ばれる行為のセットがあり、それには終了基準があり、確率的行為によって決まる
    • 終了基準を満たしたら、そのイニングでの得点が決まる
    • 終了基準を満たしたら、次のイニングでの行為を始める人が決まる
  • 9人の並び方をs_i;i=1,2,...,9とする
    • s_1=(b_1,b_2,...,b_9)
    • s_2=(b_2,b_3,...,b_9,b_1)
    • ...
    • s_9=(b_9,b_1,b_2,...,b_8
    • 並び方s_iの場合に、その第j番目から始まるイニングは、s_{(i+j\%\%9)}(\%\%は剰余計算)の1番目から始まると同じ
  • さて、あるイニングがs_iの1番目から始まったとする
    • 次のイニングがs_j;j=1,2,...,9のうちのどの並び方の1番目から始まるかは確率的に決まる
      • その確率をP(j|i)と書こう
    • このイニングで取る得点はt=0,1,2,...,\inftyである。何点を取るかは確率的に決まる
      • その確率をQ(t|i)と書こう
  • 今、あるイニングがs_1,s_2,...,s_9の第1番目から始まる確率が、v=(v_1,v_2,...,v_9)であったとする
    • 次のイニングがs_jの第1番目から始まる確率は、\sum_{i=1}^9 v_i \times P(j|i)で算出される
    • このことは次のイニングの開始バッターの確率ベクトルv(x+1)v(x+1)=P v(x):P=(P(j|i)というP(j|i)を要素とする行列で表されることを意味する
  • 今、s_1で試合開始をする場合には、
    • 第1イニングの先頭打者の確率分布はv_1(1)=(1,0,0,0,0,0,0,0,0)
    • 第2イニング以降はv_1(2)=P v_1(1),v_1(3)=P^2 v_1(1),...,v_1(9)=P^8 v_1(1)である
  • 同様に、s_wで試合開始をする場合には、
    • 第1イニングの先頭打者の確率分布はv_w(1)i番目が1で残りが0で
    • 第2イニング以降はv_w(2)=P v_w(1),v_w(3)=P^2 v_w(1),...,v_w(9)=P^8 v_w(1)である
  • これを足し合わせたv_w(1)+v_w(2)+...+v_w(9)=\sum_{a=0}^8 P^a v_w(1)=V_wが、先頭打者がだれであるかについて、9イニングの通算ベクトル(V_w=(V_{w,1},V_{w,2},...,V_{w,9})の要素の和は9)である
  • 得点の方を考えよう
    • s_iの先頭打者から始まったときの得点の確率はQ(t|i)として与えたから、先頭打者の確率ベクトルがv=(v_1,v_2,...,v_9)のときに、そのイニングにt点とる確率は\sum_{i=1}^9 v_i \times Q(t|i)
    • したがって、このイニングの得点の期待値は\sum_{t=0}^{\infty} t \times :(\sum_{i=1}^9 v_i \times Q(t|i))
    • 先に出したV_wを使えば、1試合の得点の期待値は\sum_{t=0}^{\infty} t \times :(\sum_{i=1}^9 V_{w,i} \times Q(t|i))
  • 変数がたくさん出てきてごちゃごちゃしたけれど、必要なのは次の通り
    • P: 9\times 9 行列(推移行列)
    • Q:0,1,2,...,\inftyに対応した\infty \times 9行列
    • P,Qをランダムに作って計算しよう
  • 打者の打率パターンと打者の並べ方が、PとQとを決める
  • PとQとは相互に関係のある行列
  • PとQとが決まれば、後は、イニング数が試合の総得点を決める
# P,Qを適当に作る
library(MCMCpack)
nbatter<-9
P<-rdirichlet(nbatter,rep(1,nbatter))
# 低得点の確率を高くする
Tmax<-20
t<-0:Tmax
Q<-t(rdirichlet(nbatter,2^(-t)*10))
# 検算
apply(P,1,sum)
apply(Q,2,sum) # Tmaxは十分なことの確認
matplot(Q,type="l")
# 打順ごとの、初回先頭打者確率ベクトルは
v.1<-diag(rep(1,nbatter))
# 第iイニングのそれは P^(i-1) v.1
v<-NULL
library(expm)
# イニング数をだんだんに増やして得点分布がどう変わるか見よう
# イニング数が少ないと、「ばくち」の要素があるが、イニング数が増えると、「分布が収束(PとQとによって定められた分布へと収束)」するらしいことがわかる
Nininngs<-1:9
par(mfcol=c(3,3))
for(x in 1:length(Nininngs)){
	nininng<-Nininngs[x]
for(i in 1:nininng){
	v[[i]]<-P%^%(i-1) %*%v.1 # %^%は行列のべき乗
}
# Vはvの足し合わせ
V<-matrix(0,nbatter,nbatter)
for(i in 1:nininng){
	V<-V+v[[i]]
}

# 得点分布
Point<-Q %*% V

matplot(Point,type="l",main=x)

}