3点比較法

nAG Toolbox for MATLAB®用のサンプルコード

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)のカウント数です。
    この処理を10回繰り返しています。
  • 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)を示しています。

関連情報
© 日本ニューメリカルアルゴリズムズグループ株式会社 2025
Privacy Policy  /  Trademarks