专栏首页优雅R「Workshop」第三十九期 主成分分析

「Workshop」第三十九期 主成分分析

主成分分析 Principal Component Analysis

定义

百度:

通过正交变换将一组可能存在相关性的变量转换为一组线性不相关的变量,转换后的这组变量被称为主成分。换句话来说是,当变量较多时,有些变量所反应的信息是重复的,主成分分析可以将重复信息的变量删去,尽量保留下相关性不高的变量,这些变量能更好的反应数据的特征。多用于数据的降维。

wiki:

PCA is used in exploratory data analysis and for making predictive models. It is commonly used for dimensionality reduction by projecting each data point onto only the first few principal components to obtain lower-dimensional data while preserving as much of the data's variation as possible. The first principal component can equivalently be defined as a direction thatmaximizes the variance of the projected data. The

i^{th}

principal component can be taken as a direction orthogonal to the first

i-1

principal components that maximizes the variance of the projected data.

更好的描述:

PCA是将n维特征映射到k维上,k维是全新的正交特征,将原有的n维特征的基础上重新构造成k维特征。它的工作就是先找到一个坐标轴,是全部数据映射到这个坐标轴的方差最大,让后再取一个与第一个坐标轴垂直并且方差做大的坐标轴,依次直接取到n维。

数据降维理解的简单例子

比如在一堆运动员中,我们想确定这个运动员是谁,这些信息中,相较于国籍,性别,年龄这些非重要的因素,他们的专业项目更有利于我们来确定他们的是谁,所以说这算是主成分之一。

计算原理

图片来源:StatQuest系列视频

首先是以这三组不同的数据为例,分别可以用一维,二维,三维的坐标系来展示出来,我们可以根据它们的分布来判断每组数据的状态。i.e.

但是对于四维或更多的数据,我们不能很好的直观的展示出数据的数据的特征,所以需要进行降维的处理。

对于首先我们还是使用2维的数据,这样方便理解。

中心化:我们求出这个数据中横纵坐标的均值,并将它所对应的点定为原点。接下来我们要做的是拟合一条直线,这条直线要满足所有点到该直线的距离最短,也就是最小二乘法来确定。

那么为啥么要用这个距离最短来拟合这条曲线呢?下面有一个很好的例子:

这种情况是各点恰巧再同一条直线上,当我们移动坐标系到这条直线上时,仅由数据的横坐标就可以反应数据的整体情况。

图片

因为y轴为零,所以它对数据没有影响,并且这个横坐标也改为了房价和面积这两个综合因素。

话题回来,当不是这种极端情况的时候,所有数据点不是通过同一条直线的时候,此时需要拟合这条直线,而我们的目的是让另一个因素对数据的影响量最小,所以我们要取这个距离的最小值。

图片

由于勾股定理我们可以知道,求垂直距离的最小值,也即是求该点投影到这条直线的到原点距离平方的最大值。

拟合出的这条曲线我们成为PC1(主成分1)。

图片

通过上述的的方式我们就完成了这个数据的主成分分析。这主要是从一步步绘图的层面来进行的。

另一方面我们可以从向量的角度来看一下怎样通过主成分分析给它降维:

这个主要参考的是知乎的这个内容:马同学

#参考内容

https://www.zhihu.com/question/41120789/answer/481966094

https://www.youtube.com/watch?v=FgakZw6K1QQ&list=PLQbq_FuiHHA2cTHpDhaiLRwJLh6CFOGMh&index=2

