什么是主成分分数(PC分数,PCA分数)?
什么是主成分分数(PC分数,PCA分数)?
Answers:
首先,让我们定义一个分数。
约翰,迈克和凯特在数学,科学,英语和音乐方面的考试分数如下:
Maths Science English Music
John 80 85 60 55
Mike 90 85 70 45
Kate 95 80 40 50
在这种情况下,总共有12个分数。每个分数代表每个人在特定主题下的考试结果。因此,在这种情况下,分数只是行和列相交位置的表示。
现在,让我们非正式地定义一个主组件。
在上表中,您可以轻松地在2D图形中绘制数据吗?不,因为有四个主题(这意味着四个变量:数学,科学,英语和音乐),即:
但是,您将如何绘制4个主题?
目前,我们有四个变量,每个变量仅代表一个主题。因此,解决此问题的方法可能是将主题以某种方式组合为可能的两个新变量,然后我们可以对其进行绘制。这称为多维缩放。
主成分分析是多维缩放的一种形式。这是变量到较低维空间的线性变换,该维保留了有关变量的最大信息量。例如,这意味着我们可以查看每个学生可能更适合的学科类型。
因此,主要成分是线性转换后原始变量的组合。在R中,这是:
DF<-data.frame(Maths=c(80, 90, 95), Science=c(85, 85, 80), English=c(60, 70, 40), Music=c(55, 45, 50))
prcomp(DF, scale = FALSE)
它将为您提供类似的信息(仅出于简单起见,前两个主要组件):
PC1 PC2
Maths 0.27795606 0.76772853
Science -0.17428077 -0.08162874
English -0.94200929 0.19632732
Music 0.07060547 -0.60447104
这里的第一列示出了定义主分量#1的线性组合的系数,第二列示出了主分量#2的线性组合的系数。
那么什么是主成分分数?
这是这篇文章结尾处表格的得分(请参阅下文)。
来自R的上述输出意味着我们现在可以按照以下方式在2D图形中绘制每个人在所有主题上的得分。首先,我们需要将减数列表示的原始变量居中:
Maths Science English Music
John -8.33 1.66 3.33 5
Mike 1.66 1.66 13.33 -5
Kate 6.66 -3.33 -16.66 0
然后形成线性组合以获得PC1和PC2 分数:
x y
John -0.28*8.33 + -0.17*1.66 + -0.94*3.33 + 0.07*5 -0.77*8.33 + -0.08*1.66 + 0.19*3.33 + -0.60*5
Mike 0.28*1.66 + -0.17*1.66 + -0.94*13.33 + -0.07*5 0.77*1.66 + -0.08*1.66 + 0.19*13.33 + -0.60*5
Kate 0.28*6.66 + 0.17*3.33 + 0.94*16.66 + 0.07*0 0.77*6.66 + 0.08*3.33 + -0.19*16.66 + -0.60*0
简化为:
x y
John -5.39 -8.90
Mike -12.74 6.78
Kate 18.13 2.12
上表中有六个主要成分分数。现在,您可以在2D图形中绘制分数,以了解每个学生也许更适合的科目类型。
通过输入,可以在R中获得相同的输出prcomp(DF, scale = FALSE)$x
。
编辑1:嗯,我大概可以想出一个更好的例子,它的意义比我在这里说的要多,但我希望您能想到。
编辑2:感谢@drpaulbrewer在改进此答案方面的评论。
apply(dtf, 1, function(x) sum(scale(x)))
prcomp
输出。之前没有。
当处理多元数据时,主成分分析(PCA)是一种分析方差的流行方法。您拥有随机变量X1,X2,... Xn,它们都以不同程度(正或负)相关,并且您想更好地了解正在发生的事情。PCA可以提供帮助。
PCA给您的是将变量更改为Y1,Y2,...,Yn(即相同数量的变量),它们是Xs的线性组合。例如,您可能具有Y1 = 2.1 X1-1.76 X2 + 0.2 X3 ...
Ys是一个很好的属性,每个属性之间的相关性为零。更好的是,您可以按递减的顺序获得它们。因此,Y1“解释”了原始变量方差的很大一部分,Y2则少了很多,依此类推。通常在前几个Y之后,变量会变得毫无意义。任何Xi的PCA分数就是每个Y的系数。在我之前的示例中,第一个主成分(Y1)中X2的得分为1.76。
PCA做到这一点的方法是通过计算协方差矩阵的特征向量。
举一个具体的例子,假设X1,... X10是1年,2年,...年,10年期美国国债收益率在一段时间内的变化。当您计算PCA时,通常会发现第一个成分具有相同符号和大约相同符号的每个键的分数。这告诉您,债券收益率的大部分差异来自所有以相同方式移动的东西:“平行移动”向上或向下。第二个分量通常显示曲线的“变陡”和“变平”,并且对X1和X10具有相反的符号。
PC1 > PC2 > ... > PCn
并且它们的方差之和等于初始变量集的方差之和,因为PCA是在协方差矩阵上计算的,即变量是标准化的(SD = 1,VAR = 1)。
我喜欢认为主成分分数“基本上没有意义”,直到您实际赋予它们一定的意义为止。用“真实性”来解释PC分数是一件棘手的事情-确实没有唯一的方法可以做到这一点。这取决于您对进入PCA的特定变量的了解,以及它们在解释方面如何相互关联。
就数学而言,我想将PC分数解释为相对于主要成分轴的每个点的坐标。因此,在原始变量中,您有,它是p维空间中的“点”。在这些坐标中,这意味着沿轴的点是距原点的距离。现在,PCA基本上是描述此“点”的另一种方式-相对于其主成分轴,而不是“原始变量”轴。因此,我们有,其中是 主分量权重的矩阵(即每一行的特征向量),是数据的“质心”(或数据点的均值矢量)。
因此,您可以将特征向量视为描述PC的“直线”在哪里。然后,主成分得分描述相对于数据的“中心”,每个数据点在每个直线上的位置。您还可以将PC分数与权重/特征向量结合起来,视为每个原始数据点的一系列等级1预测,其形式为:
其中是对第个观察的预测,对于使用第个PC的第个变量的预测。
数据矩阵的主要成分是其方差-协方差矩阵的特征向量-特征值对。本质上,它们是方差的与解相关的部分。每个对象都是用于观察的变量的线性组合-假设您对一堆对象分别进行w,x,y,z的测量。您的第一台PC可能像
0.5w + 4x + 5y-1.5z
这里的载荷(特征向量)为(0.5、4、5,-1.5)。当您替换观察值(w,x,y,z)并计算总和时,每个观察值的得分(特征值)就是结果值。
当您将事物投影到它们的主要成分上(例如,用于离群值检测)时,这非常方便,因为您就像在任何其他数据上一样在每个分数上绘制分数。如果许多差异相关(在前几台PC中为==),则这可以揭示有关数据的很多信息。
令索引行,而索引列。假设您线性化变量(列)的组合:
上面的公式基本上说是将行元素与特定值(负载)相乘,然后按列求和。结果值(值乘以载荷)为分数。ÿ
主成分(PC)是线性组合)(按列的值称为得分)。本质上,PC应该呈现出变量(列)的最重要特征。因此,您可以提取与变量数量相同(或更少)的PC。
PCA上R的输出(一个伪造的示例)看起来像这样。PC1,PC2 ...是主要组件1、2 ...下面的示例仅显示前8个主要组件(共17个)。您还可以从PCA中提取其他元素,例如加载和得分。
Importance of components:
PC1 PC2 PC3 PC4 PC5 PC6 PC7 PC8
Standard deviation 1.0889 1.0642 1.0550 1.0475 1.0387 1.0277 1.0169 1.0105
Proportion of Variance 0.0697 0.0666 0.0655 0.0645 0.0635 0.0621 0.0608 0.0601
Cumulative Proportion 0.0697 0.1364 0.2018 0.2664 0.3298 0.3920 0.4528 0.5129