数据分析学习总结笔记03:数据降维经典方法

  • 1. 数据降维概述
  • 2. 数据降维的应用
  • 3. 数据降维经典方法
    • 3.1 主成分分析(PCA)
      • 3.1.1 PCA概述
      • 3.1.2 PCA原理
      • 3.1.3 PCA & LDA
      • 3.1.4 基于标准化变量的主成分分析
      • 3.1.5 主成分个数的选择
      • 3.1.6 主成分分析的用途
      • 3.1.7 PCA实现
    • 3.2 因子分析(Factor Analysis)
      • 3.2.1 因子分析概述
      • 3.2.2 因子分析原理
      • 3.2.3 因子分析&主成分分析
      • 3.2.4 因子分析的应用
      • 3.2.5 因子分析实现

1. 数据降维概述

用少数几个新的变量代替原有变量,合并重复信息,但不损失重要信息。

2. 数据降维的应用

  • 构建综合指标:主成分分析主要用于构建综合指标来区分目标群体,例如构建顾客各种消费行为的综合指标来进行客户分级。
  • 数据可视化:当原始变量维度很高时,可以采用第一、第二主成分散点图来直观表述数据特征,例如数据聚类信息等。
  • 变量压缩、重构:由“重要的”主成分重构原始变量,可以去除原始数据中冗余的噪音,突出数据的特征,例如人脸识别。

3. 数据降维经典方法

3.1 主成分分析(PCA)

3.1.1 PCA概述

主成分分析(Principal Component Analysis, PCA)是最常用的一种降维方法,通常用于高维数据集的探索与可视化,还可以用作数据压缩和预处理等
PCA可以把具有相关性的高维变量合成为线性无关的低维变量,成为主成分。主成分能够尽可能保留原始数据的信息。举例,基于学生的各科成绩,建立一个(或几个)度量学生考试表现的综合指标,以明显地评价学生的学习情况。
PCA将涉及到以下几个统计学概念:

  • 方差:是各个样本和样本均值的差的平方和的均值,用来度量一组数据的离散程度。
  • 协方差:用于度量两个变量之间的线性相关性程度,若两个变量的协方差为0,则可认为二者线性无关。协方差矩阵则是由变量的协方差值构成的矩阵(对称阵)。
  • 特征向量:矩阵的特征向量是描述数据集结构的非零向量,并满足以下公式:

    其中,A为方阵,v是特征向量,λ是特征值。

3.1.2 PCA原理

矩阵的主成分就是其协方差矩阵对应的特征向量,按照对应的特征值大小进行排序,最大的特征值就是第一主成分,其次是第二主成分,以此类推。即,主成分按照“方差贡献度”依次导出。

其算法过程如下所示:

3.1.3 PCA & LDA

  • 线性判别分析(LDA)寻求最大化两个或多个群体之间距离的线性组合。
  • 主成分分析(PCA)中只有一个群体,目标是找到能够使这个群体中个体之间分得最开的变量组合。

3.1.4 基于标准化变量的主成分分析

由于各个变量的方差不一定相同,若存在较大差异,则会对主成分分析造成较大影响,此时可以通过对变量进行标准化处理后再进行主成分分析。

  • 基于相关系数矩阵的主成分分析不受度量单位的影响。
  • 如果变量数值差异很大,推荐进行标准化来获得一个较平衡的数据集。

3.1.5 主成分个数的选择

  • 百分比截点法/累积贡献率:使用一定数目的的主成分来反映足够比例(一般采用70%以上)的总方差。
  • 平均截点法/特征根:使用特征值大于平均特征值的主成分(一般选取特征根≥1的主成分)。对使用相关矩阵做的主成分分析来说,这个平均值就为1。
  • 碎石图(Scree graph):画出特征值的散点图从图上寻找能够区分“大特征值”和“小特征值”的分界点。实际过程中需要结合经验以及对业务的理解进行选择。

3.1.6 主成分分析的用途

主成分分析的用途主要是主成分评价和主成分回归:

  • 主成分评价:指在进行多指标综合评价时,使用主成分分析方法进行信息的浓缩,并解决权重的确定等问题。优点:消除了各指标不同量纲产生的影响;对于相互之间有相关性的指标,不存在信息的重叠。
  • 主成分回归:指将计算出的主成分作为新的自变量,与目标变量做多元回归分析。优点:主要解决自变量间的共线性问题,避免回归系数的不合理现象,揭示变量间的真实关系。
    一般情况下主成分用于探索性分析,很少单独使用,用主成分来分析数据可以让我们对数据有一个大致了解。

3.1.7 PCA实现

主成分分析可以通过许多工具实现,如SPSS、R语言等。本文主要介绍利用Python进行主成分分析。

  • sklearn中主成分分析
    在sklearn库中,可以使用sklearn.decomposition.PCA加载PCA进行降维,主要参数有:

    • n_components: 指定主成分的个数,即降维后数据的维度。
    • svd_solver: 设置特征值分解的方法,默认为“auto”,其他可选有“full”、“arpack”、“randomized”。

