You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

R语言PCA分析:计算归一化scores而非归一化loadings

R中PCA归一化scores(匹配Eviews输出)实现方案

底层规则对齐

两种常见PCA归一化模式的定义如下,可直接对应Eviews的不同选项:

  • 归一化loadings(Eviews默认):载荷向量的L2范数为1,主成分scores的方差等于对应特征值,R的prcomp、princomp默认输出均属于该模式
  • 归一化scores(Eviews可选模式):主成分scores的方差为1,载荷向量的L2范数等于对应特征值的平方根,需要对R默认输出做转换才能得到

代码实现步骤

前提:原始数据已完成对应Eviews分析逻辑的中心化/缩放预处理

基于prcomp实现

# 关闭二次中心化/缩放,避免重复处理导致结果偏移
pca_prcomp <- prcomp(your_preprocessed_data, center = FALSE, scale. = FALSE)
# 对默认scores按主成分标准差缩放,得到方差为1的归一化scores
normalized_scores_prcomp <- scale(pca_prcomp$x, center = FALSE, scale = pca_prcomp$sdev)

基于princomp实现

# 关闭二次中心化/缩放,基于匹配的矩阵规则计算
pca_princomp <- princomp(your_preprocessed_data, cor = FALSE, center = FALSE, scale = FALSE)
# 对默认scores按主成分标准差缩放,得到方差为1的归一化scores
normalized_scores_princomp <- scale(pca_princomp$scores, center = FALSE, scale = pca_princomp$sdev)

结果验证

# 计算各主成分方差,输出值应近似等于1
apply(normalized_scores_prcomp, 2, var)

注意事项

  • 预处理对齐:如果Eviews分析基于相关矩阵做PCA,对应R中需要先对原始数据做z-score标准化,调用PCA函数时关闭二次缩放/中心化;如果Eviews基于协方差矩阵做PCA,原始数据仅需做中心化无需标准化,R侧参数也要对应匹配
  • 符号差异:不同工具的特征值分解可能会对主成分的载荷和scores同时取反,属于合理差异,不影响分析结论,若需完全对齐Eviews的符号,可对比首行结果后对整列scores取反

内容的提问来源于stack exchange,提问作者Tomassi

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.03 15:42:02