原理

多元统计分析处理的是多变量(多指标)问题。由于变量较多,增加了分析的复杂性,但在实际问题中,变量之间可能存在一定的相关性。多变量中可能存在信息的重叠。人们希望用较少的变量来代替原来较多的变量,这种代替可以反映原来多个变量的大部分信息,这实际上是一种“降维”的思想。

主成分研究如何通过少数几个主成分(principal component)来解释多个变量间的内部结构。即从原始变量中导出少数几个主分量,使它们尽可能多地保留原始变量的信息,且彼此间互不相关。

数学上的处理是将原始的p个变量作线性组合,作为新的变量 设p个原始变量为,新的变量(即主成分)为,主成分和原始变量之间的关系表示为

第一个主成分:在统计上,主成分所代表的原始变量的信息用其方差来表示。因此,所选择的第一个主成分是所有主成分中的方差最大者,即Var()最大。

依次选择:如果第一个主成分不足以代表原来的变量,在考虑选择第二个主成分,依次类推。(有序) 。

约束条件:这些主成分互不相关,且方差递减var()>var()…var()。

一般要求所选主成分的方差总和占全部方差的80%以上,一般来说,主成分的累计方差贡献率达到80%以上的前几个主成分,都可以选作最后的主成分。

一般情况下,当特征根小于1时,就不再选作主成分了,因为该主成分的解释力度还不如直接用原始变量解的释力度大。

主成分分析步骤:

(1)计算相关系数矩阵:根据标准化后的数据矩阵求出相关系数矩阵R。

(2)计算特征值与特征向量:求出相关系数(协方差)矩阵R的特征根和特征向量,并按从大到小的顺序排列,,记为

(3)确定主成分:特征值越大,则对应的特征向量表示的主成分的方差越大,

(4)计算主成分贡献率和累计贡献率:对于第k个主成分,其对方差的贡献率为

(5)计算主成分载荷:表中的每一列表示一个主成分与原来变量X的相关系数。这个系数越大,说明主成分对该变量的代表性就越大。各主成分正交!

(6)根据主成分分析模型和主成分载荷,可以得到主成分与原来变量之间的线性组合表达式。注意表达式中的x不是原始变量,而是标准化变量!

代码实现

# 规范化
from sklearn.preprocessing import scale
data['Age'] = scale(data['Age'])
data['Fare'] = scale(data['Fare'])
data.head()

#取出所有数值变量
data_num = pd.DataFrame()
for col in data.columns:if data[col].dtype in ['int64','float64']: data_num[col] = data[col]
data_num

# 数据归约
# PCA主成分分析
from sklearn.decomposition import PCA#实例化模型
pca = PCA()
#训练并返回结果
result = pca.fit_transform(data_num.iloc[:,1:8])
#变为dataframe格式
data_result = pd.DataFrame(result)
data_result

#查看降维后主成分的方差比率 -可以根据此处的方差比率指定参数n_components
pca.explained_variance_ratio_

# 降到三个特征值
pca3 = PCA(n_components=3)
pd.DataFrame(pca3.fit_transform(data_num.iloc[:,1:]))

#查看降维后主成分与源数据的对应关系
pd.DataFrame(pca3.components_.T)

