爱美容
当前位置: 首页 美容百科

主成分分析的方法与原理(换个角度看世界)

时间:2023-06-15 作者: 小编 阅读量: 4 栏目名: 美容百科

通过这样做,透视将发生移动、且2D画面发生旋转并显示出隐藏的Z轴,将马里奥置于3D环境中。2直观理解PCA在用统计方法分析多变量的数据集时,变量太多会大大增加问题的复杂性。去均值化对于PCA的分析结果是否正确至关重要。如果在进行PCA时未进行去均值化,则得到的第一主成分是一条通过原点的45度的直线。之所以会发生这样的情况,是因为PCA是一种旋转变换,因此得到的新的由主成分构成的坐标系必然要经过原始坐标系的原点。

1 从超级纸片马里奥说起

2007 年,任天堂的游戏机 Wii 上推出了一款超级纸片马里奥(super paper Mario)的游戏。在大多数操作中,它十分接近传统的超级马里奥,是一个 2D 的游戏,玩家控制马里奥从左至右移动闯关,如下图所示。

然而,这款游戏与前作的最大区别是它加入了横向卷轴(side-scrolling)功能。这相当于给玩家提供了全新的侧视角机位(a side-view camera angle)。在这个侧视角下,游戏一下从 2D 扩展到 3D。比如上面那副游戏画面的从侧视角来看,就变成了下面这样。在 2D 图中看似在同一平面上的两组砖块儿在 3D 视角中竟然有着完全不同的轴向坐标。

游戏的大部分都在 2D 中进行。然而,在游戏中,马里奥被赋予了“翻转画面”至 3D 的能力。通过这样做,透视将发生移动、且 2D 画面发生旋转并显示出隐藏的 Z 轴,将马里奥置于 3D 环境中。翻转使玩家可以绕过 2D 中存在的障碍物,或者寻找仅在 Z 轴上才可见的物品和地形。

怎么样,有没有“事情的脉络早已非常清晰,只是我们需要找到正确的视角”的感觉?

让我们从这个游戏引申一步。上面的游戏画面中,无论是马里奥,还是砖块儿或者其他游戏元素,构成它们的是屏幕上不同配色的像素,在计算机看来它们无非是大量的数据。这些数据在 2D 视角下呈现出一些模糊的结构,而“翻转到 3D”使这个模糊的结构从一个全新的角度清晰地展现到我们面前,我们可以从中发现很多之前看不到的信息。

对于一组多变量的数据,通过转换观察数据的角度,揭示出数据内在的结构,这个过程就叫做主成分分析(principal component analysis,PCA)。主成分分析作为基础的数学分析方法,其实际应用十分广泛,比如人口统计学、分子动力学、数学建模、数理分析、以及量化投资等学科中均有应用,它是一种常用的多变量分析方法。

2 直观理解 PCA

在用统计方法分析多变量的数据集时,变量太多会大大增加问题的复杂性。此外,在很多问题中,变量之间普遍存在一定的线性相关性,这就造成了被不同变量所代表的数据信息有重叠。面对这些问题,一个自然的想法是“能否使用较少的但是没有相关性的变量来获取尽可能多的原始数据的信息?”。由此便提出了主成分分析(PCA)。

PCA 从原始变量出发,通过旋转变化(即原始变量的线性组合)构建出一组新的、互不相关的新变量,这些变量尽可能多的解释原始数据之间的差异性(即数据内在的结构),它们就称为原始数据的主成分。由于这些变量不相关,因此它们无重叠的各自解释一部分差异性。依照每个变量解释的差异性大小排序,它们称为第一主成分、第二主成分、以此类推。

来看一个生动的例子。

下面的动态图展现了一组三维空间内看似杂乱无章的原始数据(看不出差异性)经过 PCA 变换后在新的变量(即图中的坐标轴)视角下呈现的图案。当我们用新的变量(坐标轴)来绘制这些数据时,它们所传达的信息就更加清晰的呈现出来(由于数据点的差异性被体现出来,一团看似无序的散点变成了一只企鹅图案!)。这就是 PCA 的魅力。

下面就来看看 PCA 的数学含义。

3 数学含义——认清去均值化的重要性

