数据分析学习总结笔记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.斯皮尔曼提出。他发现学生的各科成绩之间存在着一定的相关性,一科成绩好的学生,往往其他各科成绩也比较好,从而推想是否存在某些潜在的共性因子,或称某些一般智力条件影响着学生的学习成绩。因子分析可在许多变量中找出隐藏的具有代表性的因子。将相同本质的变量归入一个因子,可减少变量的数目,还可检验变量间关系的假设。
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:分析-降维-因子分析
相关笔记:
- Python相关实用技巧01:安装Python库超实用方法,轻松告别失败!
- Python相关实用技巧02:Python2和Python3的区别
- Python相关实用技巧03:14个对数据科学最有用的Python库
- Python相关实用技巧04:网络爬虫之Scrapy框架及案例分析
- Python相关实用技巧05:yield关键字的使用
- Scrapy爬虫小技巧01:轻松获取cookies
- Scrapy爬虫小技巧02:HTTP status code is not handled or not allowed的解决方法
- 数据分析学习总结笔记01:情感分析
- 数据分析学习总结笔记02:聚类分析及其R语言实现
- 数据分析学习总结笔记03:数据降维经典方法
- 数据分析学习总结笔记04:异常值处理
- 数据分析学习总结笔记05:缺失值分析及处理
- 数据分析学习总结笔记06:T检验的原理和步骤
- 数据分析学习总结笔记07:方差分析
- 数据分析学习总结笔记07:回归分析概述
- 数据分析学习总结笔记08:数据分类典型方法及其R语言实现
- 数据分析学习总结笔记09:文本分析
- 数据分析学习总结笔记10:网络分析
本文主要根据个人学习,并搜集部分网络上的优质资源总结而成,如有不足之处敬请谅解,欢迎批评指正、交流学习!