3-3. t検定

SASでt検定を実行するにはTTESTプロシジャを用います。

PROC TTEST

t検定を実行します。書式は次のようになりますが、どのようなt検定を実行するかによって、用いるステートメントが異なります。

proc ttest data=データセット オプション;
  class 変数;
  var 変数;
  paired 変数 * 変数;
run;

PROC TTESTステートメントで使用する主なオプションには次のようなものがあります。

alpha=p表示する信頼区間を 100(1-p)% にします。省略した場合0.05となります。
h0=m帰無仮説 H0 を =m に設定します。このオプションは1群,2群,対応のある場合、すべてにおいて有効です。省略した場合0となります。詳細は下記を参照。
sides=keywordkeywordには 2, L, U のいずれかを指定します。
2:両側検定を行います。帰無仮説 H0 は =m、対立仮説 H1 は ≠m になります。(デフォルト)
L:片側検定を行います。帰無仮説 H0 は ≥m、対立仮説 H1 は <m になります。
U:片側検定を行います。帰無仮説 H0 は ≤m、対立仮説 H1 は >m になります。


1群の母平均の検定

帰無仮説 H0:母平均 μ=m の仮説検定を行います。

proc ttest data=データセット h0=m オプション ;
  var 変数 ;
run;

VARステートメントで目的変数を指定します。VARステートメントの変数と m は複数指定でき、その場合は変数と m が順に対応して用いられます。


2群の母平均の比較

帰無仮説 H0:μA-μBm の仮説検定を行います。

proc ttest data=データセット [h0=m] オプション ;
  class 変数 ;
  var 変数 ;
run;

VARステートメントで目的変数を指定し、目的変数の母平均を比較する2群を分類する変数をCLASSステートメントで指定します。CLASSステートメントで指定する変数は数値変数でも文字変数でも構いませんが、必ず2値でなければなりません。

2群の母平均の比較はほとんどの場合『2群の母平均が等しい:μA=μB 』という帰無仮説の検定を行いますので、m には0を設定します。m はデフォルト値が0ですので、この場合は h0=m オプションは省略して構いません。


対応のある2群の母平均の比較

帰無仮説 H0:μΔm の仮説検定を行います。

proc ttest data=データセット [h0=m] オプション ;
  paired 変数1 * 変数2 ;
run;

PAIREDステートメントで対応のある2つの変数を指定します。Δ=変数1-変数2 の母平均 μΔ に関して1群の母平均の検定を行うのと同等です。

対応のある2群の母平均の比較はほとんどの場合『μΔ=0』という検定を行いますので、m には0を設定します。m はデフォルト値が0ですので、この場合は h0=m オプションは省略して構いません。

PAIREDステートメントの変数の組と m は複数指定でき、その場合は変数の組と m が順に対応して用いられます。


Sample 2-2で作成したデータセットds22を用いて相関係数を算出してみます。次のプログラムを入力して実行してください(コメント部分は入力しなくても構いません)。Sample 3-3はtutrialフォルダにsample3-3.sasとして保存しておきます。

【Sample 3-3】

/* Sample 3-3 */

title1 'Sample 3-3 T検定';

/* 帰無仮説:父親の身長の母平均=165cm を検定 */
title2 '1群の母平均の検定';
proc ttest data=ds22 h0=165;
  var father;
run;

/* 帰無仮説:男性の父親の身長の母平均=女性の父親の身長の母平均 を検定 */
title2 '2群の母平均の比較';
proc ttest data=ds22;
  class sex;
  var father;
run;

/* 帰無仮説:体重の変化量=0 を検定 */
title2 '対応のある2群の平均値の比較';
proc ttest data=ds22;
  paired weight2 * weight1;
run;

結果はこのように出力されます。


はじめに1群の母平均の検定として、父親の身長の母平均が165[cm]であるという帰無仮説を検定しています。プログラムでは帰無仮説を μ=165 にするためにPROC TTESTステートメントに h0=m オプションを指定しました。結果ははじめにVAR変数fatherの記述統計が表示されています。次に推測統計量として平均と標準偏差の推定値と95%信頼限界(信頼区間の下限と上限)が表示されています。続いて帰無仮説に対する検定の結果として、t統計量の自由度とt値、対応するp値が表示されています。この場合はp=0.0004であり、有意水準を5%とすれば、父親の身長の母平均が165[cm]であるという帰無仮説は棄却されます。さらに、分析に用いた変数のヒストグラムと箱ひげ図(Box and Whisker plot)、Q-Qプロットが表示されています。なお、製品版SASで結果の出力をアウトプットウィンドウにした場合にはグラフは出力されません。


続いて2つ目のTTESTプロシジャで2群の母平均の比較を行っています。VARステートメントにfather、CLASSステートメントにsexを指定して男性と女性の間で父親の身長の比較を行うように指定しました。結果はまず、CLASS変数の値別(この場合は男女別)にVAR変数fatherの記述統計、最下行に両群の平均の差についての統計量が表示されています。続いて同様に推測統計量がCLASS変数の値別と平均の差について表示されています。『Pooled』は両群の分散が等しいことを前提としたpooled variance estimate、『Satterthwaite』は等分散を前提としない、Satterthwaiteの自由度近似に基づくWelchの信頼区間です。次に検定の結果が表示されており、上と同様『Pooled』は両群の等分散を前提としたpooled variance estimateによる、いわゆるStudentのt検定の結果で、『Satterthwaite』は等分散を前提としない、Satterthwaiteの自由度近似に基づくWelch検定の結果です。最後に等分散性の検定の結果が表示されています。この場合、等分散性の検定はp=0.1693で、両群が等分散であるという帰無仮説は棄却されません。従って等分散を前提とした通常のt検定であるPooledを参照するとp=0.4560であり、両群の平均が等しいという帰無仮説は棄却されません。なお、等分散性の検定もt検定同様にデータに正規性の仮定を置いていますが、その仮定の崩れに対してt検定のようには頑健ではないため、Q-Qプロットなどから正規性が疑われる場合には用いるべきではありません。そして最後に1群の母平均の比較と同様に分析変数のヒストグラムと箱ひげ図、Q-Qプロットが群別に表示されています。


最後のTTESTプロシジャで対応のある2群の平均値の比較を行っています。PAIREDステートメントに指定する変数の順番に注意してください。対応のある2群の比較は多くの場合、時間的に前後して測定された2回の測定値に用いられます。PAIREDステートメントに『2回目の測定値*1回目の測定値』と指定することで、変化量Δが『2回目の測定値-1回目の測定値』となり、増加が+、減少が-という、直感に合致する符号の向きになります。表示される結果は2つの変数の差 weight2-weight1 に関する1群の母平均の検定と同様になりますが、1群の母平均の検定の際にはなかったグラフが2つ表示されています。ひとつは2つの変数の対応のあるプロファイルで、個々のケースごとに両変数の違いを示したものです。もうひとつが一致度のグラフで、横軸と縦軸にそれぞれの変数をとって表したものです。2つの値が一致していれば図の対角線上にプロットされるため、対角線からのずれで両変数の違いが分かるようになっています。この結果では差の分布は明らかに二峰性を示しており、体重が増加した群と減少した群があることが分かります。従ってこの場合はすべてのケースをまとめて単純に前後比較を行うことは適切ではないと言えるでしょう。