2014年6月2日月曜日

FREQプロシジャ のWARNINGメッセージ「期待度数が5より小さくなっています。」の制御方法



まず以下のプログラムを見てみましょう。

*** サンプルデータ作成 ;
data DT1;
input A B C;
cards;
1 1 2
1 2 4
2 1 1
2 2 5
;


*** Fisherの正確検定 ;
proc freq data=DT1 noprint;
   tables A*B / exact ;
   weight C / zeros;
   output out=OUT1 exact ;
run;


ログ
WARNING: セルの75% (表 : A * B)において、期待度数が5より小さくなっています。カイ2乗検定は妥当な検定でないと思われます。



カイ2乗検定で「期待度数が5未満のセル」の比率が20%より大きい場合に上記のようなログが出ます。



カイ2乗検定を行う場合、状態を把握するためにも、このログは出力させておいたほうが良いと思います。
しかし今回の例では、はじめからFISHERの正確検定だけをやりたいのに、自動でカイ2乗検定の結果も出るため、このWARNINGは今回は見ないため、なくしたい。

そんな時にNOWARNオプションでこのログを制御できます。

*** Fisherの正確検定 ;
proc freq data=DT1 noprint ;
   tables A*B / exact  nowarn ;
   weight C / zeros;
   output out=OUT1 exact  ;
run;



またカイ2乗検定を出すときに「WARN=OUTPUT」と記述すると、、

*** カイ2乗検定 ;
proc freq data=DT1 noprint ;
   tables A*B / chisq   warn=output ;
   weight C ;
   output out=OUT1 chisq ;
run ;


「期待度数が5未満のセル」の比率が20%より大きいかどうかのフラグ変数を出力データセットに作成してくれます。
(SAS環境によって異なりますが「カイ2乗値のWarning」みたいなラベルでフラグ変数が作成されます)



0 件のコメント:

コメントを投稿