PCA 或因子分析中的偏斜变量

机器算法验证 主成分分析 因子分析 降维 偏度
2022-03-08 11:12:38

我想基于22个变量对SPSS进行主成分分析(因子分析)。但是,我的一些变量非常偏斜(从 SPSS 计算的偏斜范围为 2-80!)。

所以这是我的问题:

  1. 我应该保持这样的偏斜变量还是可以在主成分分析中转换变量?如果是,我将如何解释因子得分?

  2. 我应该做什么样的转变?log10 还是 ln?

  3. 最初,我的 KMO (Kaiser-Meyer-Olkin) 是 0.413。许多文献建议至少为 0.5。我仍然可以进行因子分析,还是需要删除变量以将我的 KMO 提高到 0.5?

2个回答
  1. PCA 中的偏度问题与回归中的问题相同:较长的尾巴,如果它相对于整个分布范围真的很长,实际上表现得像一个大的异常值——它将拟合线(在您的情况下为主要成分)强烈拉向本身,因为它的影响力增强了;它的影响力增强了,因为它与平均值相差甚远。在 PCA 的上下文中,允许非常偏斜的变量与在不使数据居中的情况下进行 PCA 非常相似(即,基于余弦矩阵而不是相关矩阵进行 PCA)。您决定是否允许长尾对结果产生如此大的影响(并让数据如此)或不(并转换数据)。该问题与您如何解释载荷无关。

  2. 随你便。

  3. KMO 是一个指数,它告诉您偏相关是否足够小,无法将数据提交给因子分析。因为在因子分析中,我们通常期望一个因子加载不止两个变量。您的 KMO 足够低。如果您从具有较低单个 KMO 值的分析变量中删除它可以做得更好(这些形成反图像矩阵的对角线,您可以请求在 SPSS 因子程序中显示此矩阵)。将变量转换为不那么偏斜的变量可以恢复 KMO 吗?谁知道。也许。请注意,KMO 主要在因子分析模型中很重要,而不是主成分分析模型:在 FA 中,您拟合成对相关,而在 PCA 中则不。

+1 @ttnphns,我只想在第 2 点上扩展一点。变换通常用于稳定偏斜。正如@ttnphns 指出的那样,您将在运行分析之前使用这些。对数变换是Box-Cox 幂变换系列的一部分. 您将需要考虑更广泛的可能转换,而不仅仅是对数(例如,平方根、倒数等)。不同对数基数之间的选择对变换的强度没有影响。当人们要对转换后的变量进行数学运算时,有时会首选自然对数,因为在某些情况下自然对数可以使数学更清晰。如果您不关心这一点,您可能想要选择一个有助于解释的基础。即新尺度中每增加一个单位将代表一个基数-原始比例的倍数增加(例如,如果您使用以 2 为底的对数,那么每个单位将增加 2 倍,以 10 为底意味着每个单位将增加 10 倍,等等),所以它可以很好选择一个基础,使您的数据将跨越转换后的比例中的多个单位。