2

大規模なスプレッドシートの PCA 分析を行っており、負荷に応じて PC を選択しています。私が読んだ限りでは、データの単位が異なるため、PCA 分析を実行する前に標準化が必須です。

関数はprcomp()本質的に標準化を実行しますか?

私はヘルプファイルを読んでいprcomp()て、引数の下にこれを見ましたprcomp():

scale. a logical value indicating whether the variables should be scaled to have
       unit variance before the analysis takes place. The default is FALSE for 
       consistency with S, but in general scaling is advisable. Alternatively, a
       vector of length equal the number of columns of x can be supplied. The
       value is passed to scale.

「単位分散を持つ変数のスケーリング」は標準化を意味しますか?

現在、このコマンドを使用しています:

prcomp(formula = ~., data=file, center = TRUE, scale = TRUE, na.action = na.omit)

それは十分ですか?または、標準化の別のステップを実行する必要がありますか?

ありがとう、

4

2 に答える 2

5

はい、scale = TRUEすべての変数が単位分散 (つまり、分散 1、したがって標準偏差 1) を持つようにスケーリングされます。これは「標準化」の一般的な定義ですが、それを行う方法は他にもあります。center = TRUEつまり、変数の平均がその変数の各観測値から差し引かれます。

これを行うと ( scale = TRUE, center = TRUE)、PCA がデータ セットの共分散行列上にある代わりに、相関行列上にあります。したがって、PCA は、変数の共分散ではなく、変数間の相関を説明する軸を見つけます。

于 2013-01-21T12:52:09.863 に答える
3

標準化によって、各列が標準偏差で除算され、各列の平均が差し引かれることを意味する場合は、 and を使用するよりも、scale = TRUE必要center = TRUEなものです。

于 2013-01-21T12:49:37.220 に答える