如何解决R中的主成分分析共线预测器和预测函数
我有一个包含 3 个共线预测变量的数据集。 我最终提取了这些预测变量并使用主成分分析来减少多重共线性。 我想要的是使用这些预测变量进行进一步建模。
- 使用
predict
函数获取 3 个共线预测变量的值并将预测值用于进一步分析是否不正确? - 或者因为前两个轴捕获了大部分方差(演示数据集中的 70% 和实际数据集中的 96%)我是否应该只使用前两个轴的值而不是 3 个预测值进行进一步分析?
#Creating sample dataset
df<- data.frame(ani_id = as.factor(1:10),var1 = rnorm(500),var2=rnorm(500),var3=rnorm(500))
### Principal Component Analysis
myPCA1 = prcomp(df[,-1],data = df,scale. = TRUE,center = TRUE)
summary(myPCA1)
这是我运行时演示数据集的结果
> summary(myPCA1)
Importance of components:
PC1 PC2 PC3
Standard deviation 1.0355 1.0030 0.9601
Proportion of Variance 0.3574 0.3353 0.3073
Cumulative Proportion 0.3574 0.6927 1.0000
这表明前两个轴捕获了近 70% 的方差。
现在做以下正确吗?
## Using predict function to predict the values of the 3 collinear predictors
axes1 <- predict(myPCA1,newdata = df)
head(axes1)
subset1 <- cbind(df,axes1)
names(subset1)
### Removing the actual 3 collinear predictors and getting a dataset with the ID and 3 predictors who are no long collinear
subset1<- subset1[,-c(2:4)]
summary(subset1)
## Merge this to the actual dataset to use for further analysis in linear mixed effect models
感谢您的帮助! :)
但还是不确定。这就是我在这里问的原因。
解决方法
使用预测函数并获取 3 个共线预测变量的值并将预测值用于进一步分析是否不正确?
是的。值与 myPCA1$x
或者因为前两个轴捕获了大部分方差(演示数据集中的 70% 和实际数据集中的 96%)我是否应该只使用前两个轴的值而不是 3 个预测值进行进一步分析?
我个人只使用第一个轴(但那时它至少可以解释 70%)。但是我没有看到使用多个的任何问题。第二轴与第一轴正交。我想我的警告是,您必须了解 PCA 轴在您的预测变量方面代表什么(例如,预测变量 1 是沿着 PCA1 还是沿着 PCA2 增加或减少?)。包含第三个变量会增加模型中预测变量的数量,您必须质疑额外 30% 的变异与潜在的模型过度拟合相比,在哪些方面值得包含?
也不确定这是stackoverflow还是crossvalidated的问题。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。