PCA 在数学上定义为一个正交线性变换(orthogonal linear transformation),将原始数据转换到一个新的坐标系统,该系统中的坐标称为主成分(principal components),它们相互正交,因此是不相关的。如果我们将原始数据投影到这些主成分上,它们满足以下条件:

  • 第一主成分上投影数据的方差最大;
  • 第二主成分上投影数据的方差第二大且第二主成分与第一主成分相互垂直;
  • 第三主成分上投影数据的方差第三大且第三主成分与第一、第二主成分相互垂直;

以此类推。

这些主成分构成了一组不相关的正交基集,每个主成分解释了原始数据中的一部分差异性(由投影数据的方差表示);从第一主成分开始,解释差异性的多少依次递减。换句话说,如果我们想找到一个“视角”来观察这些数据,使得它们看起来差别最明显(比从任何其他角度看这些数据的差别都明显),那么这个“视角”就是第一主成分。

PCA 是一种降维(dimension reduction)分析方法;主成分的个数应小于或等于原始变量个数以及观测值的个数。因此 PCA 能够使用低维度的正交变量来解释高维度(原始变量)的数据信息——我们将高维度的原始数据投影到低维度的 PCA 主成分中。

下面简单说说如何从数学上求解主成分,从而引出 PCA 中一个非常关键的概念——去均值化(demean)

假设 X 代表一个 n × p 的矩阵,每一行代表一个观测值(因此一共有 n 个观测值),每一列代表一个变量维度(因此有 p 个原始变量)。此外,在求解主成分前已经对原始数据中的每个维度都进行了去均值化,即 X 的每个列向量中的样本数据的均值都为 0。去均值化对于 PCA 的分析结果是否正确至关重要。至于为什么,请接着往下看。

我们首先来求解第一主成分。它是原始 p 个维度的线性组合。定义列向量 w_(1) 如下,它代表第一主成分中这 p 个维度的权重:

其中带括号的下标 (1) 表示第一主成分,此外 w_(1) 的范数等于 1X 中的每一行 x_i 为一个去均值化后的原始数据(它是一个 1×p 的行向量),因此它在第一主成分上的投影相当于 x_i 与 w_(1) 的内积。它是一个标量,它又称为主成分得分(principal component score)。原始数据 x_i 在第一主成分上的投影,记为 t_i(1),为:

对于所有的原始数据 x_i 求出它们在第一主成分上的投影 t_i(1),下面要做的就是使这些投影点的方差最大。方差如何定义呢?方差是否等于所有 t_i(1) 的平方和呢?

在第一主成分对应的坐标轴上,t_i(1) 代表着原始数据 x_i 的投影点到该坐标系原点的距离。因此所有 t_i(1) 的平方和的数学含义是所有这些投影点到原点的距离的平方和(sum of squared deviation from origin)

注意,重要的事情说三遍:

  • 如果原始数据没有去均值化,则最大化投影点到坐标轴远点的距离平方和不等价于最大化方差!
  • 如果原始数据没有去均值化,则最大化投影点到坐标轴远点的距离平方和不等价于最大化方差!
  • 如果原始数据没有去均值化,则最大化投影点到坐标轴远点的距离平方和不等价于最大化方差!

来看一个例子。假设二维空间中有两个变量 v1 和 v2,以及它们的一组观测值(如下图左侧的情况所示)。如果在进行 PCA 时未进行去均值化,则得到的第一主成分是一条通过原点的 45 度的直线。然而,即便是通过肉眼观测我们也可以发现原始数据的方差在这个方向上并不是最大的。因此,这个第一主成分是错误的。

之所以会发生这样的情况,是因为 PCA 是一种旋转变换,因此得到的新的由主成分构成的坐标系必然要经过原始坐标系的原点。在这个例子中,原始观测点聚集在坐标 (4, 4) 附近。如果不去均值化,坐标系统将围绕着原始坐标系中的点 (0, 0) 旋转。在这种情况下,在计算投影点到原点的距离平方和时,原点正是 (0, 0)。图中 45 度斜线上方密密麻麻的黑点为原始数据的投影点,它们围绕在 (4, 4) 附近。由于没有去均值化,在计算距离平方和时,(0, 0) 到 (4, 4) 之间的距离的平方将被错误地算作投影点自身方差的一部分,使得投影点的方差在 45 度斜线这个方向上显得最大,因此这个方向被错误地选为第一主成分。

