Keyword: 3点比較法, Triplets Test, 検定
概要
本サンプルは3点比較法(Triplets Test) を行うサンプルプログラムです。 本サンプルは[0,1]の一様分布から生成される疑似乱数ベクトルを分析対象とし、カイ二乗検定統計量、自由度と上側確率を算出します。
※本サンプルはnAG Toolbox for MATLAB®が提供する関数 g08ec() のExampleコードです。実行にはMATLAB®本体(他社製品)とnAG Toolbox for MATLAB®が必要です。
本サンプル及び関数の詳細情報は g08ec のマニュアルページをご参照ください。
入力データ
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
% Initialize the seed seed = [int32(32423)]; % genid and subid identify the base generator genid = int32(1); subid = int32(1); ncount = zeros(5, 5, 5, 'int32'); % Initialize the generator to a repeatable sequence [state, ifail] = g05kf(genid, subid, seed); for i=1:10 % Generate some U(0,1) values [state, x, ifail] = g05sq(int32(1000), 0, 1, state); if i==1 cl = 'F'; elseif i==10 cl = 'L'; else cl = 'I'; end [ncount, ex, chi, df, prob, ifail] = g08ec(cl, x, ncount); end if (ifail == 0 || ifail == 8) for i = 1:5 [ifail] = x04ea('General', ' ', reshape(ncount(i,:,:),5,5), ['i = ', int2str(i)]); fprintf('\n'); end fprintf('\nExpected value = %8.2f\n', ex); fprintf('Chisq = %10.4f\n', chi); fprintf('DF = %7.1f\n', df); fprintf('Probability = %10.4f\n', prob); end
- 1行目はコメント行で読み飛ばされます。
- 2~6行目は g05kf、g08ec の入力パラメータの値を指定しています。
- 7行目はコメント行で読み飛ばされます。
- 8行目は g05kf を呼び出し疑似乱数生成器を初期化しています。
- 9~20行目は g05sq を呼び出し[0,1]の一様分布から疑似乱数を生成後、g08ecを呼び出し3点比較法を行っています。g08ec の入力パラメータは以下です。
cl 本関数の呼び出しの種類を指定しています。"F" は最初の呼び出し、"I" は中間の呼び出し、"L" は最後の呼び出しであることを意味しています。 x 疑似乱数を与えています。 ncount 3つの数を一組にした組み合わせ(Triplets)のカウント数です。 - 21~30行目は g08ec の実行結果を出力しています。
出力結果
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45
i = 1 1 2 3 4 5 1 22 27 23 34 31 2 28 36 16 26 27 3 23 28 28 24 29 4 26 35 27 30 24 5 22 29 20 30 31 i = 2 1 2 3 4 5 1 18 26 32 25 16 2 24 32 20 23 27 3 30 32 28 30 23 4 16 36 19 27 30 5 28 21 23 30 29 i = 3 1 2 3 4 5 1 31 34 21 23 25 2 22 27 19 26 26 3 29 26 30 26 19 4 28 34 18 23 40 5 21 33 19 24 28 i = 4 1 2 3 4 5 1 29 22 30 22 34 2 22 25 30 30 29 3 27 22 22 24 23 4 31 37 23 24 29 5 30 27 31 20 15 i = 5 1 2 3 4 5 1 25 28 25 27 26 2 31 33 33 21 29 3 35 29 36 28 21 4 33 29 28 19 30 5 20 23 34 34 25 Expected value = 26.66 Chisq = 120.1578 DF = 124.0 Probability = 0.5809
- i = 1 から i = 5 までは 3つの数を一組にした組み合わせ(Triplets)のカウント数の行列(5x5)を示しています。
- Expected value はカウント数の行列の各要素のカウント推定値を示しています。
- Chisq はカイ二乗検定統計量を示しています。
- DF はカイ二乗統計量の自由度を示しています。
- Probability はカイ二乗検定統計量に対応する上側確率(upper tail probability)を示しています。