対応の壊れたゲーム結果を復元する

  • 12人の参加したボウリング大会
  • 全員が4ゲームを実施して記録した
  • 第1ゲームでの投球順の記録はある
  • 第2ゲーム以降では第i投球者がどのようなスコアを残したかはわかるが、各ゲームで誰が何番目に投げたかがわからなくなった
  • とはいえ、プレーヤごとにかなり実力差があるので、なんとか各ゲームで誰が第何投球者だったのかを推測したい
  • どんな風にできるだろうか
  • 以下のシミュレーションは、ストライクやスペアなどのルールはなしにして、投球ごとの得点は相互に独立であるとした
  • 以下に示すのは、末尾のソースで発生させた結果である
  • どんな推測の仕方ができそうでしょうか

  • 次の例は、実際のボウリング大会の結果である

n.player <- 12
n.game <- 4
n.pitch <- 10

m <- runif(n.player)*10
v <- runif(n.player)*5

my.scores <- array(0,c(n.game,n.player,n.pitch))
for(i in 1:n.game){
	for(j in 1:n.player){
		for(k in 1:n.pitch){
			tmp <- round(rnorm(100,m[j],v[j]))
			tmp. <- tmp[which(tmp >= 0 & tmp <= 10)]
			my.scores[i,j,k] <- tmp.[1]
		}
	}
}

par(mfrow=c(2,2))
for(i in 1:n.game){
	matplot(apply(my.scores[i,,],1,cumsum),type="l")
}


for(i in 1:n.game){
	tmp <- apply(my.scores[i,,],1,cumsum)
	matplot(tmp[,sample(1:n.player)],type="l")
}

par(mfrow=c(1,1))