R语言 pca主成分分析的主要方法

这篇博客探讨了体育数据分析中的棒球数据,通过过滤击球手和z分数标准化数值变量进行预处理。接着,利用主成分分析(PCA)预测本垒打数量,并依据特征值和方差比例解释确定主成分数目。同时,PCA也被应用于葡萄酒品质预测,通过相关系数矩阵和主成分分析来理解预测因子间的关系。PCA方法的选择包括特征值准则和其他四种方法。博客还展示了PCA结果和贡献率曲线,强调了PCA在多元数据分析中的应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

实践分析

(一)与棒球数据集有关的;练习

1)首先,过滤掉所有击球数少于100的击球手。接下来,使用z分数标准化所有的数值变量。

2)现在,假设我们有兴趣根据数据集中的其他数值变量来估计本垒打的数量。所有其他数值变量都是我们的预测变量。进行主成分分析

3)根据a.特征值准则需要提取多少分量?b.方差比例解释标准?

4)使用讲过的四种方法确定主成分数目

(二)使用wine_quality_training数据集,

可在教科书网站上找到,用于剩余的练习。数据包括一些来自葡萄牙的葡萄酒的化学数据。目标变量是质量。记住在维度缩减分析中忽略目标变量。除非另有说明,只能使用白葡萄酒进行分析

1)规范预测因素。

2).构建预测因子的矩阵图。提供一个表,显示每个预测器与其他预测器的相关系数。

3)主成分分析应用到预测,使用讲过的四种方法确定主成分数目

协方差阵中的Q阵就表示了我们想要找的最佳的坐标系转换,它能够使得转换后的每个轴的方差最大化中间的对角线就是新坐标系中的不同轴上的方差,并且从大到小排列,Q的每一列就是对应的坐标轴

这里需要选取home run作为变量,剩下的作为研究对象进行PCA操作。

选择安装模块psych后,进行principal(train.house[,c(2:9)],nfactors=8,rotate="none", scores=TRUE) 的类似操作就可以得到PCA的具体内容。

 

图4-1 过滤之前的数据图

图4-2  去除小于100的变量后的结果图

采用两个方法,一个是手动选择,一个是编程选择。方法1d2 <- ww[-

图4-10 主成分的结果展示图

图4-11 贡献率的曲线图

 

 

 

 

### 使用R语言执行PCA主成分分析) #### 函数使用方法 在R中,`princomp()` 是用于执行主成分分析主要函数之一[^3]。此函数可以从相关矩阵或协方差矩阵计算主成分。 - `princomp(x, cor = FALSE)`:其中`x`是一个数值型的数据框或矩阵;如果设置`cor=TRUE`则表示从相关阵出发进行主成分分析,默认是从协方差阵出发。 为了更好地理解主成分的结果,还可以利用几个辅助函数: - `summary(pca_result)` 提取并展示主成分的相关统计信息,如标准偏差、比例变化以及累积比例变化等。 - `loadings(pca_result)` 显示各原始变量对于各个主成分的贡献度大小,也就是所谓的载荷系数。 - `predict(pca_result, newdata)` 预测新样本对应的主成分得分情况。 - `screeplot(pca_result)` 绘制碎石图来帮助判断应该选取多少个主成分最为合适。 - `biplot(pca_result)` 同时绘制样品点和变量矢量于同一张图表之上,便于直观观察它们之间的关系。 #### 实际案例演示 假设有一个名为`my_data`的数据集,以下是具体的操作流程: ```r # 加载必要的库 library(ggplot2) # 执行主成分分析 pca <- princomp(my_data, cor = TRUE) # 查看PCA总结报告 print(summary(pca)) # 展示前两个主成分上的载荷 print(loadings(pca)[,1:2]) # 创建碎石图以决定最佳主成分数目 screeplot(pca,type="lines") # 制作双标图查看数据分布模式 biplot(pca) ``` 通过上述代码片段,可以完成一次完整的PCA过程,并且能够得到可视化的结果以便进一步解释所获得的主成分结构。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

matlab_python22

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值