首页 > 其他分享 >主成分分析(PCA)

主成分分析(PCA)

时间:2023-02-21 17:09:03浏览次数:39  
标签:分析 变量 特征向量 方差 矩阵 协方差 成分 PCA


目录

​​方差​​

​​协方差​​

​​维度灾难​​

​​主成分分析(PCA)​​

​​一、标准化​​

​​二、计算协方差矩阵​​

​​三、计算出主成分​​

​​主成分是什么​​

​​怎么计算主成分​​

​​特征值和特征向量​​

​​四、主成分向量​​

​​五、将数据映射到新的主成分坐标系中​​

​​PCA的步骤​​


方差

方差是指一组数据中的各个数减去这组数据的平均数的平方和的平均数。

例:(1,2,3,4,5)

平均数=3

各个数与平均数差的平方和=10

方差=2

方差用于测算数值型数据的离散程度。

协方差

协方差用于度量各个维度偏离其均值的程度。

协方差的计算方法(以二维为例子):

主成分分析(PCA)_特征向量

其中

主成分分析(PCA)_主成分分析_02

,

主成分分析(PCA)_方差_03

表示均值。

协方差的结果有三种解释方式

当cov(X,Y)>0时,表明X和Y正相关;

主成分分析(PCA)_协方差_04

当cov(X,Y)<0时,表明X和Y负相关;

主成分分析(PCA)_主成分分析_05

当cov(X,Y)=0时,表明X和Y不相关。

主成分分析(PCA)_PCA_06

协方差为0,两个随机变量不一定相互独立,而两个随机变量相互独立,协方差一定为0。

维度灾难

简单的说就是变量的个数多,如果变量个数增加,随之需要估计的参数个数也在增加

主成分分析(PCA)

PCA是一种降维方法,常用于对高维数据集作降维,它会将一个大的变量集合转化为更少的变量集合,同时保留大的变量集合中的大部分信息。

主成分分析的几个步骤如下:

一、标准化

为了让每一个维度对分析的结果造成同样的影响,我们需要对连续的初始变量的范围作标准化。

具体一点说就是因为我们后续的结果对数据的方差十分敏感,取值范围较大的维度会比相对较小的维度造成更大的影响(例如一个在1-100之间变化的维度对结果的影响,比一个0-1的更大),会导致一个偏差较大的结果,所以,将数据转化到相似的范围可以预防这个问题。

数据标准化的方法如下

主成分分析(PCA)_方差_07

(其中standard deviation表示标准差)

二、计算协方差矩阵

这一步是为了理解数据集中的变量是如何从平均值变化过来的,同时可以查看不同的特征之间又有什么关系,此时我们要计算协方差矩阵。

协方差矩阵是一个P*P的对称矩阵(P是维度的数量)它涵盖了数据集中所有元组对初始值的协方差,例如一个拥有三个变量x,y,z和三个维度的数据集,协方差矩阵将是一个3*3的矩阵(协方差的计算方法及含义见上文):

主成分分析(PCA)_协方差_08

由于变量与自身的协方差等于他的方差,在主对角线上我们已将计算出了各个变量初始值的方差。协方差矩阵的每一个元组关于主对角线对称,这意味着上三角部分和下三角部分是相等的。

三、计算出主成分

主成分是什么

主成分是一个新的变量,他是初始变量的线性组合。新的变量之间是不相关的,第一个主成分中包含了初始变量的大部分信息,是初始变量的压缩和提取。

例如:虽然在一个 10 维的数据集中我们算出了 10 个主成分,但大部分的信息都会被压缩在第一主成分中,剩下的大部分信息又被压缩到第二主成分中,以此类推,我们得到了下面这张图:

主成分分析(PCA)_主成分分析_09

从理论方面来说,主成分代表着蕴含 最大方差的方向。对于主成分来说,变量的方差越大,空间中点就越分散,空间中的点越分散,那么它包含的信息就越多。简单的讲,主成分就是一条更好的阐述数据信息的新坐标轴,因此我们更容易从中观测到差异。

怎么计算主成分

有多少个变量就有多少个主成分,对于第一主成分来说沿着对应的坐标轴变化意味着有最大的方差,例如用下列的散点图表示:

主成分分析(PCA)_方差_10

你能直接猜测出主成分应该是沿着哪一个方向吗,大致是图中紫色线的方向。(因为它穿过了原点,而且数据映射在这条线上后,有着最大方差(各点与原点距离的均方))

