相関係数の信頼区間
相関係数の区間推定として信頼区間を求めるプログラムCalc_r_interval.exeを作成した。このプログラムは.NET Framework 3.5 対応であり、プログラムファイル名Calc_r_interval.exeをクリックしてダウンロード・実行することが出来る。実行すると図1のフォームが表示される。
図1
サンプルから算出された相関係数を「r =」の右側のテキスト・ボックスに、サンプル数(ペア数)を「N =」の右側のテキスト・ボックスに、信頼係数を「信頼係数(%)=」の右側のテキスト・ボックスにそれぞれ設定して「Calc」ボタンをクリックすると対応する信頼区間が算出されて(岡本安晴(1998)「Delphiで学ぶデータ分析法」CQ出版、pp. 173-176 参照)、下のリッチ・テキスト・ボックス内に表示される(図2)。
図2
他の値を設定して「Calc」ボタンをクリックすると、計算結果などが下に追記される(図3)。
図3
リッチ・テキスト・ボックス内のテキストは「Copy」ボタンをクリックするとクリップ・ボードにコピーされる。クリック・ボードにコピーされた内容は、メモ帳を開いてその中でマウスの右ボタンクリックすることにより貼り付けることが出来る(図4)。
図4
プログラムは下記に示すように基本的には単純である。
=============================================
double R,
a;
int n;
try {
R = double::Parse(textBoxR->Text);
if
(Math::Abs(R) >= 1.0) throw gcnew Exception("Invalid
value for R");
n = int::Parse(textBoxN->Text);
if (n
< 2) throw gcnew
Exception("Invalid value for N");
a = double::Parse(textBoxA->Text);
if ((a
< 50.0) || (a >= 100.0)) throw gcnew Exception("信頼係数は%以上で%未満の値を設定して下さい。");
a = (100.0 - a) / 100.0;
}
catch(Exception
^e){
MessageBox::Show(e->ToString());
return;
}
double z
= 0.5 * Math::Log((1 + R) / (1 - R));
double
za2 = calc_z_normal( 1.0 - a / 2.0 );
double LB
= g(z - za2 / Math::Sqrt(n - 3.0));
double UB
= g(z + za2 / Math::Sqrt(n - 3.0));
richTextBox1->AppendText("\rr = " + R.ToString() + "
N = " + n.ToString() + "\r"
+ (100.0 * (1.0 - a)).ToString() + "% 信頼区間-> [" + LB.ToString("F5")
+ ", " + UB.ToString("F5") + "]\r");
=============================================
プログラムのソースコードファイルなどは圧縮ファイルCalc_r_interval.zipとしてまとめた。圧縮ファイル名Calc_r_interval.zipをクリックしてダウンロードしたものを、マウスの右ボタンクリックで表示されるメニュから「解凍」あるいは「展開」などを選んで解凍するすることが出来る。解凍したファイルはVisual C++2008で開くことが出来る。
なお、Visual C++プログラミングの入門書<岡本安晴「大学生のための心理学VC++プログラミング入門」勁草書房>を上梓した。