主成分分析用来提取数据隐藏的潜在结构。
首先导入数据
prices <- read.csv(...)
在这里需要对数据进行预处理。把数据中的时间戳转化为正确编码的日期变量。需要使用lubridate包
library('lubridate')
prices <- transform(prices, Date=ymd(Date))
创建数据矩阵
使用 reshape包
library('reshape')
date.stock.matrix <- cast(prices,Date~Stock,value = 'Close')
cast 函数可以把波浪线右边指定那些列作为输出矩阵中的列,左边作为输出矩阵的行,value来指明每个元素取值。
然后我们就得到了巨大的日期-股票矩阵。
可视化相关性矩阵
library('ggplot')
cor. matrix<-cor(date. stock. matrix[,2: ncol(date. stock. matrix)])
correlations<-as. numeric(cor. matrix)
g8plot(data. frane(Correlation =correlations), aes(x=Correlation, fill=1))+
geom_density()+
opts(1egend. position =' none')
PCA
使用pca降维
pca <- princomp(date.stock.matrix[,2:ncol(date.stock.matrix)])
然后可以查看主成分占比,主成分贡献率,载荷大小。
网友评论