第二个主成分也是这样计算的,它与第一主成分不相关(即为互相垂直)表示了下一个最大方差的方向。

重复上面的步骤,直到我们从原始数据中计算出所有的主成分。

特征值和特征向量

特征值和特征向量通常成对出现,每一个特征向量对应一个特征值,他们各自的数量相等,等于原始数据的维度,例如有三个变量就会有三个特征向量与三个特征值。

协方差矩阵的特征向量其实就是一些列的坐标轴,将数据映射到这些坐标轴之后,我们将会得到最大的方差(这意味着更多的信息),他们就是我们要求的主成分,特征值其实就是特征向量的系数,它代表了每个特征向量包含了多少信息量。

四、主成分向量

主成分向量仅仅是一个矩阵,里面有那些我们决定保留的特征向量。这是数据降维的第一步,我们只是要在n个变量中保留p个特征向量(成分)我们把数据映射到新的坐标轴上时,最后数据将只有p个维度。

五、将数据映射到新的主成分坐标系中

我们将使用那些从协方差矩阵中算出来的特征向量形成主成分矩阵,并将原始数据映射到主成分矩阵对应的坐标轴上 —— 这就叫做主成分分析。具体的做法便是用原数据矩阵的转置乘以主成分矩阵的转置。

PCA的步骤

1)将原始数据按列组成n行m列矩阵X
2)将X的每一行(代表一个属性字段)进行零均值化,即减去这一行的均值
3)求出协方差矩阵
4)求出协方差矩阵的特征值及对应的特征向量
5)将特征向量按对应特征值大小从上到下按行排列成矩阵,取前k行组成矩阵P
6)Y=PX即为降维到k维后的数据

标签:分析,变量,特征向量,方差,矩阵,协方差,成分,PCA
From: https://blog.51cto.com/u_15969421/6076766

相关文章

  • 浅谈医院低压供配电系统的故障分析与预防
    摘要:医院是重要的用电场所,要求低压供配电系统稳定可靠运行,但在实际工作中,也会出现一些的问题,一旦医院低压供配电系统出现故障,就会发生事故,而故障无法处理,就会导致医院用电设......
  • 浅谈智能照明控制系统应用与节能分析
     摘要:   文章分析了在现代建筑工程中智能照明控制系统所具有的优越性,并对如何解决该技术在实际应用中遇到的问题提出了看法与建议。关键词:智能照明控制系统应用节......
  • 2022年网络安全政策态势分析与2023年立法趋势
    近日,公安部第三研究所网络安全法律研究中心与360集团法务中心联合共同发布了《全球网络安全政策法律发展年度报告(2022)》。《报告》概览2022年全球网络安全形势与政策法律......
  • B站基于ClickHouse的海量用户行为分析应用实践
    一、背景介绍 数据驱动理念已被各行各业所熟知,核心环节包括数据采集、埋点规划、数据建模、数据分析和指标体系构建。在用户行为数据领域,对常见的多维数据......
  • jvm内存泄露分析方法
         场景:使用监控工具发现内存使用不断增加,则有可能存在内存泄露,内存泄露可以使用jmap工具进行分析。jmap命令可以获得运行中的jvm的堆的快照,从而可以离线分析堆......
  • epoll分析
    1.什么是epollepoll是当前在Linux下开发大规模并发网络程序的热门人选,epoll在Linux2.6内核中正式引入,和select相似,都是I/O多路复用(IOmultiplexing)技术,按照man手册的......
  • misc之流量分析------2023.2.21
    一,wireshark的使用1,数据包筛选点击分析--->显示过滤器显示过滤器可以用很多不同的参数来作为匹配标准,比如IP地址、协议、端口号、某些协议头部的参数。此外,用户也用......
  • Python数据分析pandas之dataframe初识
    Python数据分析pandas之dataframe初识声明与简介pandas是一个基于python的、快速的、高效、灵活、易用的开源的数据处理、分析包(工具)。。pandas构建在numpy之上,它通过Data......
  • ChatGPT调研分析与应用场域结合构想
    作者:京东科技胡骏摘要1.ChatGPT调研分析2022年11月30日,ChatGPT横空出世,在全球范围内形成了热烈的讨论。根据Similarweb的数据,今年1月,平均每天约有1300万独立访客使用......
  • PHP 进行支付宝开发中return_url和notify_url的区别分析
    在支付宝处理业务中return_url,notify_url是返回些什么状态呢,我们要根据它来做一些处理就必须了解return_url,notify_url的区别,下面我就来给大家介绍;一、问题描述:我在......