我期待提取协方差后,对我的数据集进行PCA。我有每月的SnP500回报,并希望对其进行PCA。但我只是在找协变量。有没有方法从R中的prcomp()或princomp()函数中提取这些信息,我非常感谢您的帮助。
-Cheers
发布于 2014-03-13 11:42:22
> data(USArrests)协方差矩阵是经过缩放和旋转后的对角矩阵diag(sdev^2)。
> sdev <- prcomp(USArrests, scale = TRUE)$sdev
> diag(sdev^2)
## [,1] [,2] [,3] [,4]
## [1,] 2.480242 0.0000000 0.0000000 0.0000000
## [2,] 0.000000 0.9897652 0.0000000 0.0000000
## [3,] 0.000000 0.0000000 0.3565632 0.0000000
## [4,] 0.000000 0.0000000 0.0000000 0.1734301我们可以看到,这是相同的特征值时,不缩放。
> diag(prcomp(USArrests)$sdev^2)
## [,1] [,2] [,3] [,4]
## [1,] 7011.115 0.0000 0.00000 0.000000
## [2,] 0.000 201.9924 0.00000 0.000000
## [3,] 0.000 0.0000 42.11265 0.000000
## [4,] 0.000 0.0000 0.00000 6.164246
> C1 <- cov(USArrests)
> eigen(C1)$values
## [1] 7011.114851 201.992366 42.112651 6.164246https://stackoverflow.com/questions/22375958
复制相似问题