1. 概述
     主成分分析是由Pearson于1901年提出,再由Hotelling于1933年推广的一种多变量统计方法。主成分分析的目的是用较少的变量解释原来资料中的大部分变异,将相关性很高的变量转化为彼此互不独立或者不相关的变量。选出比原始变量少,能解释大部分资料中的变异的几个新变量,即所谓主成分,并用以解释资料的综合性指标。由此可见,主成分分析是一种降维方法。

    (图源百度)
     成分的保留:Kaiser主张将特征值小于1的成分放弃,只保留特征值大于1的成分。
     成功标准:能用不超过3~5个成分,解释变异的80%就算成功。

    可以看到自变量x_2,x_3的方差为0,对于x_2而言,始终保持为0,没有变化程度,上述表达式完全可以用:y=ax_1+cx_3+d来替代,即x_2失去了变量存在的意义。而对于x_3而言,虽然其数值始终很大,但方差也为0,完全可以用一个常量¬d’’来替代。
    这样的两个变量在对y进行表示的过程中其实并没发挥作用,只要使用y=ax_1+c即可表示上述式子。我们将x_2,x_3被淘汰的过程的原理认为是:方差淘汰变量。当然,方差为0这是一个极端的情况,在方差很小的情况下,即数据的整体变化很小,我们也可以认为这个变量没有存在的必要,将其淘汰。
    设因变量和自变量存在函数关系:y=ax_1+bx_2+d,假如对应数据②如下:

    引入变量z_1,z_2,我们进行这样的线性变换:z_1=x_1+x_2; z_2=x_1-x_2,得到下面的数据表:

    我们上述的操作实际是对x_1和x_2进行了一组线性变换,对于变换后的结果z_2也可以被淘汰(原因不再重复,见上)。而假如我们的线性变换改变为:

    那么上述的变换用矩阵表示则为:

    则上述的线性变化本质上是进行了下面的图像变换:
    原图:

    变换后:

    可以看到,变换之后的结果:z_2变化为0,主要的变化体现在横轴的z_1上。上述的两个例子说明了主成分分析的基本思想:将原先众多具有相关性的指标重新进行线性组合,以代替原先的指标。在图像上即体现为将图像进行一定的旋转变换。而为什么不进行上面的z_1=x_1+x_2; z_2=x_1-x_2?因为这种变换转换到x轴上后个点之间的距离发生了拉伸,具体的理由下面慢慢解释;
    假设以x_1为横轴,以x_2为纵轴,有下面图像所示的图形:

    可以发现数据点是以x_1方向分布的,在x_2的方向上数据变化并不明显,那么我们根据方差淘汰的思想即可将变量x_2淘汰,只保留x_1;
    假如是下图所展示的情况:

    椭圆中有一个长轴和一个短轴,称为主轴。在长轴方向,数据的变化明显较大,而短轴方向变化则较小
    如果沿着长轴方向设定一个新的坐标系,则新产生的两个变量和原始变量间存在一定的数学换算关系,同时这两个新变量之间彼此不相关,而且长轴变量携带了大部分的数据变化信息,而短轴变量只携带了一小部分变化的信息(变异)
    此时,只需要用长轴方向的变量就可以代表原来两个变量的信息,即将短轴方向上的数据抛弃。这样也就把原来的两个变量降维成了一个变量。长短轴相差越大,降维也就越合理。
    (3) 在上述的分析中,我们反复提到“数据的变化”,那么如何衡量一组数据的变化大小?自然地,我们联想到了用方差来进行衡量。而主成分分析就是要通过不断的线性组合产生新的变量,使这组变量的方差达到最大。

  2. 数学原理分析
    设有n个样本,p个指标,则可以构成大小为n×p的样本矩阵x:

    假设我们想找一组新的变量:Y_1,Y_2,…,Y_m (m<p)来替代原来的p个指标,且他们满足:

    系数u_ij的确定要满足

  • Y_i与Y_j相互线性无关((i≠j),i=1,2,…,m,j=1,2,…,m)

  • Y_1是x_1,x_2,…,x_p的一切线性组合中的方差最大者

  • Y_2是与z_1不相关的x_1,x_2,…,x_p的所有线性组合中的方差最大者。

  • 以此类推:Y_m是与Y_1,Y_2,…,Y_(m-1)不相关的x_1,x_2,…,x_p的所有线性组合中的方差最大者。

  • 新变量Y_1,Y_2,…,Y_m分别称为原指标x_1,x_2,…,x_p的第一,第二,……,第m主成分。

  1. 主成分分析的基本问题
    (1) 每一个主成分的系数如何确定
     前提假设
    第一主成分的系数满足:


    要注意的是X是一个由p个向量组成的变量,所以均值E(X)也是一个n维列向量。cov(X)即对X求其协方差矩阵(这个矩阵是一个半正定阵,一定有n个特征值,即也有n个对应的特征向量)
     第一主成分的系数满足:


    由简单推理可以得出:

    由上述分析可知,我们要求的系数u_i1,u_i2,…,u_ip使Y_i的方差达到最大,那么这样即是一个约束优化问题,


    由线性代数的基本知识可对①式做下列变换:

    由上式可知,求f即转化为求矩阵Σ的特征值,求系数u_i即求特征值对应的特征向量。
    对于Y_i (i=1,2,3,…,m)的方差要求依次增大,则对应特征值依次增大,对应的特征向量依次排列形成相应的矩阵。
    (2) 如何保留主成分
    方法一:
    ① 贡献率:第i 个主成分的贡献率为

    ② 累积贡献率:前m个主成分的累积贡献率为

    ③ 选择法则:

    保留m 个主成分
    (3) 如何解释主成分
    ① 原始指标X_i对各个主成分的贡献
    相关系数:

    ② 保留的m个主成分对每个X_i的贡献

    ③ 主成分与原指标之间的相关系数




    ④m个主成分对原始指标x的贡献:

    对某一个主成分而言,指标前面的系数越大,代表该指标对该主成分的影响越大。

  2. 由相关阵求主成分