正确的做法是对原始数据去均值化。这样,原点被移动到原始数据的中心(如上图中右侧的情况)。围绕着新的原点进行 PCA 便可以正确的发现真正的第一主成分,即穿过新原点的 135 度直线方向。由于已经移动了原点,因此投影点到原点的距离平方和就正比于投影点的方差。从上图也不难看出,在该方向上的投影点的距离平方和最大,即方差最大。这就是为什么在进行 PCA 之前要对原始数据去均值化。

在去均值化的前提下,“最大化投影点在第一主成分上的方差”等价于“找到 w_(1) 使 t_i(1)的平方和最大”。这就意味着,第一主成分的权重 w_(1) 是下面这个最优化问题的解:

将上式右侧写成矩阵形式为:

可以证明,上式右侧中的优化函数的最大值为对称矩阵 (X^T)X 的最大特征值(the largest eigenvalue),该值当 w 取为这个特征值对应的特征向量(eigenvector)时实现。这里先埋个伏笔,看完下一节你就知道这里为什么特意引出对称矩阵 (X^T)X,以及它的特征向量和特征值。

求出 w_(1) 之后,便找到了第一主成分。原始数据在第一主成分上的投影就是 t_i(1)。确定了第一主成分后,便可以依次确定第二、第三主成分,以此类推。具体的,假设已经确定了前 k - 1 个主成分(k ≥ 2),为了确定第 k 个主成分,只需要从原始数据 X 中减去前 k - 1 个主成分,然后对剩余的新的数据进行投影点到原点距离平方和最大化的求解,从而得到第 k 个主成分的权重向量 w_(k)。

这种方法听起来比较繁琐,因为要通过迭代依次找到主成分。但我的目的是想通过对数学步骤的描述强调去均值化的重要性。在实际应用时,PCA 可以通过对原始 n × p 维的数据 X进行协方差矩阵的特征分解求得。

4 对协方差矩阵进行特征值分解

在上节的数学推导中曾留下一个伏笔:求解去均值化后的数据 X 的第一主成分等价于求解对称矩阵 (X^T)X 的最大特征值对应的特征向量。事实上,求解 X 的前 k 个主成分就相当于求解对称矩阵 (X^T)X 的最大的 k 个特征值各自对应的特征向量。它们就是 X 的 k 个主成分。

再来看看 (X^T)X 是什么。去均值化后,对称矩阵 (X^T)X 正比于 X 的协方差矩阵。事实上,X 的协方差矩阵正是 Cov(X) = (X^T)X / (n-1)。注意:如果未对 X 进行去均值化,则 Cov(X) 不等于 (X^T)X / (n-1)。

根据上面的论述,我们只需首先对原始数据去均值化并求出它的协方差矩阵;在得到协方差矩阵后,对该矩阵进行特征值分解(eigen-decomposition)得到特征值和特征向量;之后,将特征值从大到小排序,取前 k 个特征值对应的特征向量,它们就是我们要找的 k 个主成分。

根据协方差的定义,计算协方差的过程中便已对数据进行了去均值化,因此对于求解代表主成分的特征向量,并不需要在求协方差均值之前人工对数据去均值化。然而,考虑到 PCA 是旋转变换且坐标系统的原点应该位于多变量数据的多维均值之上,因此在计算原始数据点在主成分上的投影时,仍应将数据进行去均值化处理。此外,除了本节介绍的协方差矩阵的特征值分解外,还有其他求解 PCA 的方法,比如 Python 的 sklearn 统计包使用的是对矩阵 X 直接进行奇异值分解(singular value decomposition,SVD)。在采用这种解法时,如果没有人工对数据去均值,那么SVD的计算结果便有可能是错误的。因此,在进行 PCA 时,无论是用什么方法,首先应对数据去均值化。

下面通过一个例子来说明对协方差矩阵进行特征值分解的过程。

假设有两个变量 A 和 B 的 10 个观测点,如下表所示。我们希望找出它们的第一主成分。

第一步:去均值,得到去均值化后的数据

第二步:计算协方差矩阵

去均值化后数据的协方差矩阵为:

第三步:对协方差矩阵进行特征值分解

得到特征值为 0.07650136 和 1.36494309。二者中较大特征值对应的特征向量为:[-0.68212146, -0.73123889]^T,这就是数据的第一主成分。

