Keyword: 主成分分析, 多変量解析
概要
本サンプルは主成分分析を行うサンプルプログラムです。 本サンプルは以下の「分析対象データ」に示される変数が3個で観察数が10のデータを分析対象とします。 このサンプルでは主成分分析を行い、固有値、寄与度、χ二乗値、自由度、有意度、主成分負荷量、主成分スコアを出力します。
※本サンプルはnAG Toolbox for MATLAB®が提供する関数 g03aa() のExampleコードです。実行にはMATLAB®本体(他社製品)とnAG Toolbox for MATLAB®が必要です。
本サンプル及び関数の詳細情報は g03aa のマニュアルページをご参照ください。
入力データ
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
matrix = 'V'; std = 'E'; weight = 'U'; x = [7, 4, 3; 4, 1, 8; 6, 3, 5; 8, 6, 1; 8, 5, 7; 7, 2, 9; 5, 3, 3; 9, 5, 8; 7, 4, 5; 8, 2, 2]; isx = [int32(1);1;1]; s = [-5.04677090184712e-39; -5.04512289241806e-39; -1.790699005126953]; wt = [0]; nvar = int32(3); [sOut, e, p, v, ifail] = g03aa(matrix, std, weight, x, isx, s, wt, nvar)
- matrix には計算の際に用いる行列の種類を指定しています。"V"は分散共分散行列を用いることを意味します。
- std には計算に利用する主成分スコアのタイプを指定しています。"E"は主成分スコアに(分散が対応する固有値と同じになるように)標準化されたものを使う事を意味しています。
- weight には重み付けをするかどうかを指定しています。"U"は重みを付けない事を意味しています。
- x には観察データを与えています。各行はそれぞれの観察値であり、3つの値を持っています。
- isx には計算で使う変数がどれであるかを指定しています。ここで 1 は計算で使う事を示しています。(0は計算で当該変数を使わないことを示します。ここで与える数字は変数の数分(ここでは3)なければなりません。 今回のデータはすべての変数を計算で使うので3つの 1 が与えられています。
- s には標準化係数を与えています。
- wt には重み付けをする場合はその重みを指定します。この場合は重み付けをしないのでこの値は参照されません。
- nvar には出力として得たい主成分の数(=3)を指定しています。この数値は変数の数を超えてはいけません。
- 最後に本関数を呼び出す構文が指定されています。
出力結果
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
sOut = -0.0000 -0.0000 -1.7907 e = 8.2739 0.6515 0.6515 8.6127 5.0000 0.1255 3.6761 0.2895 0.9410 4.1183 2.0000 0.1276 0.7499 0.0590 1.0000 0 0 0 p = -0.1376 0.6990 -0.7017 -0.2505 0.6609 0.7075 0.9583 0.2731 0.0842 v = -2.1514 -0.1731 0.1068 3.8042 -2.8875 0.5104 0.1532 -0.9869 0.2694 -4.7065 1.3015 0.6517 1.2938 2.2791 0.4492 4.0993 0.1436 -0.8031 -1.6258 -2.2321 0.8028 2.1145 3.2512 -0.1684 -0.2348 0.3730 0.2751 -2.7464 -1.0689 -2.0940 ifail = 0
- sOut は入力データの標準化係数をそのまま出力しています。
- e は各主成分の固有値 、寄与度 、累積寄与度、χ二乗値 、自由度、有意度 を示しています。各行は上から順番に第一主成分、第二主成分、第三主成分の各値を示しています。
- p は主成分負荷量を示しています。
- v は主成分スコアを示しています。 行方向は観察データ、列方向は主成分をそれぞれ表しています。
- ifail は関数がエラーを検知しなければ"0"が出力されます。
リファレンス
サンプル入力データは Cooley W C and Lohnes P R (1971) Multivariate Data Analysis Wiley よりのデータです。