数据归约——主成分分析PCA相关推荐

  1. 【视频】主成分分析PCA降维方法和R语言分析葡萄酒可视化实例|数据分享

    最近我们被客户要求撰写关于主成分分析PCA的研究报告,包括一些图形和统计输出.降维技术之一是主成分分析 (PCA) 算法,该算法将可能相关变量的一组观察值转换为一组线性不相关变量.在本文中,我们将讨论 ...

  2. R语言主成分分析PCA谱分解、奇异值分解预测分析运动员表现数据和降维可视化

    最近我们被客户要求撰写关于主成分分析PCA的研究报告,包括一些图形和统计输出. 本文描述了如何 使用R执行主成分分析 ( PCA ).您将学习如何 使用 PCA预测 新的个体和变量坐标.我们还将提供  ...

  3. 【python数据分析】数据建模之 PCA主成分分析

    PCA主成分分析:最广泛无监督算法 + 基础的降维算法. 通过线性变换将原始数据变换为一组各维度线性无关的表示,用于提取数据的主要特征分量 → 高维数据的降维 PCA主成分分析: 二维数据降维 / 多 ...

  4. 数据降维:PCA主成分分析降维示例及函数参数解释

    文章目录 主成分分析(PCA)介绍 PCA转化步骤 PCA示例 sklearn中的PCA PCA优缺点 优点 缺点 主成分分析(PCA)介绍 PCA也被叫做卡尔胡宁-勒夫转换(KLT),是一种用户在高 ...

  5. 数据降维方法(主成分分析PCA、线性判别分析LDA)

    数据降维 1.特征变换 1.1.特征提取 2.维数缩减 2.1.维度灾难 2.2.维度缩减 2.3.线性降维法 2.3.1.主成分分析(PCA) 2.3.1.1.数学分析 2.3.1.2.算法步骤 2 ...

  6. 数据挖掘(2.4)--数据归约和变换

    目录 1.数据归约 1.1数据立方体聚合 1.2特征选择 1.3数据压缩 1.4其他数据归约方法 回归分析 直方图 聚类 简单随机采样(SAS) 2.数据离散化 2.1基于信息增益的离散化 2.2基于 ...

  7. 主成分分析(PCA)简介

    主成分分析(Principal Components Analysis, PCA)是一个简单的机器学习算法,可以通过基础的线性代数知识推导. 假设在Rn空间中我们有m个点{x(1),-,x(m)},我 ...

  8. 读文献先读图——主成分分析 PCA 图

    上周五彩斑斓的气泡图 有让你眼花缭乱吗? 本周,化繁为简的PCA图 你值得拥有!  数据分析| 科研制图﹒PCA 图 关键词:主成分分析.降维 1665 年的鼠疫 牛顿停课在家提出了万有引力 ; 18 ...

  9. 223.主成分分析PCA

    主成分分析 PCA 本节作者:刘华,中国科学技术大学 版本1.0.3,更新日期:2020年6月18日 什么是PCA(Principal Component Analysis) 相关背景 在许多领域的研 ...

最新文章

  1. TypeScript interface
  2. Day 10: PhoneGap —— 开发手机应用如此简单
  3. jdbc详解:1、创建数据库connection连接
  4. html语言中项目列表的嵌套,做HTML嵌套列表的正确方法?
  5. arm 交叉编译找不到so_嵌入式杂谈之交叉编译
  6. 认真聊一下MySQL索引的底层实现!
  7. urllib库的学习-发起请求urlopen-下载资源urlretrleve
  8. System Center 2012各组件介绍
  9. java的main方法中的String[]args
  10. 如何让Html页面的导航固定在浏览器顶部
  11. 车载前视摄像头学习笔记 ———— 环境影响
  12. linux/windows对应的软件
  13. THREE.JS中常用的3种材质
  14. java实现pdf文件的电子签字+盖章+二维码+水印+PDF文件加密的解决方案
  15. 色盲悖论_关于被色盲
  16. 以色列技术!Amimon无线WHDI技术解析
  17. 阿里云云服务器ECS简单使用
  18. 智能灯杆网关有什么必备功能
  19. puppy linux wifi6,Puppy官网
  20. 九宫格,拼图游戏完整源码

热门文章

  1. LabView程序上传systemlink
  2. mac登陆ESC云服务器
  3. python扩展屏幕截图_Python实现屏幕截图的两种方式
  4. 计算机软件开发工程师简历,net软件工程师的简历范文
  5. mcinabox运行库下载安装_mcinabox运行库
  6. lda主题模型python实现篇_基于LDA主题模型的短文本分类
  7. 成功解决This application failed to start because no Qt platform plugin could be initialized.
  8. 物理机centos7配置静态IP和网关
  9. 编程推荐书目管理(PDF资源)
  10. 自动化运维---ansible常用模块之文件操作(findreplace模块)