第四步:计算原始数据在第一主成分上的投影

用去均值后的数据和第一主成分内积,便得到原始数据在第一主成分上的投影。为了验证结果的正确性,我们同时采用 Python 的 sklearn 包自带的 PCA 计算第一主成分。从下表的结果可以看到,上述计算和使用软件包的计算结果是一致的。

来看看第一主成分在二维平面上是什么方向的。下图中,蓝色的圆圈是原始去均值化后的数据,绿色的直线是第一主成分的坐标轴。红色的方块是原始数据在其上的投影。不难看出,在第一主成分上,投影点的方差最大。如果我们把这 10 个点投影到非第一主成分的其他方向上,那些投影点的方差都没有第一主成分上这些投影点的方差大。即第一主成分是最能够体现这些点之间差异化的那个视角。

5 尺度缩放的重要性

最后——last but not least——想指出的一点是,PCA 对原始变量的相对尺度十分敏感。如果在一组变量中,某一个变量的量纲非常大,那么这个变量很可能主宰观测数据的方差,导致第一主成分非常接近这个变量,而这样的结果往往没有太大的意义。

比如在一个问题中,某一个变量是长度,如果我们把它的单位从米改成厘米,则数量级大了 100 倍,计算方差的时候该变量方差的数量级则大了 10000 倍。然而量纲的变化对于数据本身的内部结构并没有改变,但我们会因此错误的认为长度这个变量是一个解释方差的最重要因素,这就有问题了。

因此,在进行 PCA 时,往往有必要结合数据的业务含义对变量进行尺度缩放(scaling),使得不同变量之间在量纲上具有可比性。需要强调的是,在 scaling 的技巧中并没有标准答案,因此需要具体问题具体分析。

下面这两个示例图展示了是否 scaling 对 PCA 结果的影响。上图中,由于没有 scaling,导致得到的第一主成分完全秒杀了其他主成分,这样会使使用者认为数据之间的区别仅仅存在于第一主成分中。而经过适当的 scaling 后(下图),PCA 的结果更加合理,前四个主成分依次解释了数据中的方差。

6 结语,PCA 与量化投资

在分析多变量数据时,变量之间错综复杂的相关性往往为我们探究其内部的结构设置了层层障碍。而不同变量之间传递的带有重叠性的信息更会使我们错误的高估一些变量的作用。

