我想使用 Akaike 信息准则 (AIC) 来选择要在 PCA 中提取的适当数量的因子。唯一的问题是我不确定如何确定参数的数量。
考虑一个矩阵,其中表示变量的数量,表示观察的数量,这样。的最大似然估计可以将 AIC 中的参数数量设置为。
或者,在 PCA 中,您可以提取的第一个 fe特征向量和特征值,称它们为\,然后计算 其中是平均残差方差。据我计算,如果你有个因子,那么你会在个参数,在中参数,在中有 1 个参数。
这种方法正确吗?,它似乎会导致比最大似然方法更多的参数。
我想使用 Akaike 信息准则 (AIC) 来选择要在 PCA 中提取的适当数量的因子。唯一的问题是我不确定如何确定参数的数量。
考虑一个矩阵,其中表示变量的数量,表示观察的数量,这样。的最大似然估计可以将 AIC 中的参数数量设置为。
或者,在 PCA 中,您可以提取的第一个 fe特征向量和特征值,称它们为\,然后计算 其中是平均残差方差。据我计算,如果你有个因子,那么你会在个参数,在中参数,在中有 1 个参数。
这种方法正确吗?,它似乎会导致比最大似然方法更多的参数。
Minka ( Automatic selection of dimensionality for PCA , 2000) 和 Tipping & Bishop ( Probabilistic Principal Component Analysis ) 关于 PCA 概率视图的工作可能会为您提供您感兴趣的框架。Minka 的工作提供了对数的近似值-可能性其中是数据集的潜在维度,使用拉普拉斯近似;如明确所述:“拉普拉斯方法的简化是 BIC 近似。 ”
显然,这对您的问题采取了贝叶斯观点,而不是基于 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):
AIC 专为模型选择而设计。这并不是真正的模型选择问题,也许您最好采用不同的方法。另一种方法是指定解释的某个总方差百分比(例如 75%)并在百分比达到 75% 时停止(如果有的话)。
AIC 在这里不合适。您不是在具有不同数量参数的模型中进行选择 - 主成分不是参数。
有许多方法可以从因子分析或主成分分析中确定因子或成分的数量 - scree 检验、特征值 > 1 等。但真正的检验是实质性的:多少因素才有意义?查看因素,考虑权重,找出最适合您的数据的因素。
就像统计学中的其他事情一样,这不是一件容易自动化的事情。