使用 AIC(或 BIC)选择 PCA 模型

机器算法验证 主成分分析 模型选择
2022-03-27 22:41:52

我想使用 Akaike 信息准则 (AIC) 来选择要在 PCA 中提取的适当数量的因子。唯一的问题是我不确定如何确定参数的数量。

考虑一个矩阵,其中表示变量的数量,表示观察的数量,这样的最大似然估计可以将 AIC 中的参数数量设置为T×NXNTXN(0,Σ)ΣN(N+1)2

或者,在 PCA 中,您可以提取的第一个 fe特征向量和特征值,称它们为\,然后计算 其中是平均残差方差。据我计算,如果你有个因子,那么你会个参数,在参数,中有 1 个参数。fΣβfΛf

Σ=βfΛfβf+Iσr2
σr2ffΛfNfβf1σr2

这种方法正确吗?,它似乎会导致比最大似然方法更多的参数N

4个回答

Minka ( Automatic selection of dimensionality for PCA , 2000) 和 Tipping & Bishop ( Probabilistic Principal Component Analysis ) 关于 PCA 概率视图的工作可能会为您提供您感兴趣的框架。Minka 的工作提供了对数的近似值-可能性其中是数据集的潜在维度,使用拉普拉斯近似;如明确所述:“拉普拉斯方法的简化是 BIC 近似。logp(D|k)kD

显然,这对您的问题采取了贝叶斯观点,而不是基于 AIC 使用的信息论标准(KL 散度)。

关于最初的“参数数量的确定”问题,我也认为@whuber 的评论带有正确的直觉。

在 PCA 中选择“适当”数量的组件可以通过 Horn 的并行分析 (PA) 优雅地执行。论文表明,该标准始终优于肘部标准或凯撒规则等经验法则。R 包“paran”有一个 PA 的实现,只需要点击几下鼠标。

当然,保留多少组件取决于数据缩减的目标。如果您只希望保留“有意义”的方差,PA 将给出最佳减少。但是,如果您希望最大限度地减少原始数据的信息丢失,您应该保留足够的组件来覆盖 95% 的解释方差。这显然会比 PA 保留更多的组件,尽管对于高维数据集,降维仍然相当可观。

关于 PCA 作为“模型选择”问题的最后一点说明。我不完全同意彼得的回答。有许多论文将 PCA 重新表述为回归类型的问题,例如 Sparse PCA、Sparse Probabilistic PCA 或 ScotLASS。在这些“基于模型”的 PCA 解决方案中,载荷是可以使用适当的惩罚项设置为 0 的参数。据推测,在这种情况下,也可以为所考虑的模型计算 AIC 或 BIC 类型的统计数据。

这种方法理论上可以包括一个模型,例如,两台 PC 不受限制(所有负载都非零),与 PC1 不受限制且 PC2 将所有负载设置为 0 的模型相比。这相当于推断 PC2 是否冗余总体上。

参考文献(PA)

  • Dinno, A. (2012)。paran:霍恩的主成分/因子检验。R 包版本 1.5.1。http://CRAN.R-project.org/package=paran
  • Horn JL 1965。因子分析中因子数量的基本原理和检验。心理测量学30: 179–185
  • Hubbard, R. & Allen SJ (1987)。主成分提取替代方法的经验比较。商业研究杂志,15,173-190。
  • Zwick, WR & Velicer, WF 1986。确定要保留的组件数量的五项规则的比较。心理公报。99:432–442

AIC 专为模型选择而设计。这并不是真正的模型选择问题,也许您最好采用不同的方法。另一种方法是指定解释的某个总方差百分比(例如 75%)并在百分比达到 75% 时停止(如果有的话)。

AIC 在这里不合适。您不是在具有不同数量参数的模型中进行选择 - 主成分不是参数。

有许多方法可以从因子分析或主成分分析中确定因子或成分的数量 - scree 检验、特征值 > 1 等。但真正的检验是实质性的:多少因素才有意义查看因素,考虑权重,找出最适合您的数据的因素。

就像统计学中的其他事情一样,这不是一件容易自动化的事情。