我正在尝试对某些波动率数据进行PCA,让我们说我可以提出以下模型:
volatility = bata0 + beta1*x + beta2* x^2
其中x是一些观察结果,例如货币等等。
所以在Matlab中,我所做的就是说Y=[ones x x^2]
然后做pca(Y)
由于某种原因,我的系数矩阵中的第一行总是类似于0 0 1,即除了最后一列之外的其他地方都是0,并且无论我如何,atent的输出总是显示第一行中的最高值改变模型。
显然,这不可能是每个单一模型中的最后一个项被等式中的最后一项很好地解释的情况。如果我删除Y中的常数项(即Y = [x x ^ 2],那么系数矩阵的第一行变得更正常(即,到处都是非零值)。
所以我的问题是:
答案 0 :(得分:0)
来自Matlab的princomp文档:
COEFF = princomp(X)执行主成分分析(PCA) n-by-p数据矩阵X,并返回主成分 系数,也称为负载。 X行对应 观察,列到变量。 COEFF是一个p-by-p矩阵 包含一个主成分的系数的列。的的 列按顺序减少组件差异。