計算回数を減らす



たくさんの分割表がある。そのセルの数値がすべて同一な表は、その表に対して何の計算をするにしろ検定結果が同じである(もちろん)。

周辺度数が同じだが、各セルの値がことなる場合もある。このような場合は、その分割表・周辺度数が網羅しうる分割表パターンが同一である。フィッシャーの正確確率検定で、このパターンごとの確率をそれぞれ計算する必要がある場合などは、周辺度数が等しい表について、1回で済ませられる計算を1回にするとずいぶんと計算量が減る。

さらに、正確確率検定では、n!の計算が繰り返し出現するが、同じくらいのサンプル数の表で用いるn!0!からn!までであるから、これらをあらかじめ計算しておくと、ここでも相当量の計算量が省ける。

これをするためには、同一の分割表を検出し、それらを、周辺度数の一致・不一致によって束にしておくとよい。

以下、そのためのJava class