在这个我的答案中(我的另一个答案是第二个和另外一个),我将尝试在图片中显示PCA不能很好地恢复协方差(而它可以最佳地恢复 - 最大化 - 方差)。
正如我对 PCA 或因子分析的许多回答一样,我将转向主题空间中变量的向量表示。在这种情况下,它只是一个显示变量及其组件负载的负载图。所以我们得到了$X_1$和$X_2$变量(我们在数据集中只有两个),$F$它们的第一个主成分,带有负载$a_1$和$a_2$。变量之间的角度也被标记。变量初步居中,因此它们的平方长度$h_1^2$和$h_2^2$是它们各自的方差。
$X_1$和$X_2$之间的协方差是 - 这是它们的标量积 - $h_1 h_2 cos \phi$(顺便说一下,这个余弦是相关值)。当然,PCA 的加载通过$a_1^2+a_2^2$(分量$F$的方差)捕获总体方差$h_1^2+h_2^2$的最大可能值。
现在,协方差$h_1 h_2 cos \phi = g_1 h_2$,其中$g_1$是变量$X_1$在变量$X_2$上的投影(投影是第一个到第二个的回归预测)。因此,协方差的大小可以由下面的矩形区域(边为 $g_1$和$h_2$)呈现。
根据所谓的“因子定理”(可能知道您是否阅读过因子分析的内容),变量之间的协方差应该(如果不精确的话)通过提取的潜在变量的载荷相乘来重现(阅读)。也就是说,在我们的特定情况下,通过$a_1 a_2$(如果将主成分识别为我们的潜在变量)。再现协方差的值可以由边为 $a_1$和$a_2$的矩形区域呈现。让我们绘制与前一个矩形对齐的矩形,以进行比较。该矩形如下所示,其区域被昵称为cov*(复制cov)。
很明显,这两个区域非常不同,在我们的示例中cov*相当大。第一个主成分$F$的负载高估了协方差。这与可能期望 PCA 仅通过两个可能的第一个分量将恢复观察到的协方差值的人相反。
我们可以用我们的情节做些什么来加强繁殖?例如,我们可以将$F$光束顺时针旋转一点,直到它与$X_2$重叠。当它们的线重合时,这意味着我们强制$X_2$成为我们的潜在变量。然后加载$a_2$($X_2$的投影)将是$h_2$,加载$a_1$($X_1$的投影)将是$g_1$。然后两个矩形是相同的 - 标记为cov的一个,因此协方差被完美地再现。然而,$g_1^2 + h_2^2$,新的“潜在变量”解释的方差小于$a_1^2 + a_2^2$,旧的潜在变量解释的方差,第一个主成分(正方形和堆叠两个矩形中的每一个的边在图片上,进行比较)。看来我们设法重现了协方差,但以解释方差量为代价。即通过选择另一个潜在轴而不是第一个主成分。
我们的想象或猜测可能表明(我不会也可能无法通过数学证明,我不是数学家)如果我们从$X_1$和$X_2$定义的空间中释放潜轴,平面,允许它向我们摆动一点,我们可以找到它的一些最佳位置 - 比如说,称之为$F^*$ - 由此协方差再次被紧急载荷($a_1^* a_2^*$)完美再现,而解释的方差($a_1^{*2} + a_2^{*2}$)将大于$g_1^2 + h_2^2$,尽管不如$a_1^2 + a_2^2$大主成分$F$。
我相信这种情况是可以实现的,特别是在这种情况下,当潜在轴$F^*$被拉出平面以拉动两个派生正交平面的“罩”时,一个包含轴和$X_1$和另一个包含轴和$X_2$。那么这个潜在的轴我们称之为共同因子,我们整个“原创性的尝试”将被命名为因子分析。
##A 回复@amoeba 关于 PCA 的“更新 2”。
@amoeba 是正确的并且与召回 Eckart-Young 定理相关,该定理是 PCA 及其基于 SVD 或特征分解的同类技术(PCoA、双图、对应分析)的基础。据此,$\bf X$的$k$第一主轴最优地最小化$\bf ||X-X_k||^2$ - 一个等于$\bf tr(X'X)-tr(X_k' X_k)$ , - 以及$\bf ||X'X-X_k'X_k||^2$。这里$\bf X_k$代表由$k$主轴再现的数据。$\bf X_k'X_k$已知等于$\bf W_k W_k'$,其中$ \bf W_k $是$k$组件。
如果我们只考虑两个对称矩阵的非对角线部分,这是否意味着最小化$\bf ||X'X-X_k'X_k||^2$仍然成立?让我们通过实验来检查它。
生成了500 个随机10x6
矩阵$\bf X$(均匀分布)。对于每一个,在将其列居中后,执行 PCA,并计算两个重建的数据矩阵$\bf X_k$:一个由组件 1 到 3 重建(首先是$k$,与 PCA 中的通常一样),另一个由组件 1、2 和 4(即组件 3 被较弱的组件 4 取代)。然后为一个$\bf X_k$和另一个$\bf X_k$计算重建误差$\bf ||X'X-X_k'X_k||^2$(平方差之和 = 平方欧几里得距离)。这两个值是一对显示在散点图上。
重建误差每次都在两个版本中计算: (a) 比较整个矩阵$\bf X'X$和$\bf X_k'X_k$;(b) 仅比较两个矩阵的非对角线。因此,我们有两个散点图,每个散点图有 500 个点。
我们看到,在“整个矩阵”图上,所有点都y=x
在线上。这意味着“1 到 3 个分量”对整个标量积矩阵的重建总是比“1、2、4 个分量”更准确。这符合 Eckart-Young 定理所说的:第一个 $k$主成分是最好的拟合器。
但是,当我们查看“仅非对角线”图时,我们会注意到y=x
线下方的许多点。似乎有时用“1 到 3 个组件”重建非对角线部分比用“1、2、4 个组件”重建更差。这会自动得出这样的结论:在 PCA 可用的拟合器中,第一个$k$主成分通常不是非对角标量积的最佳拟合器。例如,采用较弱的组件而不是较强的组件有时可能会改善重建。
因此,即使在PCA本身的领域中,高级主成分——正如我们所知,它们确实近似整体方差,甚至整个协方差矩阵——也不一定近似非对角协方差。因此,需要对这些进行更好的优化;我们知道因子分析是可以提供它的(或其中的)技术。
##@amoeba 的“更新 3”的后续行动:随着变量数量的增加,PCA 是否接近 FA?PCA 是 FA 的有效替代品吗?
我进行了一系列模拟研究。一些人口因子结构,加载矩阵$\bf A$由随机数构成,并转换为相应的人口协方差矩阵$\bf R=AA'+ U^2$,其中$\bf U^2$是对角线噪声(唯一方差)。这些协方差矩阵的所有方差均为 1,因此它们等于它们的相关矩阵。
设计了两种类型的因子结构——尖锐的和分散的。夏普结构是一种具有明显简单结构的结构:载荷是“高”或“低”,没有中间;并且(在我的设计中)每个变量都被一个因素高度加载。因此,相应的$\bf R$明显是块状的。漫反射结构不区分高负载和低负载:它们可以是范围内的任何随机值;并且没有设想加载中的模式。因此,相应的$\bf R$变得更平滑。人口矩阵的例子:
因素的数量是$2$或$6$。变量的数量由比率k = 每个因素的变量数量决定;k 在研究中运行价值$4,7,10,13,16$。
对于少数构建的总体$\bf R$中的每一个,生成了来自 Wishart 分布(在样本大小下)的随机实现$50$n=200
。这些是样本协方差矩阵。每个都通过FA(通过主轴提取)和PCA进行因子分析。此外,每个这样的协方差矩阵都被转换为相应的样本相关矩阵,该矩阵也以相同的方式进行因子分析(分解)。最后,我还对“父”、总体协方差(=相关)矩阵本身进行了分解。Kaiser-Meyer-Olkin 对抽样充分性的测量始终高于 0.7。
对于具有 2 个因素的数据,分析提取了 2 个因素,以及 1 个因素和 3 个因素(“低估”和“高估”因素的正确数量)。对于具有 6 个因素的数据,分析同样提取了 6 个、4 个和 8 个因素。
该研究的目的是 FA 与 PCA 的协方差/相关恢复质量。因此获得了非对角元素的残差。我记录了再现元素和总体矩阵元素之间的残差,以及前者和分析的样本矩阵元素之间的残差。第一种残差在概念上更有趣。
对样本协方差和样本相关矩阵进行分析后获得的结果存在一定差异,但所有主要发现似乎都相似。因此,我只讨论(显示结果)“相关模式”分析。
###1。PCA 与 FA 的整体非对角线拟合
下图针对不同数量的因子和不同的 k 绘制了 PCA 中产生的非对角线残差的均方与 FA 中产生的相同数量的比率。这类似于 @amoeba 在“更新 3”中显示的内容。图上的线条代表 50 次模拟的平均趋势(我省略了在它们上显示标准误差条)。
(注意:结果是关于随机样本相关矩阵的因式分解,而不是对它们的亲代人口矩阵进行因式分解:将 PCA 与 FA 进行比较以了解它们对总体矩阵的解释程度是愚蠢的 - FA 总是会获胜,如果提取了正确数量的因子,其残差几乎为零,因此该比率将趋向无穷大。)
评论这些情节:
- 一般趋势:随着 k(每个因子的变量数)的增长,PCA/FA 的整体子拟合比逐渐趋于 1。也就是说,在解释非对角线相关性/协方差时,PCA 的变量越多越接近 FA。(由@amoeba 在他的回答中记录。)据推测,近似曲线的定律是 ratio= exp(b0 + b1/k) 其中 b0 接近 0。
- 比率大于 wrt 残差“样本减去再现样本”(左图)大于 wrt 残差“人口减去再现样本”(右图)。也就是说(通常),PCA 在拟合立即分析的矩阵方面不如 FA。但是,左侧图上的线具有更快的下降速度,因此在 k=16 时,该比率也低于 2,就像在右侧图上一样。
- 对于残差“人口减去复制样本”,趋势并不总是凸的甚至是单调的(不寻常的肘部显示为圆圈)。因此,只要语音是关于通过分解样本来解释系数的总体矩阵,增加变量数量并不会经常使 PCA 在其拟合质量上更接近 FA,尽管趋势是存在的。
- 人口中 m = 2 个因素的比率大于 m = 6 个因素的比率(粗体红线在粗体绿线下方)。这意味着在数据中起作用的因素越多,PCA 越快赶上 FA。例如,在右侧图上,6 个因素的 k=4 收益率约为 1.7,而在 k=7 时,2 个因素的收益率相同。
- 如果我们提取相对于真实因子数量的更多因子,则比率会更高。也就是说,如果在提取时我们低估了因子的数量,PCA 仅比 FA 更适合;如果因素的数量是正确的或被高估(比较细线和粗线),它会损失更多。
- 因子结构的清晰度有一个有趣的影响,只有当我们考虑残差“人口减去复制样本”时才会出现这种影响:比较右侧的灰色和黄色图。如果人口因子分散加载变量,则红线(m=6 个因子)会下降到底部。也就是说,在弥散结构(例如混沌数的加载)中,PCA(在样本上执行)在重建总体相关性方面仅比 FA 差一点——即使在小 k 下,前提是总体中的因子数量不是很小。这可能是 PCA 最接近 FA 并且最有必要作为其更便宜的替代品的情况。而在存在尖锐因子结构的情况下,PCA 在重建总体相关性(或协方差)方面并不那么乐观:它仅在大 k 视角下接近 FA。
###2。PCA 与 FA 的元素级拟合:残差分布
对于从总体矩阵中对 50 个随机样本矩阵进行因子分解(通过 PCA 或 FA)进行的每个模拟实验,对于每个非对角相关元素,都获得了残差分布“总体相关性减去再现(通过因子分解)样本的相关性” 。分布遵循清晰的模式,典型分布的示例如下所示。PCA分解后的结果是蓝色左侧,FA分解后的结果是绿色右侧。
主要发现是
- 从绝对量级来看,PCA 无法充分恢复总体相关性:再现的值被高估了量级。
- 但是随着k(变量数与因子数之比)的增加,偏差消失了。在图片中,当每个因子只有 k=4 个变量时,PCA 的残差从 0 开始偏移。这在存在 2 个因子和 6 个因子时都可以看到。但是在 k=16 的情况下,几乎看不到偏移——它几乎消失了,PCA 拟合接近 FA 拟合。没有观察到 PCA 和 FA 之间残差的分布(方差)差异。
当提取的因子数量与真实因子数量不匹配时,也可以看到类似的情况:只有残差的方差有所变化。
上面显示的灰色背景分布与总体中存在尖锐(简单)因子结构的实验有关。当所有的分析都在人口因子结构扩散的情况下进行时,发现PCA的偏差不仅随着k的增加而逐渐消失,而且随着m(因子个数)的增加而逐渐消失。请参阅“6 个因素,k=4”列的按比例缩小的黄色背景附件:对于 PCA 结果,几乎没有观察到从 0 的偏移量(偏移量在 m=2 时仍然存在,图中未显示)。
认为所描述的发现很重要,我决定更深入地检查这些残差分布,并绘制残差(Y 轴)与元素(总体相关)值(X 轴)的散点图。这些散点图每个都结合了所有许多 (50) 模拟/分析的结果。LOESS 拟合线(使用 50% 的局部点,Epanechnikov 内核)被突出显示。第一组图是针对总体中因子结构尖锐的情况(因此相关值的三峰性很明显):
评论:
- 我们清楚地看到(如上所述)重建偏差,这是 PCA 的特征,作为偏斜的负趋势黄土线:样本数据集的 PCA 高估了绝对值大的总体相关性。FA 是无偏的(水平黄土)。
- 随着 k 的增长,PCA 的偏差减小。
- 无论总体中有多少因素,PCA 都是有偏差的:存在 6 个因素(在分析时提取了 6 个),它与存在 2 个因素(提取了 2 个)类似地有缺陷。
下面的第二组图是针对总体中的扩散因子结构的情况:
我们再次观察到 PCA 的偏差。然而,与尖锐的因子结构情况相反,随着因子数量的增加,偏差会逐渐消失:在 6 个总体因子的情况下,即使在 k 仅 4 的情况下,PCA 的黄土线距离水平也不是很远。这就是我们用“黄色直方图”之前。
两组散点图上的一个有趣现象是 PCA 的黄土线是 S 曲线的。这个曲率显示在我随机构建的其他人口因子结构(载荷)下(我检查过),尽管它的程度不同并且通常很弱。如果遵循 S 形,那么 PCA 开始迅速扭曲相关性,因为它们从 0 反弹(尤其是在小 k 下),但从某个值开始 - 大约 0.30 或 0.40 - 它会稳定下来。我现在不会推测这种行为的可能原因,尽管我相信“正弦曲线”源于相关的三角函数性质。
###Fit by PCA vs FA:结论
作为相关/协方差矩阵的非对角部分的整体拟合器,PCA - 当应用于分析来自总体的样本矩阵时 - 可以很好地替代因子分析。当变量数/预期因子数的比率足够大时,就会发生这种情况。(该比率有益效果的几何原因在底部脚注$^1$中进行了解释。)存在更多因素时,该比率可能小于只有少数因素的比率。尖锐因子结构(总体中存在简单结构)的存在阻碍了 PCA 接近 FA 的质量。
尖锐的因子结构对 PCA 整体拟合能力的影响只有在考虑残差“总体减去复制样本”时才明显。因此,人们可能会错过在模拟研究设置之外识别它 - 在样本的观察研究中,我们无法访问这些重要的残差。
与因子分析不同,PCA 是远离零的总体相关性(或协方差)大小的(正)有偏估计量。然而,PCA 的偏差随着变量数/预期因子数的比率增加而降低。随着人口中因素数量的增加,偏差也会降低,但在存在尖锐的因素结构的情况下,后一种趋势受到阻碍。
我要说的是,在考虑残差“样本减去复制样本”时,也可以发现 PCA 拟合偏差和尖锐结构对其的影响;我只是省略了显示这些结果,因为它们似乎没有增加新的印象。
最后,我非常试探性的广泛建议可能是避免使用 PCA 而不是 FA 来进行典型的(即总体中预期有 10 个或更少的因子)因子分析目的,除非你的变量比因子多 10 倍以上。因素越少,必要比率就越严重。我进一步不建议在分析具有完善的、清晰的因子结构的数据时使用 PCA 代替 FA -例如,当进行因子分析以验证正在开发或已经启动的心理测试或带有明确结构/量表的问卷时. PCA 可用作心理测量工具的初始、初步选择项目的工具。
研究的局限性。1)我只使用了因子提取的PAF方法。2)样本量是固定的(200)。3) 对样本矩阵进行抽样时假定正常总体。4) 对于清晰的结构,每个因素建模的变量数量相等。5) 构建人口因子载荷我从大致均匀的(对于尖锐的结构 - 三峰,即 3 片均匀)分布中借用它们。6) 当然,与任何地方一样,在这次即时检查中可能存在疏忽。
脚注 $1$。PCA将模拟FA的结果并成为相关性的等效拟合器,当 - 如此处所述- 模型的误差变量(称为独特因子)变得不相关时。FA试图使它们不相关,但 PCA 没有,它们可能恰好在 PCA 中不相关。可能发生的主要条件是每个公因子(保留为公因子的分量)的变量数量很大。
考虑以下图片(如果您需要先了解如何理解它们,请阅读此答案):
根据因子分析的要求,能够成功地恢复与少数m
公因子的相关性,唯一因子$U$p
,表征显性变量$X$的统计独特部分,必须是不相关的。当使用 PCA 时,p
$U$必须位于由$X$跨越的 -space的p-m
子空间中,因为 PCA不会离开分析变量的空间。因此 - 见左图 - (主成分$P_1$是提取的因素)和($X_1$,$X_2$)分析,独特的因素$U_1$,p
m=1
p=2
$U_2$强制叠加在剩余的第二个分量上(作为分析的错误)。因此,它们必须与$r=-1$相关联。(在图片上,相关性等于向量之间角度的余弦。)所需的正交性是不可能的,并且观察到的变量之间的相关性永远无法恢复(除非唯一因素是零向量,这是一个微不足道的情况)。
但是如果你再添加一个变量($X_3$),右图,并提取仍然一个 pr。分量作为公因数,三个$U$必须位于一个平面内(由剩余的两个 pr. 分量定义)。三个箭头可以跨越一个平面,它们之间的角度小于 180 度。出现了角度的自由。作为可能的特定情况,角度可以大约相等,120度。那已经离90度不远了,也就是离不相关。这是图片上显示的情况。
当我们添加第 4 个变量时,4 个$U$将跨越 3d 空间。用5、5来跨越4d等。很多角度同时达到接近90度的空间会扩大。这意味着PCA 在拟合相关矩阵的非对角三角形的能力方面接近 FA的空间也将扩大。
但是真正的 FA 通常即使在“变量数/因子数”的比率很小的情况下也能够恢复相关性,因为正如这里所解释的(并参见那里的第二张图片),因子分析允许所有因子向量(公共因子和唯一那些)偏离位于变量的空间中。因此,即使只有 2 个变量$X$和一个因子,也有$U$ s 的正交性的空间。
因子结构越分散(越不尖锐)——也就是说,因子载荷的分布越单峰甚至更均匀,——上述正交性越接近成为现实,实现;更好的是 PCA 执行 FA 的角色。
上面的图片也为 PCA高估相关性的原因提供了明显的线索。例如,在左图中,$r_{X_1X_2}= a_1a_2 - u_1u_2$,其中$a$是$X$在$P_1$上的投影( $ P_1 $的加载)和$u$ s 是$U$的长度( $P_2$的加载)。但是仅由$P_1$重建的相关性仅等于$a_1a_2$,即大于$r_{X_1X_2}$。