主成分分析(PCA)详解(附带详细公式推导)
- 格式:docx
- 大小:37.08 KB
- 文档页数:2
利用协方差阵求取主成分的步骤和公式在现代统计学中,主成分分析(PCA)是一种常用的数据降维方法。
它通过将原始数据投影到一个新的坐标系,从而实现对数据的简化和可视化。
PCA的原理基于协方差矩阵,协方差矩阵是一个描述数据之间关系的矩阵。
在这个过程中,我们需要利用协方差阵求取主成分,以下是详细的步骤和公式:我们需要计算数据的均值。
均值是一个重要的特征,它可以帮助我们消除数据中的量纲影响。
例如,如果我们有一个长度为n的数据向量x,那么它的均值就是x的平均值:均值= (1/n) * Σx_i接下来,我们需要计算协方差矩阵。
协方差矩阵是一个描述数据之间线性关系的特征矩阵。
对于一个n维数据向量x,它的协方差矩阵可以表示为:协方差矩阵 = (1/(n-1)) * Σ((x_i μ) * (x_j μ))其中,μ是数据向量的均值,Σ表示求和。
需要注意的是,协方差矩阵的上三角部分是正定的,这意味着我们可以直接求出它的特征值和特征向量。
这些特征值和特征向量构成了主成分。
为了求解协方差矩阵的特征值和特征向量,我们可以使用奇异值分解(SVD)。
奇异值分解是一种将矩阵分解为三个矩阵的乘积的方法。
对于一个n×n的矩阵A,它的奇异值分解可以表示为:A = U * S * V^T其中,U、S和V分别是正交矩阵,且S是一个对角矩阵,其对角线元素称为奇异值。
我们需要找到最大的奇异值对应的特征向量,这个特征向量就是我们要找的主成分。
具体来说,主成分的方向是由最大奇异值对应的特征向量确定的。
接下来,我们需要计算主成分的方差。
主成分的方差可以通过协方差矩阵的最大奇异值来表示。
设最大奇异值为λ1,那么主成分的方差就是:主成分方差= λ1^2 / (n-1)我们可以将原始数据投影到主成分上。
具体来说,对于一个n维数据向量x,它在第一个主成分上的投影就是:x_1 = x * Σ_j^0 * V^T_j^0 * S^(0/2) * U^(0,0)其中,Σ_j^0表示j=1,2,...,n-1时的特征值之和。
PCA-主成分分析的原理及解释主成分分析(principal component analysis ,PCA )PCA 利⽤正交变换将线性相关变量表⽰的观测数据转换为少数⼏个由线性⽆关变量表⽰的数据。
线性⽆关的变量称为主成分,其个数通常⼩于原始变量的个数,所以属于⽆监督学习中的降维⽅法。
⼀、PCA 的解释—最⼤⽅差理论由上图可以看到,x 1和x 2两个变量之间具有线性相关性。
已知其中⼀个变量x 1的取值时,对另⼀个变量x 2的预测不是完全随机的,反之亦然。
为了减少这种相关性,我们对坐标系进⾏旋转变换(正交变换),将数据投影到新坐标系的坐标轴上,那如何选择坐标系呢?我们将数据在每⼀轴上的坐标值的平⽅表⽰相应变量的⽅差,并且这个坐标轴上的⽅差是最⼤的(在所有可能的新坐标系中)。
找到第⼀坐标轴后,然后选择与第⼀坐标轴正交,且⽅差次之的⽅向作为第⼆坐标轴,如上图(b)。
主成分分析旨在选取正交变换中⽅差最⼤的变量,那为什么⽅差最⼤,变量之间的相关性越⼩?答:数据在某个⽅向上的轴的⽅差越⼤,那么说明数据分布得更为分散,相关性越⼩。
在信号处理领域,信号具有较⼤的⽅差,噪声具有较⼩的⽅差,信号与噪声之⽐称为信噪⽐。
⽽信噪⽐越⼤,意味着数据的质量越好。
回忆⼀下,线性代数的相关内容?正交矩阵:满⾜条件A T A =E 或者AA T =E 的n 阶⽅阵称为正交矩阵。
判定正交矩阵的充分必要条件为:A 的列(⾏)向量都是单位向量,且两两正交。
设A 为正交矩阵,则线性变换y =Ax 称为正交变换。
正交变换保证向量的内积和长度不变,具有保形性。
回忆⼀下,协⽅差和相关系数的知识?协⽅差和相关系数都可以⽤来描述两个分量之间相互关系的数字特征。
协⽅差Cov (X ,Y )=E [(X −EX )(Y −EY )]。
相关系数ρXY =Cov (X ,Y )√DX ⋅√DY。
相关系数(协⽅差)变⼤,X 与Y 的线性相关程度就变⼤。
推导:Processing math: 100%矩阵和向量求导的相关公式::。
主成分分析(PCA)数学原理详解PCA的数学原理可以分为以下几个步骤:1.数据中心化PCA首先将原始数据进行中心化处理,即将每个特征的均值减去相应特征的平均值,这是因为PCA假设数据围绕着原点分布,中心化可以消除数据的平移影响。
2.协方差矩阵的计算PCA的关键是计算数据的协方差矩阵。
协方差矩阵描述了不同特征之间的相关性。
对于一个n维的数据集,协方差矩阵是一个n×n的矩阵,其中第(i,j)个元素表示第i个特征和第j个特征的协方差。
协方差矩阵的计算公式如下:$C = \frac{1}{n-1} \sum _{i=1}^{n}(X_i - \overline{X})(X_i - \overline{X})^T$其中,X是一个n×m的矩阵,表示n个样本的m个特征,$\overline{X}$ 表示特征均值向量协方差矩阵是一个对称矩阵,通过对协方差矩阵的特征值分解,可以得到特征值和特征向量。
3.特征值和特征向量的计算对协方差矩阵进行特征值分解,可以得到特征值和对应的特征向量。
特征值代表了数据在特征向量方向上的方差,而特征向量表示了数据的主成分方向。
设协方差矩阵为C,有如下特征值方程:$Cv = \lambda v$其中,v是特征向量,λ是特征值。
将特征值按从大到小的顺序排序,选择前k个最大的特征向量,即主成分,作为新的基向量。
这些特征向量构成了一个新的坐标系,用于表示原始数据的新坐标。
4.数据转换将原始数据投影到新的坐标系上,得到降维后的数据。
设原始数据集为X,新的基向量为V(由前k个特征向量组成),降维后的数据集为Y,可以通过如下公式计算:$Y=XV$其中,X是一个n×m的矩阵,表示n个样本的m个特征,V是一个m×k的矩阵,Y是一个n×k的矩阵。
通过PCA降维,可以获得降维后的数据集Y,它是一个n×k的矩阵。
总结:主成分分析(PCA)通过计算数据的协方差矩阵,得到协方差矩阵的特征值和特征向量。
主成分分析的主要目的是希望用较少的变量去解释原来资料中的大部分变异,将我们手中许多相关性很高的变量转化成彼此相互独立或不相关的变量,从而达到降维的目的。
在原始数据“预处理”阶段通常要先对它们采用PCA的方法进行降维。
本质上讲,PCA就是将高维的数据通过线性变换投影到低维空间上去,但并非随意投影,而是需要遵循一个规则:希望降维后的数据不能失真,也就是说被PCA降掉的那些维度只能是噪声或是冗余的数据。
噪声可以理解为样本数据各维度之间的相关性干扰,冗余可以理解为没有的维度(何为没用?我们PCA处理的基础是保持数据的可区分性,如果该维度上样本数据变异度很小,那么留它何用~~)。
以上是PCA的本质和基本思想。
下面我们来具体分析。
假设现在有很多个样本,每个样本都是多维的,他们自然都可以在多维坐标系上表示出来。
现在我们第一步是要进行维度的变换,实际上就是通过旋转形成新的坐标系直线(此时还没有降维)。
将各样本数据投影在这些直线上,其投影的长度是在新坐标系下的样本各维度值。
通过计算各直线上投影的方差值,我们可以进行排序。
方差值大说明这个新维度区分能力强,我们应该留下;反之则该去掉(降维去冗余)。
现在通过以上思想你应该可以推到出PCA的具体公式了。
至于具体的公式,本讲决定直接跳过(留给下一讲),现在我可以直接告诉你大概运用什么样的方法怎样来进行PCA。
完成PCA的关键是——协方差矩阵!!协方差矩阵度量的是维度与维度之间的关系,而非样本与样本之间,所以我们直接对协方差矩阵进行某种变化,是不是就可以到达降噪和去冗余的目的呢?Absolutely!!这种变化就是矩阵的对角化(对角化实际上还没有降维,只是同维度的变换)。
对角化之后非对角上的元素都是0,这就到达了去噪声的目的。
而对角线上的元素是新维度的方差(你应该明白对角化的矩阵依然是协方差矩阵吧),所以我们只需要在这些方差中挑选较大的一些,舍去较小的,这样就去冗余了。
通过这两步工作PCA最主要的工作就完成了。
PCA主成分分析⽅法PCA: Principal Components Analysis,主成分分析。
1、引⼊ 在对任何训练集进⾏分类和回归处理之前,我们⾸先都需要提取原始数据的特征,然后将提取出的特征数据输⼊到相应的模型中。
但是当原始数据的维数特别⾼时,这时我们需要先对数据进⾏降维处理,然后将降维后的数据输⼊到模型中。
PCA算法是专门⽤来对⾼维数据进⾏降维⽽设计,通过将⾼维数据降维后得到的低维数能加快模型的训练速度,并且低维度的特征具有更好的可视化性质。
另外,数据的降维会导致⼀定的信息损失,通常我们可以设置⼀个损失阀值来控制信息的损失。
设原始样本集为:,即样本数为m个,每个样例有n个特征维度。
2、预处理 在使⽤PCA降维之前,样本集需要满⾜两个条件: 1)特征去均值化(即均值零化)。
对每个特征,使⽤当前特征的值减去该维特征的平均值。
对第i个样例的第j个特征,计算公式为: 其中第i个特征的均值为: 当处理⾃然图像时,则将每个特征减去图像本⾝的均值,⽽不是减去该特征的均值。
即: 为何需要去均值?这主要是去除均值对变换的影响,减去均值后数据的信息量没有变化,即数据的区分度(⽅差)是不变的。
如果不去均值,第⼀主成分,可能会或多或少的与均值相关。
[5] 2)归⼀化处理:将不同特征的数据范围归⼀化到同⼀范围中,⼀般将每个值除以当前维的最⼤值。
3、PCA算法 PCA算法的核⼼思想在于找出数据变化的主⽅向和次⽅向,如图3.1所⽰,向量u1 的⽅向可以认为是数据的主⽅向,⽽u2是次⽅向。
图3.1 数据变化的主次⽅向[1] 那么如何得到数据变化的主次⽅向?假设样本集有m个样例,每个样例有n个特征。
样本集可以表⽰为: 第i个样例的特征向量表⽰为: 则样本集的协⽅差矩阵为: 协⽅差矩阵为n*n⼤⼩的⽅阵,具有n个特征向量。
其中协⽅差计算公式为: 计算协⽅差矩阵的特征向量及对应的特征值。
将特征向量按特征值的⼤⼩按列排放,组成矩阵u=[u1 u2 … un],对应的特征值由⼤到⼩分别为:。
主成分分析法(PCA)在实际问题中,我们经常会遇到研究多个变量的问题,而且在多数情况下,多个变量之间常常存在一定的相关性。
由于变量个数较多再加上变量之间的相关性,势必增加了分析问题的复杂性。
如何从多个变量中综合为少数几个代表性变量,既能够代表原始变量的绝大多数信息,又互不相关,并且在新的综合变量基础上,可以进一步的统计分析,这时就需要进行主成分分析。
I. 主成分分析法(PCA)模型(一)主成分分析的基本思想主成分分析是采取一种数学降维的方法,找出几个综合变量来代替原来众多的变量,使这些综合变量能尽可能地代表原来变量的信息量,而且彼此之间互不相关。
这种将把多个变量化为少数几个互相无关的综合变量的统计分析方法就叫做主成分分析或主分量分析。
主成分分析所要做的就是设法将原来众多具有一定相关性的变量,重新组合为一组新的相互无关的综合变量来代替原来变量。
通常,数学上的处理方法就是将原来的变量做线性组合,作为新的综合变量,但是这种组合如果不加以限制,则可以有很多,应该如何选择呢?如果将选取的第一个线性组合即第一个综合变量记为1F ,自然希望它尽可能多地反映原来变量的信息,这里“信息”用方差来测量,即希望)(1F Var 越大,表示1F 包含的信息越多。
因此在所有的线性组合中所选取的1F 应该是方差最大的,故称1F 为第一主成分。
如果第一主成分不足以代表原来p 个变量的信息,再考虑选取2F 即第二个线性组合,为了有效地反映原来信息,1F 已有的信息就不需要再出现在2F 中,用数学语言表达就是要求0),(21=F F Cov ,称2F 为第二主成分,依此类推可以构造出第三、四……第p 个主成分。
(二)主成分分析的数学模型对于一个样本资料,观测p 个变量p x x x ,,21,n 个样品的数据资料阵为:⎪⎪⎪⎪⎪⎭⎫ ⎝⎛=np n n p p x x x x x x x x x X212222111211()p x x x ,,21=其中:p j x x x x nj j j j ,2,1,21=⎪⎪⎪⎪⎪⎭⎫ ⎝⎛= 主成分分析就是将p 个观测变量综合成为p 个新的变量(综合变量),即⎪⎪⎩⎪⎪⎨⎧+++=+++=+++=ppp p p p p p p p x a x a x a F x a x a x a F x a x a x a F 22112222121212121111 简写为:p jp j j j x x x F ααα+++= 2211p j ,,2,1 =要求模型满足以下条件:①j i F F ,互不相关(j i ≠,p j i ,,2,1, =)②1F 的方差大于2F 的方差大于3F 的方差,依次类推③.,2,1122221p k a a a kp k k ==+++于是,称1F 为第一主成分,2F 为第二主成分,依此类推,有第p 个主成分。
多元统计分析公式主成分分析判别分析多元统计分析是一种通过收集和分析多个变量之间相互作用关系来帮助我们理解、解释和预测数据的方法。
其中,主成分分析和判别分析是常用的多元统计分析方法。
本文将对这两种方法的公式和应用进行介绍。
一、主成分分析主成分分析(Principal Component Analysis,简称PCA)是一种通过线性变换将一组可能存在相关性的变量转化为一组线性无关的新变量的方法。
它的基本思想是通过将原始变量进行线性组合来构建主成分,这些主成分能够解释原始数据中大部分的方差。
主成分分析的公式如下:X = A * T其中,X是原始数据矩阵,A是变量相关系数矩阵,T是主成分得分矩阵。
主成分分析的步骤如下:1. 标准化数据:将原始数据标准化,确保各个变量具有相同的尺度。
2. 计算相关系数矩阵:计算标准化后的数据的相关系数矩阵A。
3. 计算特征值和特征向量:对相关系数矩阵进行特征值分解,得到特征值和对应的特征向量。
4. 选择主成分:根据特征值的大小选择前n个主成分。
5. 计算主成分得分:将原始数据投影到所选的主成分上,得到主成分得分矩阵T。
主成分分析的应用十分广泛,常用于降维、数据可视化、变量选择等领域。
例如,在社会科学研究中,可以将大量的社会经济指标通过主成分分析进行降维,从而更好地理解社会现象。
二、判别分析判别分析(Discriminant Analysis)是一种帮助我们根据已知类别数据预测未知类别数据的方法。
判别分析通过寻找最佳投影方向,将不同类别的样本在投影后最大程度地分离开来,从而提高分类的准确性。
判别分析的公式如下:D = W * X其中,D是判别得分,W是权重系数,X是原始数据。
判别分析的步骤如下:1. 计算类内散度矩阵和类间散度矩阵:分别计算各个类别的散度矩阵。
2. 计算广义特征值和广义特征向量:对类内散度矩阵和类间散度矩阵进行广义特征值分解,得到广义特征值和对应的广义特征向量。
主成分分析(PCA)详解(附带详细公式推导)
1.假设有一个m维的数据集X,其中每个数据点有n个样本。
需要将
其降维到k维,且k<m。
2. 首先需进行数据的中心化,即对每个维度的数据减去该维度的均值,即X' = X - mean(X)。
3.然后计算协方差矩阵C=(1/n)*X'*X'^T,其中X'^T表示X'的转置。
4.对协方差矩阵C进行特征值分解,得到特征值和对应的特征向量。
5.接下来,将特征值按从大到小的顺序排列,选取前k个最大的特征
值及其对应的特征向量。
6. 最后,将选取的k个特征向量组成一个投影矩阵W =
[e1,e2,...,ek],其中ei表示第i个特征向量。
7.对中心化的数据集进行降维,Y=W*X',其中Y即为降维后的数据。
上述推导过程中,协方差矩阵C的特征值代表了数据的方差,特征向
量则代表了数据的主成分。
选取最大的k个特征值和对应的特征向量,即
实现了数据的降维。
PCA的应用包括但不限于以下几个方面:
1.数据可视化:PCA能够将高维度的数据映射到二维或三维空间,从
而方便数据的可视化展示。
2.数据预处理:PCA能够降低数据的维度,从而减少噪声和冗余信息,提升后续模型的精度和效率。
3.特征提取:PCA能够提取数据中最重要的特征,从而辅助后续建模和特征工程。
4.噪声过滤:PCA能够降低数据的维度,从而过滤掉一些无关的噪声信息。
需要注意的是,PCA只能应用于线性数据,并且假设数据的方差和协方差是固定的。
同时,PCA对于数据中非线性关系的捕捉能力较弱,因此在处理非线性数据时,需考虑使用其他非线性降维方法,如核主成分分析(Kernel PCA)等。
综上所述,PCA是一种常用的多变量数据降维技术,在数据分析和机器学习领域有着广泛的应用。
通过线性变换,PCA将高维度的数据投影到低维空间中,从而减少数据的维度,并保留了数据中的主要信息。