3.2 因子分析(Factor Analysis)

3.2.1 因子分析概述

因子分析是指研究从变量群中提取共性因子的统计技术。最早由英国心理学家C.E.斯皮尔曼提出。他发现学生的各科成绩之间存在着一定的相关性,一科成绩好的学生,往往其他各科成绩也比较好,从而推想是否存在某些潜在的共性因子,或称某些一般智力条件影响着学生的学习成绩。因子分析可在许多变量中找出隐藏的具有代表性的因子。将相同本质的变量归入一个因子,可减少变量的数目,还可检验变量间关系的假设1

3.2.2 因子分析原理

根据变量间相关性的大小把变量分组,使得同组内的变量之间的相关性较高,并用同一个因子来代表这个组的变量;而不同组的变量相关性较低。

  • 探索性因子分析是去探讨一组可测变量的特征、性质和内部的关联性,并揭示有多少主要的潜在因子可能影响这些可测变量。仅仅用于研究初期对原始数据的探讨。其结果一般不需要进行统计检验。
  • 确定性因子分析:在探索性因子分析的基础上进一步确定每个潜在因子对可测变量的影响程度,以及了解这些潜在因子之间的关联程度。确定性地描述观察变量与潜在因子之间的关系。其结果具有有效的实际意义,需要进行统计检验。

3.2.3 因子分析&主成分分析

  • 因子分析与主成分分析的联系:两种方法的出发点都是变量的相关系数矩阵,在损失较少信息的前提下,把多个变量综合成少数几个综合变量来研究总体各方面信息的多元统计方法,且这少数几个综合变量所代表的信息不能重叠,即变量间不相关。若采用主成分法提取公因子,主成分分析和因子分析就基本等价。
  • 因子分析与主成分分析的区别

    (1)因子分析是提取k个支配原始变量的公共因子和1个特殊因子;主成分分析是将m个原始变量提取k个互不相关的主成分。
    (2)因子分析需要经过旋转;主成分分析不需要旋转。
    (3)因子分析是统计模型,某些因子模型可以得到假设检验的;主成分分析实质上是线性变换,无假设检验。
    (4)因子分析是把变量表示成各公因子的线性组合;主成分分析是把主成分表示成各变量的线性组合。
    (5)因子分析提取的公因子比主成分分析提取的主成分更具解释性。主成分分析不考虑观测变量的度量误差,而因子分析的潜在变量则校正了误差,而且还进行了因子旋转,使得分析结论更真实。
    (6)两者的解释重点不同。因子分析把重点放在解释各变量之间的协方差;主成分分析重点在于解释各变量的总方差。

3.2.4 因子分析的应用

在市场调研中,研究人员关心的是一些研究指标的集成或者组合,这些概念通常是通过等级评分问题来测量的,如利用李克特量表取得的变量。每一个指标的集合(或一组相关联的指标)就是一个因子,指标概念等级得分就是因子得分。
因子分析在市场调研中有着广泛的应用,主要包括:
(1)消费者习惯和态度研究(U&A)
(2)品牌形象和特性研究
(3)服务质量调查
(4)个性测试
(5)形象调查
(6)市场划分识别
(7)顾客、产品和行为分类
在实际应用中,通过因子得分可以得出不同因子的重要性指标,而管理者则可根据这些指标的重要性来决定首先要解决的市场问题或产品问题。

3.2.5 因子分析实现

SPSS:分析-降维-因子分析

相关笔记:

  1. Python相关实用技巧01:安装Python库超实用方法,轻松告别失败!
  2. Python相关实用技巧02:Python2和Python3的区别
  3. Python相关实用技巧03:14个对数据科学最有用的Python库
  4. Python相关实用技巧04:网络爬虫之Scrapy框架及案例分析
  5. Python相关实用技巧05:yield关键字的使用
  6. Scrapy爬虫小技巧01:轻松获取cookies
  7. Scrapy爬虫小技巧02:HTTP status code is not handled or not allowed的解决方法
  8. 数据分析学习总结笔记01:情感分析
  9. 数据分析学习总结笔记02:聚类分析及其R语言实现
  10. 数据分析学习总结笔记03:数据降维经典方法
  11. 数据分析学习总结笔记04:异常值处理
  12. 数据分析学习总结笔记05:缺失值分析及处理
  13. 数据分析学习总结笔记06:T检验的原理和步骤
  14. 数据分析学习总结笔记07:方差分析
  15. 数据分析学习总结笔记07:回归分析概述
  16. 数据分析学习总结笔记08:数据分类典型方法及其R语言实现
  17. 数据分析学习总结笔记09:文本分析
  18. 数据分析学习总结笔记10:网络分析

本文主要根据个人学习,并搜集部分网络上的优质资源总结而成,如有不足之处敬请谅解,欢迎批评指正、交流学习!


  1. 因子分析-百度百科 ↩︎

