乱塊法/完全無作為化法の分散分析

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

ホーム > 製品 > nAG Toolbox for MATLAB® > サンプルコード集 > 乱塊法/完全無作為化法の分散分析

Keyword: 分散分析, ANOVA, 乱塊法, 完全無作為化法

概要

本サンプルは乱塊法/完全無作為化法の分散分析(ANOVA: Analysis of Variance) を行うサンプルプログラムです。 本サンプルは以下に示される観測値を10個のブロックに分け6回の処理で処理する釣合型不完備ブロック計画(Balanced Incomplete Block Design)により分散分析し、分散分析表、処理平均や処理平均の差の標準誤差を出力します。

分散分析のデータ 

※本サンプルはnAG Toolbox for MATLAB®が提供する関数 g04bb() のExampleコードです。実行にはMATLAB®本体(他社製品)とnAG Toolbox for MATLAB®が必要です。
本サンプル及び関数の詳細情報は g04bb のマニュアルページをご参照ください。

入力データ

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

y = [1;
     5;
     4;
     5;
     10;
     6;
     2;
     9;
     3;
     4;
     8;
     6;
     2;
     4;
     7;
     6;
     7;
     5;
     5;
     7;
     2;
     7;
     2;
     4;
     8;
     4;
     2;
     10;
     8;
     7];
iblock = int32(10);
nt = int32(6);
it = [int32(1);2;3;1;2;4;1;3;5;1;4;6;1;5;6;2;3;6;2;4;5;2;5;6;3;4;5;3;4;6];
tol = 5e-06;
irdf = int32(0);
[gmean, bmean, tmean, table, c, irep, r, ef, ifail] = g04bb(y, iblock, nt, it, tol, irdf)

  • y には観測値のデータを指定しています。
  • iblock にはブロック数を指定しています。
  • nt には処理数を指定しています。
  • it には各観測値が何回目の処理で処理されるか処理回数を指定しています。
  • tol には行列のゼロの固有値のチェックに使用される許容値を指定しています。
  • irdf には残差及び全体の自由度の調整のしかたを指定しています。"0"は全体の自由度がn(観測値の数)−1に設定されることを意味します。
  • 最後に本関数を呼び出す構文を指定しています。

出力結果

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
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79

gmean =
    5.3333
bmean =
    3.3333
    7.0000
    4.6667
    6.0000
    4.3333
    6.0000
    4.6667
    4.3333
    4.6667
    8.3333
tmean =
    2.5000
    7.2500
    8.0833
    5.9167
    2.9167
    5.3333
table =
    9.0000   60.0000    6.6667    4.7872    0.0039
    5.0000  101.7778   20.3556   14.6170    0.0000
   15.0000   20.8889    1.3926         0         0
   29.0000  182.6667         0         0         0
c =
    0.2901   -0.0580   -0.0580   -0.0580   -0.0580   -0.0580
    0.8344    0.2901   -0.0580   -0.0580   -0.0580   -0.0580
    0.8344    0.8344    0.2901   -0.0580   -0.0580   -0.0580
    0.8344    0.8344    0.8344    0.2901   -0.0580   -0.0580
    0.8344    0.8344    0.8344    0.8344    0.2901   -0.0580
    0.8344    0.8344    0.8344    0.8344    0.8344    0.2901
irep =
           5
           5
           5
           5
           5
           5
r =
    1.1111
    0.3611
   -1.4722
    0.7222
    0.9722
   -1.6944
   -0.6667
    0.7500
   -0.0833
    0.0833
    0.6667
   -0.7500
   -1.2500
    0.3333
    0.9167
   -0.3611
   -0.1944
    0.5556
   -1.5556
    1.7778
   -0.2222
    0.5833
   -0.0833
   -0.5000
    0.8889
   -0.9444
    0.0556
    0.0278
    0.1944
   -0.2222
ef =
         0
    0.8000
    0.8000
    0.8000
    0.8000
    0.8000
ifail =
           0

  • gmean は総平均を示しています。
  • bmean は各ブロックの平均を示しています。
  • tmean は各処理の平均を示しています。
  • table は分散分析表を示しています。
    • 22行目にブロックの自由度、平方和、平均平方、F統計量と有意水準が出力されています。
    • 23行目に処理の自由度、平方和、平均平方、F統計量と有意水準が出力されています。
    • 24行目に残差の自由度、平方和と平均平方が出力されています。
    • 25行目に自由度と平方和の合計が出力されています。
  • c の上三角部分は処理効果の分散共分散行列を示しており、下三角部分は2つの処理効果の間の標準誤差を示しています。
  • irep は処理の反復を示しています。
  • r は残差を示しています。
  • ef は正準効率因子を示しています。
  • ifail は関数がエラーを検知しなければ"0"が出力されます。

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