一般的な行と列配置の分散分析

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

ホーム > 製品 > nAG Toolbox for MATLAB® > サンプルコード集 > 一般的な行と列配置の分散分析

Keyword: 分散分析, ANOVA, 行と列配置, ラテン方格法

概要

本サンプルは一般的な行と列配置の分散分析(ANOVA: Analysis of Variance) を行うサンプルプログラムです。 本サンプルは以下に示される観測値をラテン方格法を用いて分散分析し、分散分析表、処理平均と処理平均の差の標準誤差を出力します。

分散分析のデータ 

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

入力データ

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

nrep = int32(1);
nrow = int32(5);
ncol = int32(5);
y = [6.67;
     7.15;
     8.289999999999999;
     8.949999999999999;
     9.619999999999999;
     5.4;
     4.77;
     5.4;
     7.54;
     6.93;
     7.32;
     8.529999999999999;
     8.5;
     9.99;
     9.68;
     4.92;
     5;
     7.29;
     7.85;
     7.08;
     4.88;
     6.16;
     7.83;
     5.38;
     8.51];
nt = int32(5);
it = [int32(5);4;1;3;2;2;5;4;1;3;3;2;5;4;1;1;3;2;5;4;4;1;3;2;5];
tol = 1e-05;
irdf = int32(0);
[gmean, tmean, table, c, irep, rpmean, rmean, cmean, r, ef, ifail] = ...
    g04bc(nrep, nrow, ncol, y, nt, it, tol, irdf)

  • nrep には反復数を指定しています。
  • nrow には反復ごとの行数を指定しています。
  • ncol には反復ごとの列数を指定しています。
  • y には観測値のデータを指定しています。
  • 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

gmean =
    7.1856
tmean =
    7.3180
    7.2440
    7.2060
    6.9000
    7.2600
table =
         0         0         0         0         0
    4.0000   29.4231    7.3558    9.0266    0.0013
    4.0000   22.9950    5.7487    7.0545    0.0037
    4.0000    0.5423    0.1356    0.1664    0.9514
   12.0000    9.7788    0.8149         0         0
   24.0000   62.7392         0         0         0
c =
    0.1304   -0.0326   -0.0326   -0.0326   -0.0326
    0.5709    0.1304   -0.0326   -0.0326   -0.0326
    0.5709    0.5709    0.1304   -0.0326   -0.0326
    0.5709    0.5709    0.5709    0.1304   -0.0326
    0.5709    0.5709    0.5709    0.5709    0.1304
irep =
           5
           5
           5
           5
           5
rpmean =
     0
rmean =
    8.1360
    6.0080
    8.8040
    6.4280
    6.5520
cmean =
    5.8380
    6.3220
    7.4620
    7.9420
    8.3640
r =
   -0.1928
    0.1632
   -0.2548
    0.0372
    0.2472
    0.6812
   -0.4488
   -0.5988
    0.6432
   -0.2768
   -0.1568
    0.5312
   -0.6548
    0.7152
   -0.4348
   -0.2928
   -0.5848
    0.5272
    0.5912
   -0.2408
   -0.0388
    0.3392
    0.9812
   -1.9868
    0.7052
ef =
     1
     1
     1
     1
     1
ifail =
           0

  • gmean は総平均を示しています。
  • tmean は各処理の平均を示しています。
  • table は上から順に以下を示しています。
    • 行の自由度、平方和、平均平方、F統計量と有意水準
    • 列の自由度、平方和、平均平方、F統計量と有意水準
    • 処理の自由度、平方和、平均平方、F統計量と有意水準
    • 残差の自由度、平方和、平均平方
    • 自由度と平方和の合計
  • c は上三角部分は処理効果の分散共分散行列を示しており、下三角部分は2つの処理効果(平均)の間の標準誤差を示しています。
  • irep は処理の反復を示しています。
  • rpmean は各反復の平均を示しています。反復数が1以下の場合はこの値は参照されません。
  • rmean は各行の平均を示しています。
  • cmean は各列の平均を示しています。
  • r は残差を示しています。
  • ef は正準効率因子を示しています。
  • ifail は関数がエラーを検知しなければ"0"が出力されます。

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