psych パッケージの principal() 関数が $score 要素を計算する方法を理解したいと思います。
相関行列ではなく共分散行列を試してみたい。
model <- principal(mtcars[8:11],nfactors=4, rotate='none', scores=T, cov=T)
基本的に、PCAのスコアは、重みとしてローディングマトリックスを使用して、元の中心データの線形結合である必要があるため、試しました:
test <- scale(mtcars[8:11], center=T, scale=F) %*% model$loadings / model$scores
principal()
関数が負荷に何らかのスケーリングを使用することは理解していますが、比率は各列で同じである必要がありますが、ここではtest
.
相関行列を使用すれば、これは問題になりません。例えば:
model <- principal(mtcars[8:11],nfactors=4, rotate='none', scores=T, cov=F)
test <- scale(mtcars[8:11], center=T, scale=T) %*% model$loadings / model$scores
ヘルプ ドキュメントでは、因子分析の用語が使用されているため、さらに混乱しました。誰かがここで私を啓発できることを願っています。
前もって感謝します!