MULTTESTプロシジャの調整されたp値がリリースによって異なる

[OS] ALL
[リリース] ALL
[キーワード] PERMUTATION, resampling

[質問]

MULTTESTプロシジャで、PERMUTATIONオプションを指定して多重比較を行ないました。
アウトプットに出力される調整されたp値が、SAS 6.12 と SAS 8.1 以降では異なります。
同じ初期シード値(SEED=オプション)とサンプル数(NSAMPLE=オプション)を指定したので、同じ結果が得られると思うのですが、これはなぜですか?

■プログラム例


data test;
input g s1 s2;
cards;
0 1 1
0 1 0
0 1 1
0 0 1
0 1 1
0 1 0
1 0 0
1 0 1
1 0 0
1 0 1
1 1 1
1 1 0
;
run;

proc multtest data=test permutation nsample=1000 seed=12345;
class g;
test ca(s1 s2);
contrast 'trend' 0 1;
run;

■出力結果(抜粋)

■■ SAS 6.12(SAS 8.2 の結果と同じ形態に変更しています)


                P-values
Variable Contrast    Raw    Permutation

 s1      trend      0.0926    0.4230
 s2      trend      0.5751    1.0000

■■ SAS 8.2


                P-values
Variable Contrast    Raw    Permutation

 s1      trend      0.0926    0.4110
 s2      trend      0.5751    1.0000

[回答]

この現象は、TESTステートメントで他の検定のオプション、たとえばFISHERやFTなどを指定したときも起こります。

SAS 8.1以降では、PERMUTATIONオプションを指定したときの標本抽出の方法が内部的に変更されました。 このため、SAS 6.12とSAS 8.1以降では、異なる調整されたp値が出力されます。NSAMPLE=オプションで指定する数値が十分大きければ、その差は極めて小さいものになります。