1

以前に 2D 配列で PCA を使用したことがあり、分析で他のすべての列の分散を最もよく表す最初の PC スコア ベクトルを使用しました。以下は、対象の 2D 配列の分散を最もよく表す Comp.1 ベクトルを示す R の例です。

data <- array(data=sample(12), c(4,3))
data
     [,1] [,2] [,3]
[1,]   11    2   12
[2,]    4    3   10
[3,]    8    7    1
[4,]    6    9    5

output=princomp(data)
output$scores
        Comp.1    Comp.2     Comp.3
[1,]  6.422813  2.865390  0.4025040
[2,]  3.251842 -3.617633 -0.9814571
[3,] -5.856500  1.848419 -1.3819379
[4,] -3.818155 -1.096176  1.9608909

私の質問は、3D アレイでこれと同じ手順を実行するにはどうすればよいですか? たとえば、サイズが 4 x 5 x 3 の配列がある場合、上記の Comp.1 ベクトルに相当する 4 x 5 の 2D 配列を取得するにはどうすればよいでしょうか?

コードと出力を含む R の例を以下に示します。スコアを見ると、コンポーネントは 1 つしか出力されず (予想どおり 3 ではありません)、長さは 60 です。これは、最初の 20 要素が最初の PC に対応し、次の 20 要素が 2 番目の PC に対応し、最後の 20 要素が対応することを意味しますか? 3番目のPCに?その場合、princomp はエントリをどのように配置するので、最初の 20 要素 (1 番目の PC) を使用して元の 4 x 5 2D 配列に戻ることができますか? ご協力いただきありがとうございます。

data=array(data=sample(48), c(4,5,3))
data
, , 1

     [,1] [,2] [,3] [,4] [,5]
[1,]   47   21   45   41   34
[2,]    1   16   32   31   37
[3,]   39    8   35   10    6
[4,]   48   14   25    3   11

, , 2

     [,1] [,2] [,3] [,4] [,5]
[1,]   12   43   15   36   23
[2,]   17    4    7   26   46
[3,]    2   13   33   20   40
[4,]   18   19   28   44   38

, , 3

     [,1] [,2] [,3] [,4] [,5]
[1,]   42   24   47   21   45
[2,]    5   22    1   16   32
[3,]   30   29   39    8   35
[4,]   27    9   48   14   25

output=princomp(data)
output$scores
           Comp.1
 [1,]  21.8833333
 [2,] -24.1166667
 [3,]  13.8833333
 [4,]  22.8833333
 [5,]  -4.1166667
 [6,]  -9.1166667
 [7,] -17.1166667
 [8,] -11.1166667
 [9,]  19.8833333
[10,]   6.8833333
[11,]   9.8833333
[12,]  -0.1166667
[13,]  15.8833333
[14,]   5.8833333
[15,] -15.1166667
[16,] -22.1166667
[17,]   8.8833333
[18,]  11.8833333
[19,] -19.1166667
[20,] -14.1166667
[21,] -13.1166667
[22,]  -8.1166667
[23,] -23.1166667
[24,]  -7.1166667
[25,]  17.8833333
[26,] -21.1166667
[27,] -12.1166667
[28,]  -6.1166667
[29,] -10.1166667
[30,] -18.1166667
[31,]   7.8833333
[32,]   2.8833333
[33,]  10.8833333
[34,]   0.8833333
[35,]  -5.1166667
[36,]  18.8833333
[37,]  -2.1166667
[38,]  20.8833333
[39,]  14.8833333
[40,]  12.8833333
[41,]  16.8833333
[42,] -20.1166667
[43,]   4.8833333
[44,]   1.8833333
[45,]  -1.1166667
[46,]  -3.1166667
[47,]   3.8833333
[48,] -16.1166667
[49,]  21.8833333
[50,] -24.1166667
[51,]  13.8833333
[52,]  22.8833333
[53,]  -4.1166667
[54,]  -9.1166667
[55,] -17.1166667
[56,] -11.1166667
[57,]  19.8833333
[58,]   6.8833333
[59,]   9.8833333
[60,]  -0.1166667
4

0 に答える 0