平均値の差のt検定
条件間で独立なデータの場合
条件間でデータが独立な場合の平均値の差のt検定<岡本安晴「データ分析のための統計学入門」おうふう、第3.2節参照>を行うプログラム例t-test_ind.exeを作成した。プログラムt-test_ind.exeは.NET Framework3.5対応であるが、プログラム名t-test_ind.exeをクリックしてダウンロード・実行すると図1のフォームが現れる。
図1
「*のラベル」の下に必要ならば変数名を設定する。リッチ・テキスト・ボックスの下の「追加」ボタンをクリックして、リッチ・テキスト・ボックス内のセルの行数を必要なだけ増やしてデータを設定する(図2)。行を増やし過ぎたときは「削除」ボタンをクリックすると削除される。設定したデータは「保存」ボタンをクリックすると保存され、保存したデータは「読出」ボタンをクリックして読み込むことが出来る。設定されたデータは「印刷」ボタンのクリックでプリンタに印刷される。
図2
データの設定後、「計算」ボタンをクリックすると計算結果を出力するファイル名の設定を求めるダイアログ・ボックスが表示される(図3)。
図3
出力ファイル名の設定後、「保存」ボタンをクリックすると計算が始まり、計算とファイルへの書き出しが終わって出力ファイルが閉じられると図4のメッセージ・ウィンドウが表示される。
図4
「OK」ボタンのクリックで図2のフォームの状態に戻る。「終了」ボタンのクリックでプログラムの実行終了となる。実行終了後、図3で設定したテキストファイルを開くと、以下の内容が出力されている。
========================
第1変数 ==> 条件A
データ =
x[1] = 5
x[2] = 7
x[3] = 3
第2変数 ==> 条件B
データ =
y[1] = 9
y[2] = 5
y[3] = 7
y[4] = 8
y[5] = 6
Xの平均 = 5.000
Xの分散 = 2.667
Xの標準偏差 = 1.633
Xの不偏分散 = 4.000
Xの不偏分散の平方根 = 2.000
Yの平均 = 7.000
Yの分散 = 2.000
Yの標準偏差 = 1.414
Yの不偏分散 = 2.500
Yの不偏分散の平方根 = 1.581
t = -1.581 自由度 = 6
========================
入力データと記述統計量の出力後、最後にtの値と自由度が出力されている。t値は以下のコードによって算出されている。
double SDDxy =
Math::Sqrt((nx*sqr(SDX)+ny*sqr(SDY))*((1.0/nx)+(1.0/ny))/(nx+ny-2.0));
double t = (MeanX - MeanY) / SDDxy; // tの計算
t値に対する確率は<ティ分布の計算>に用意したプログラムで求めることが出来る。
平均値の差の検定のためのt値を求める上のプログラムのソースコードなどは圧縮ファイルt-test_ind.zipとしてまとめた。圧縮ファイル名t-test_ind.zipをクリックしてダウンロードしたものをマウスの右ボタンでクリックして表示されるメニュから「展開」あるいは「解凍」を選ぶと解凍することが出来る。解凍したファイルは、Visual C++2008で開くことが出来る。
また、標準C++準拠のt検定プログラム例は本ウェブサイトとは別のウェブサイト<平均値の差のt検定>に用意した。
なお、Visual C++プログラミングの入門書<岡本安晴「大学生のための心理学VC++プログラミング入門」勁草書房>を上梓した。