放眼量化投资领域,多因子量化选股无疑是一个可以使用 PCA 来分析的课题。人们主观的将因子归纳为估值因子、质量因子、成长因子、动量因子等,就是希望降低不同类别因子之间的相关性,使它们各自代表股票超额收益中不同的风险敞口。然而,由于这些因子都是来自市场交易数据以及公司财报,它们之间一定存在着千丝万缕的联系(即相关性)。如果我们想要彻底排除因子之间的相关性、降低分析问题的复杂性、同时捕捉到股票在不同因子之上的差异,PCA 无疑会有用武之地。它可以把传统的因子转化为一组完全正交的主成分,这有助于提高量化选股的准确性。

    推荐阅读
  • 听觉的秘密(听觉世界里的潜规则)

    鸡尾酒会效应说起大脑的能力强,至今,大脑在处理声音方面的一个功能还在让所有科学家惊叹,这个功能的神奇机制至今也还是个谜。这种功能有个有趣的名字,叫做“鸡尾酒会效应”。动物也展现鸡尾酒会效应最近的研究发现,很多动物的听觉系统也具有这种鸡尾酒会效应的功能,例如鸟儿们经常群集一起,叽叽喳喳开大会,但它们往往只是回应自己伴侣的叫声,显然它们能够从嘈杂的叽喳声中分辨出伴侣的声音。

  • 淄博环保供热第一供热分公司供暖范围在哪?

    淄博环保供热第一供热分公司供暖范围在哪?供暖小常识之暖气不热的具体排气方法:每个暖气片上都有一个手动排气阀,用户可轻轻拧松手动排气阀,听到排气声立即停止扭动排气阀,若见有稳定水流流出可将排气阀轻轻拧紧。排过气后,若暖气片还是不热,应请专业人员查明原因,帮助解决问题,切不可盲目放水。

  • 窗帘是什么材质 高精密窗帘是什么材质

    透明类的丝质面料,手感柔软、纹路流畅,用做窗帘,既浪漫又高雅。丝质窗帘最大的特点也是最明显的缺点就是价格昂贵,难以清洗。古代太后或皇后临朝听政,殿上用竹帘遮隔,则称为垂帘听政。

  • 普惠性幼儿园能否增加收费项目(普惠性幼儿园覆盖率将超过80)

    普惠性幼儿园覆盖率将超过80日前,陕西省教育厅和陕西省发改委联合印发了《陕西省教育事业发展“十四五”规划》,其中明确提出要强化学前教育规划建设,将新增公办园300所,公办园占比和公办园在园幼儿占比保持50%以上,普惠性幼儿园覆盖。

  • 林清玄人生感言(承担是生命里最美的东西)

    更令人赞叹的是,那个煮面的老板还边与顾客聊着闲天。对于孩子突如其来的谈话,我感到莞尔,并且立即坦然承认,我一定输给卖面的人。他们不用言语,而以动作表达了对生命的承担。在古印度人传统的观念里,认为只要是两条河交会的地方一定是圣地,这是千年智慧累积所得到的结论。当然,在我们以神圣的心面对世界时,自己就有了承担,也就成为值得敬佩的人之一。事实上,所有的比较都是一种执著。

  • 白花蛇舌草的功效与作用(白花蛇舌草的功效与作用效)

    白花蛇舌草一年生小草本,生于潮湿的田边、沟边、路旁和草地。白花蛇舌草药材全体扭成团块,灰绿色至灰棕色。白花蛇舌草补充信息:炮制:取原药材除去杂质,抢水洗净,稍润,切段,干燥。白花蛇舌草适合人群:孕妇慎用白花蛇舌草的功效和作用白花蛇舌草味苦、微甘,性微寒;入肺、肝、胃经;具有清热利湿,解毒抗癌的功效;主治肺热喘咳,咽喉肿痛,湿热黄疸,热淋涩痛,水肿,痢疾肠炎,肠痈,痈肿疮疡,毒蛇咬伤,癌肿。

  • 苏州西站长途汽车站停运通知(苏州市区79班汽车客运班线停班)

    苏州汽车客运总站表示,将给因台风造成停班班次的旅客办理免费退票。昆山客运中心站正密切关注“利奇马”的走向及发展趋势,动态调整班次开行方案并及时通知广大旅客相关停班信息,确保旅客安全出行。有去机场、高铁站、火车站换乘的旅客请适当增加出行时间,以免受台风影响耽误行程。如因天气原因导致班次停运,乘车人可在当天携带本人身份证持车票到车站窗口办理全额退票。

  • 二氧化碳用途(二氧化碳的用途)

    二氧化碳是我们很熟悉的一种气体,大量的二氧化碳会导致温室效应的加剧。学过生物的同学都知道,植物的光合作用是需要二氧化碳作为原料的。在很多农场里面,也会放置产生二氧化碳的仪器,提高农作物的产量。二氧化碳灭火器可用于扑灭图书、重要仪器的失火,因为扑灭后没有任何的残留物质。其实这种效果都是由人为用干冰造成的。以及人工降雨也都会用到二氧化碳等,用途广泛。

  • 桂林社保卡要自己去银行办吗(桂林社保卡要自己去银行办吗现在)

    制卡人1寸白底免冠深色上衣证件纸质彩色照片1张。如委托代办,需提供受委托人的居民身份证原件。填写社会保障卡制卡申领表。社会保障卡启用1.办理条件本统筹区已领取社会保障卡,但未激活社保功能的参保人员。广西区内转入已经持有社会保障卡的参保人员。

  • tvb五花是谁(深扒TVB五朵金花)

    根据港媒报道,杨怡与胡定欣在剧组拍摄期间已经有了两女相争的苗头。根据当时报道,吴卓羲公开表示,自己与徐子珊仅拍摄了一天电视剧,便成为了男女朋友,使得二人被视为最佳荧幕情侣。在此期间,黄宗泽与五花们合作过多部作品,荧幕情侣也是组合了一对又一对。此外,同样家庭事业双丰收的还有勤恳劳模杨怡。然而,现实生活中,与杨怡定情的却是在剧中饰演马国明弟弟的罗仲谦。杨怡仍然认定罗仲谦,并于2016年10月于英国完婚。