ゴルフでは、ボールがホールインするまでに必要な予想ストローク数を示す "パー" がホールごとに関連付けられています。技術の高いプレーヤーは、通常、パーに非常に近いストローク数で各ホールを終了します。勝者が明らかになるまでには、数ホールをプレーし、スコアを累積する必要があります。
ベン、ジェンおよびケンは、18 ホールで構成されるフル ラウンドをプレーします。コースは、パー 3、パー 4 およびパー 5 のホールの組み合わせから成っています。ゲームの終了時に、プレーヤーは各自のスコアを集計します。
hole = 1:18;
par = [4 3 5 3 4 5 3 4 4 4 5 3 5 4 4 4 3 4];
nms = {'Ben';'Jen';'Ken'};
Ben = [4 3 4 2 3 5 2 3 3 4 3 2 3 3 3 3 2 3];
Jen = [4 3 4 3 4 4 3 4 4 4 5 3 4 4 5 5 3 3];
Ken = [4 3 4 3 5 5 4 4 4 4 5 3 5 4 5 4 3 5];
T = table(hole',par',Ben',Jen',Ken', ...
'VariableNames',['hole';'par';nms])
T=18×5 table
hole par Ben Jen Ken
____ ___ ___ ___ ___
1 4 4 4 4
2 3 3 3 3
3 5 4 4 4
4 3 2 3 3
5 4 3 4 5
6 5 5 4 5
7 3 2 3 4
8 4 3 4 4
9 4 3 4 4
10 4 4 4 4
11 5 3 5 5
12 3 2 3 3
13 5 3 4 5
14 4 3 4 4
15 4 3 5 5
16 4 3 5 4
⋮
ラウンドの勝者は、終了時に下側累積和がパーを最も下回っているプレーヤーです。3 人のプレーヤーについて合計を計算し、優勝者を決定します。しきい値を低く設定し、平均の変化がすべて検出できるようにします。
[~,b,~,Bensum] = cusum(Ben-par,1,1e-4,0);
[~,j,~,Jensum] = cusum(Jen-par,1,1e-4,0);
[~,k,~,Kensum] = cusum(Ken-par,1,1e-4,0);
plot([Bensum;Jensum;Kensum]')
legend(nms,'Location','best')
ベンがラウンドを優勝しました。ホールごとのストローク数を無作為に増減して、次のゲームをシミュレートします。
Ben = Ben+randi(3,1,18)-2;
Jen = Jen+randi(3,1,18)-2;
Ken = Ken+randi(3,1,18)-2;
[~,b,~,Bensum] = cusum(Ben-par,1,1e-4,0);
[~,j,~,Jensum] = cusum(Jen-par,1,1e-4,0);
[~,k,~,Kensum] = cusum(Ken-par,1,1e-4,0);
plot([Bensum;Jensum;Kensum]')
legend(nms,'Location','best')