如何使用SKLearn PCA减少协方差矩阵?

2024-05-18 05:14:11 发布

您现在位置:Python中文网/ 问答频道 /正文

Boyd et. Al. 2017的启发,我试图创建一个因子模型来降低协方差矩阵Sigma的维数。其思想是将协方差矩阵分为因子负荷(F)、因子协方差(Sigma super F)和特殊风险(对角矩阵D)

Factorization

Abhyankar Ameya之后,我可以在每周历史报表上设置PCA,如下所示

from sklearn.decomposition import PCA
from sklearn.preprocessing import scale

historical_returns = pd.read_csv(...)
X = historical_returns.values
X = scale(X)

pca = PCA(n_components=5)
pca.fit(X)
factor_loadings = pd.DataFrame(pca.components_)

我相信factor_loadings就是上面的F。在维度减少后,我如何计算因子协方差和特质风险?缩放功能会把事情搞砸吗


Tags: fromimportcomponents矩阵sklearnsigma因子returns