下列图片摘自清风PPT





6. 主成分分析例题分析
例一:
用主成分分析方法探讨城市工业主体结构。表1是某市工业部门13个行业8项指标的数据

试用主成分分析方法确定8项指标的样本主成分(综合变量);若要求损失信息不超过15%,应取几个主成分?

解:我们将题目所给数据导入SPSS后,进行主成分分析主要表格如下:
(1)进行主成分分析要求变量之间具有相关性,首先输出的是相关性矩阵,可以直观的看到变量之间具有相关性:

(2)相关性检验结果:

根据KMO和巴特利特检验结果,综合两项指标,说明变量之间存在相关性,可以进行主成分分析。
(3)对主成分的解释:

由上图的总方差解释可以得知当选取3个成分时已经能够解释89.424%的方差,接着输出的是碎石图,展示所有的主成分的特征值情况:

由于SPSS默认选取的是对应特征值大于1的主成分,所以最后输出的成分矩阵只提取了2个主成分:


但是按照题目要求,需要解释85%以上的变异,由对主成分的解释表可知,我们需要选择3个主成分。
例二:
某市为了全面分析机械类各企业的经济效益,选择了8个不同的利润指标,14家企业关于这8个指标的统计数据如表3所示。试进行主成分分析,并对所选取的主成分作出解释。

解:将所给数据代入SPSS工具后,我们对数据进行主成分分析处理:
(1) 进行主成分分析要求变量之间存在相关性,所以首先输出的相关性矩阵,通过下表我们可以明显的看出变量之间存在相关性,适合做相关性检验:

下面输出的是KMO检验和巴特利特球形检验的结果:
可以看出KMO值在0.7~0.8之间,比较适合进行主成分分析。接下来的是巴特利特球形检验的结果:显著性小于0.05。两项指标结合,通过KMO和巴特利特检验。

(2) 主成分分析

通过输出的总方差解释图,我们可以直观的发现使用前两个特征值大于1的主成分即可解释89%以上的变异,基本把握住了主成分,达到舍去不必要成分的目的。

最后我们通过输出的成分矩阵写出函数表示:


数学建模——主成分分析入门及SPSS使用相关推荐

  1. 数学建模从入门到放弃

    数学建模从入门到放弃 写在前面: 本文均基于本人经验书写,由于本人经验较少,有极大可能在书写过程中存在错误,各位酌情观看,并欢迎指出错误 本人仍处于学习中,更新随缘 可以通过邮箱进行联系gsz1999 ...

  2. 数学建模——主成分分析算法详解Python代码

    数学建模--主成分分析算法详解Python代码 import matplotlib.pyplot as plt #加载matplotlib用于数据的可视化 from sklearn.decomposi ...

  3. spss数据预处理步骤_数学建模准备必备的十个数据分析软件(数学建模从入门到精通)...

    前几天咋们聊了很多关于数学建模的干货,比如怎么样去前期准备学习数学建模,又比如数学建模需要哪些疾病软件?再比如数学建模论文摘要写作技巧.昨天那篇更是直接把数学建模常用的思维导图.流程图软件全部统统介绍 ...

  4. 数学建模overleaf模板_数学建模从入门到精通必备资料,大神经验助你赢战9月数模国赛!...

    假如你对自己心仪的另一半,有一个具体的判断标准,那么,你能否算出你在未来遇到理想型的概率有多大? 这个看似复杂的问题,或许可以用数学建模帮助解决,简化和抽象的能力不仅是数学建模的本质,也是申请海外名校 ...

  5. 【数学建模】聚类算法+Spss实现+Matlab代码实现

    文章目录 一.聚类算法原理 二.Spss实现聚类 三.Matlab实现聚类 图片来源于清风老师视频 b站地址:数学建模学习交流 一.聚类算法原理 二.Spss实现聚类 三.Matlab实现聚类 1.创 ...

  6. 《数学建模竞赛入门与提高》读书笔记

    第1章:数学建模概述 近半个多世纪以来,数学已经走进了各大领域,而与其他学科相结合形成交叉学科,首要的关键一步就是建立研究对象的数学模型,并加以计算求解,数学建模和计算机技术在知识经济时代的作用可谓是 ...

  7. 数学建模-分类模型(SPSS)

    目录 1.简介 2.样例-二元 1.对于预测结果不理想,在logistics模型里加入平方项交互项等. 2.如果自变量有分类变量(如男女,行业有互联网行业.旅游行业--) 3.分训练集.测试集 4.f ...

  8. 全国大学生数学建模大赛入门1——赛前准备及注意事项

    一. 赛前准备 1.大赛时间 2022高教社杯全国大学生数学建模竞赛时间为9月15日(周四)18 时至 9月18日(周日)20时. 2.赛题说明 一共5道题 ABC DE 本科组ABC题任选一道 专科 ...

  9. 【数学建模 | 快速入门(上)】笔记----(P1-P8)

    P3:赛前准备 1.在搜索大量文献之后,排除背景看不懂的题,优先选择资料多的 2.少数服从多数,在看完题之后,可以三个人各自发表看法 3.尽量开赛6小时内定题 P4 如何百度 P5 查文献技巧 P6 ...

  10. 数学建模专栏 | 第二篇 :MATLAB 数学建模快速入门

    MATLAB 虽然功能很强大,但上手却很容易,尤其是 R2013a 以后的版本, 使用起来更加容易. 现在使用 MATLAB 的一个理念就是像 Word 一样去使用 MATLAB.本讲将通过一个实例介 ...

最新文章

  1. python输入参数改变图形_Python基于Tensor FLow的图像处理操作详解
  2. 女性护理品牌Honeymate获8000万A+轮融资,将与美图公司深度合作
  3. 2020-1024=996
  4. 使用navicat 11 出现不能返回存储过程结果的问题
  5. Crawler:基于splinter.browser库实现爬取12306网站来实现快速抢票
  6. 转载:React Fiber架构(浅显易懂)
  7. Bootstrap媒体对象
  8. 16 分钟优化 mRNA 疫苗稳定性!百度 AI 算法 LinearDesign 为新冠疫苗研发提速
  9. python安装在什么地方_python模块安装目录在哪里
  10. testbench实例 vhdl_[转载]VHDL的testbench的编写
  11. 计算机网络(第七版)部分课后习题含答案第一章 概述1-02 试简述分组交换的要点。分组交换最主要的特点就是采用存储转发技术。我们把要发送的整块数据称为一个报文。在发送报文之前,先把较长的报
  12. dlib疲劳检测_用Dlib和OpenCV还能做什么?这个开源项目实现了驾驶员疲劳检测
  13. 两个特别的10分钟临时邮箱、免费
  14. 多项式插值与样条插值的解释与示例(matlab)
  15. tableau系列之在 Tableau 中构建地图
  16. 2017初二上期中考试总结
  17. 数据结构的基本概念(ADT 抽象数据类型 数据结构三要素)
  18. 读研究生时,还有【暑假】么?
  19. http://www.jb51.net/article/41274.htm
  20. Mounty for Mac(NTFS格式读写工具)

热门文章

  1. PopClip 能让像苹果电脑像 iOS 一样选中文字后弹出搜索、复制、粘贴等选项
  2. 05 基于H3 + RH850 的智能座舱功能安全设计
  3. zabbix—监控mysql数据
  4. [原创]集成了网络/加密解密/大数运算/位运算等功能的dll
  5. Python超市商品管理系统
  6. java 解析p12_java读取*.p12证书的信息
  7. XRD如何分析残余应力
  8. 万兆网、10G ethernet subsystem IP核
  9. Latex 带圈数字
  10. python tkinter frame教程_Tkinter教程之Frame 框架