本文分享自微信公众号 - 优雅R(elegant-r),作者:王光帅

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2021-04-20

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 「Workshop」第三期:生存分析

    生存函数:个体存活到某个时间点t的概率,或者说到时间t为止,感兴趣的事件(T)没有发生的概率:

    王诗翔呀
  • 「Workshop」第十七期 奇异值分解

    奇异值分解(Singular Value Decomposition,以下简称SVD)是在机器学习领域广泛应用的算法,它不光可以用于降维算法中的特征分解,还可以...

    王诗翔呀
  • 「Workshop」第四十期 常用的差异分析方法

    如今在生物学研究中,差异分析越来越普遍,也有许多做差异分析的方法可供选择。但是在实际应用中,大多数人不知道该使用哪种方法来处理自己的数据,所以今天我就来介绍下目...

    王诗翔呀
  • 主成分分析「 三维图 」

    主成分分析(Principal Component Analysis,PCA),是一种降维方法,也是在文章发表中常见的用于显示样本与样本之间差异性的计算工具。在...

    用户6317549
  • R语言数据分析与挖掘(第六章):主成分分析(1)——主成分分析概论

    在许多领域的研究与应用中,往往需要对反映事物的多个变量进行大量的观测,收集大量数据以便进行分析寻找规律。多变量大样本无疑会为研究和应用提供了丰富的信息,但也在一...

    DoubleHelix
  • 图说 | 刚刚结束的AI盛会NIPS 2017上,你需要知道的所有细节

    机器之心
  • nodejs源码分析第十九章 -- udp模块

    udp不是面向连接的协议,所以使用上会比tcp简单,但是作为传输层的协议,udp虽然没有tcp那么复杂,但是他和tcp一样,使用四元组来标记通信的双方(单播的情...

    theanarkh
  • 【犀牛鸟·视野】现场报道 | SIGGRAPH Asia 2017 (DAY 1):AR/VR让空间变得更智能

    SIGGRAPH(Special Interest Group for Computer GRAPHICS)是由ACM SIGGRAPH(美国计算机协会计算机图...

    腾讯高校合作
  • CS229 课程笔记之十一:主成分分析

    本章我们将介绍另一种降维方法:「主成分分析」法(PCA)。该方法更加直接,只需要特征向量的计算,不需要 EM 求解。

    口仆
  • 【V课堂】R语言十八讲(十七)—主成分分析

    理解主成分分析这个模型前,可能需要一定的线性代数的知识,当然若没有基本也能看下去,只是可能比较困弄清楚,但这篇短文会尽可能给你的写得浅显易懂,不涉及太多公式推导...

    小莹莹
  • 「Workshop」第一期:我理解的(生信)数据分析核心基础

    我在简书和公众号上已经分享了很多之前学习的数据分析笔记和文章,覆盖了各方面的内容,数据分析方面以后不会再个人分享特别基础的东西了。接下来我会让师弟师妹们定期分享...

    王诗翔呀
  • R in action读书笔记(19)第十四章 主成分和因子分析

    主成分分析(PCA)是一种数据降维技巧,它能将大量相关变量转化为一组很少的不相关变量,这些无关变量称为主成分。探索性因子分析(EFA)是一系列用来发现一组变量的...

    统计学家
  • 动态 | KDD首推Health Day,探讨如何用AI、数据挖掘改变未来医疗 | KDD 2018

    伦敦当地时间8月20日, ACM SIGKDD (知识发现与数据挖掘会议)正式在伦敦开幕,AI 科技评论也来到了现场为大家报道现场的盛况。

    AI科技评论
  • 《刑法修正案(九)》:对网络黑产伸出重拳

    2015年8月29日下午,第十二届人大常务委员会通过了刑法修正案(九),全称《中华人民共和国刑法修正案(九)》,自11月1日起正式施行。 关于执行刑法确定罪名的...

    FB客服
  • 【数据分析 R语言实战】学习笔记 第十章(上) 主成分分析与R实现

    主成分分析试图在保证数据信息丢失最少的原则下,将多变量的截面数据集进行最佳综合简化,简单地说就是根据多个指标之间的联系,选出它们的某种线性组合,从而化为少数几个...

    统计学家
  • 现场报道 | SIGGRAPH Asia 2017 (DAY 1):AI让空间更智能

    SIGGRAPH(Special Interest Group for Computer GRAPHICS)是计算机图形和交互方向的一个顶会,由于参加人数众多,...

    腾讯多媒体实验室
  • 学界 | 跟着大神回顾ACL 2018:大会亮点一览

    很高兴看到很多论文都在从方法上研究现有模型以及它们捕获的内容,而不是一直在引入更新的模型。进行这样的研究最常用的办法是自动创建一个侧重于泛化行为的某个特定方面的...

    机器之心
  • 妙招 I 只会Java,老板再也不担心我不懂区块链开发了!

    智能合约看上去就是一段计算机执行程序,满足可准确自动执行即可,而基于区块链技术的智能合约不仅可以发挥智能合约在成本效率方面的优势,而且可以避免恶意行为对合约正常...

    区块链大本营
  • 吃饺子不如撸代码!今年冬至 workshop 干货都在这了

    当然有啦!12月22日,中国专业IT社区CSDN在中关村创业大街为广大开发者带来了一场精彩绝伦的区块链实战开发Workshop,本次活动作为CSDN Block...

    区块链大本营

扫码关注云+社区

领取腾讯云代金券