我对 PCA 有一些疑问。我有 318 个观测值,包含 10 个变量和一个响应,这是我想用于训练和构建模型的数据集。我做了 PCA,发现前 5 个 PC 占方差的 96%,所以我打算将这 5 个用于模型。在Matlab 帮助中,回归完成如下:
betaPCR = regress(y-mean(y), PCAScores(:,1:5));
但是随后将系数转换为原始的未居中变量:
betaPCR = PCALoadings(:,1:5)*betaPCR;
betaPCR = [mean(y) - mean(X)*betaPCR; betaPCR];
yfitPCR = [ones(n,1) X]*betaPCR;
我的问题是:如何找到模型以及如何将其应用于新的测试数据集(100 个观察值,10 个变量和一个响应)?我应该使用转换后的系数,并且预测y会居中吗?如何使用betaPCR新数据的计算结果?