数据分析学习总结笔记03:数据降维经典方法相关推荐

  1. 数据分析学习总结笔记15:时间序列分析及Python实现

    文章目录 1 引言 2 时间序列的特性 2.1 自相关 2.2 季节性 2.3 平稳性 3 时间序列建模 3.1 移动平均法 3.2 指数平滑法 3.3 双指数平滑法 3.4 三重指数平滑法 3.5 ...

  2. 数据分析学习总结笔记16:NLP自然语言处理与文本探索性分析

    文章目录 1 引言 2 数据集 3 文本统计信息分析 4 Ngram模型探索 5 基于pyLDAvis的主题模型探索 6 绘制词云图 7 情感分析 7.1 TextBlob 7.2 Vader Sen ...

  3. 数据分析学习总结笔记17:文本分析入门案例实战

    文章目录 1 数据准备 2 分词 3 统计词频 4 词云 5 提取特征 6 用sklearn进行训练 1 数据准备 数据样例如下, 数据总量为7.7万+: 本节通过一个实战的例子来展示文本分析的最简单 ...

  4. 数据分析学习总结笔记05:缺失值分析及处理

    数据分析学习总结笔记05:缺失值分析及处理 1 缺失值概念 2 缺失值分析的类别 2.1 按数据缺失形式划分 2.2 按缺失机制与方式划分 3 缺失值的处理方法 3.1 删除缺失值 3.2 缺失值替代 ...

  5. 数据分析学习总结笔记10:网络分析

    数据分析学习总结笔记10:网络分析 1 网络分析概述 1.1 三大社会科学理论 1.2 网络分析内容 2 网络的基本概念与特征量 2.1 网络的发展 2.2 网络的表达形式 2.3 网络基本概念与特征 ...

  6. 大数据之路读书笔记-03数据同步

    大数据之路读书笔记-03数据同步 如第一章所述,我们将数据采集分为日志采集和数据库数据同步两部分.数据同步技术更通用的含义是不同系统间的数据流转,有多种不同的应用场景.主数据库与备份数据库之间的数据备 ...

  7. mysql没法修改数据_MySQL学习笔记之数据的增、删、改实现方法

    本文实例讲述了MySQL学习笔记之数据的增.删.改实现方法.分享给大家供大家参考,具体如下: 一.增加数据 插入代码格式: insert into 表明 [列名-] values (值-) creat ...

  8. DAMA数据治理学习笔记-大数据和数据科学

    大数据和数据科学 定义 对多种不同类型的数据进行收集(大数据)和分析(数据科学.分析.可视化),以此来为在分析的初始阶段未知的问题找到答案 目标 发现数据和业务的联系 支持将数据源迭代集成到企业中 发 ...

  9. matlab中清洗数据,个人学习笔记:数据清理

    所用的书是Matlab data analysis.学习的结果跟大家分享一下.其中所用的数据都可以在matlab中直接加载. 分析数据的第一部是数据清理.首先可以将数据放在图上,看数据是否存在某些特征 ...

最新文章

  1. BZOJ2631tree——LCT
  2. Idea使用Lombok简化实体类代码
  3. 【Binder 机制】AIDL 分析 ( 创建 AIDL 文件 | 创建 Parcelable 类 | AIDL 中使用 Parcelable 类 | 编译工程生成 AIDL 对应的Java源文件 )
  4. MyBatis简介——半自动的持久化层框架(SQL映射框架)|| 支持定制化sql
  5. Android中利用正则表达式验证手机号是否合法
  6. php 将一个字符串转换成数组,PHP将一个字符串转换成数组
  7. 数理统计-5.4 三大抽样分布
  8. vb 垂直滚动条定位
  9. 如何使用 IntelliJ IDEA 2017 配置PHP开发环境 及项目搭建
  10. LeetCode题解-23 合并K个排序链表 Hard
  11. 谁有能锁屏不崩溃的录屏软件给推荐个。。。。
  12. 【车间调度】基于matlab免疫遗传算法求解多目标生产调度问题【含Matlab源码 710期】
  13. 软件测试用例朋友圈发表功能,微信发朋友圈测试用例
  14. python--模拟掷骰子游戏
  15. 这么理解线程生命周期,是不是很简单?
  16. 至强服务器性能排行,至强cpu天梯图,至强服务器cpu排行-
  17. 搭建并实现智能DNS
  18. 【Python爬虫】之 抓取“微医”上的医生信息
  19. python写的简单游戏-1小球碰壁弹跳
  20. 孔子最得意的弟子颜回不幸英年早逝

热门文章

  1. layui下拉框监听点击
  2. 高级UI- 属性动画炫酷动画案例+淘宝动画+源码解析+策略模式使用
  3. 注释将warning当成错误的代码
  4. webpack分离css单独打包
  5. 20221224英语学习
  6. RackSpace推开源云计算平台OpenStack震动业界
  7. 看过几千封简历的人,写点如何网上投简历的心得吧
  8. 2021-2027全球与中国登陆页面生成软件市场现状及未来发展趋势
  9. 火遍半边天的狼人杀APP只剩“曾经”,剧本杀APP成功上位?
  10. gorrilla Context包深入学习