基于相关性分析和主成分分析的变量筛选方法

https://www.zybuluo.com/notmylove/note/1508052

主成分分析法 指标筛选


既然在课程专题四中讲到主成分分析法,那么这里再进一步介绍主成分分析法,概括起来说,主成分分析主要由以下几个方面的作用。

  • 主成分分析能降低所研究的数据空间的维数(降维)。即用研究m维的Y空间代替p维的X空间(m
  • 多维数据的一种图形表示方法(可视化)。我们知道当维数大于3时便不能画出几何图形,多元统计研究的问题大都多于3个变量。要把研究的问题用图形表示出来是不可能的。然而,经过主成分分析后,我们可以选取前两个主成分或其中某两个主成分,根据主成分的得分,画出n个样品在二维平面上的分布况,由图形可直观地看出各样品在主分量中的地位,进而还可以对样本进行分类处理,可以由图形发现远离大多数样本点的离群点。
  • 由主成分分析法构造回归模型。即把各主成分作为新自变量代替原来自变量x做回归分析
  • 用主成分分析筛选回归变量。回归变量的选择有着重的实际意义,为了使模型本身易于做结构分析、控制和预报,好从原始变量所构成的子集合中选择最佳变量,构成最佳变量集合。用主成分分析筛选变量,可以用较少的计算量来选择量,获得选择最佳变量子集合的效果。

前面三种都挺好理解,这里首先着重分析一下怎么用主成分分析来筛选回归变量

主成分分析法

主成分分析( principal component analysis,PCA) ,也称主 
分量分析或矩阵数据分析。它通过变量变换的方法把相关的变量变为若干不相关的综合指标变量,从而实现对数据集的降维,使得问题得以简化。

基本原理

主成分分析的原理可以简单的陈述如下:借助一个正交变换,将其分量相关的原随机向量转化成其分量不相关的新随机变量,使之指向样本点散布最开的n个正交方向,然后对多维变量系统进行降维处理,使之能以一个较高的精度转换成低维变量系统。通常数学上的处理就是将原来n个指标作线性组合,作为新的综合指标,并且这些新的综合指标之间是相互无关的。

计算过程

  1. 构造样本矩阵

    其中,表示第组样本数据中的第个变量的值.

  2. 对矩阵做标准化变换得矩阵

    其中

  3. 对标准化阵求相关系数矩阵

      

    这里有一点需要注意的是:标准化后的矩阵Z的相关系数矩阵(就是每列变量之间的相关系数构成的矩阵)是等于矩阵Z的协方差矩阵。因为前面也有讲过相关系数就是标准化了的协方差(无量纲化)。也就是说.

  4. 对相关系数矩阵R求特征值与特征向量 
    解样本相关矩阵R 的特征方程得n个特征值, 并且(为矩阵R是非负定矩阵)

  5. 确定值,使信息的利用率达到 80% 以上。

    这里就相当于我们专题四讲到的二八分析法了

  6. 求出每个特征值的特征向量,并单位化 
    对每个解方程组,得特征向量,再单位化得

  7. 将标准化后的指标变量转换为主成分 
      

      其中称为第一主成分, 称为第二主成分....

  8. 对个主成分进行综合评价 
      对个主成分进行加权求和,即得最终评价值,权数为每个主成分的方差贡献率(单个公因子引起的变异占总变异的比例,说明此公因子对因变量的影响力大小,换句话理解就是这个主成分对信息的利用率).

基于相关性分析的指标筛选原理

两个指标之间的相关系数,反映了两个指标之间的相关性。相关系数越大,两个指标反映的信息相关性就越高。而为了使评价指标体系简洁有效,就需要避免指标反映信息重复。通过计算同一准则层中各个评价指标之间的相关系数,删除相关系数较大的指标,避免了评价指标所反映的信息重复。通过相关性分析,简化了指标体系,保证了指标体系的简洁有效,这部分内容在以前的文章中已有介绍。这次通过和主成分分析来结合使用。

基于主成分分析的指标筛选方法

因子载荷的原理

通过对剩余多个指标进行主成分分析,得到每个指标的因子载荷。因子载荷的绝对值小于等于1,而绝对值越是趋向于1,指标对评价结果越重要。

那么因子载荷怎么得到的呢?其实很简单,过程如下:

主成分分析的基本模型

设:是第个主成分(); 是第个特征值对应的特征向量的第个分量;为第个指标的观测值;-主成分的个数;-指标的个数。则第个主成分为

含义:第个主成分表示为评价指标的线性组合,反映了原有海选指标的信息。

筛选过程

根据主成分分析法的计算过程,求得相关系数矩阵的特征值 , 反映了第个主成分所表示的原始信息含量,即所解释原始指标的数据总方差,则主成分表示的原始指标数据的方差贡献率为:

主成分表示的原始指标数据的方差贡献率,即为第个主成分所表示的原始信息含量占所有主成分所表示的全部原始信息含量的比例. 
因子载荷 :
得到了因子载荷矩阵就可以进行指标筛选了,因子载荷反映指标对评价结果的影响程度,通过主成分上因子载荷的绝对值晒选指标,越大表示指标对评价结果越有显著影响,越应该保留;反之,越应该删除。通过对相关性分析筛选后的指标进行主成分分析,得到每个指标的因子载荷,从而删除因子载荷小的指标,保证筛选出重要的指标。

相关性分析和主成分分析相同点

  1. 基于相关性分析的指标筛选和基于主成分分析的指标筛选,均是在准则层内进行指标的筛选处理,准则层之间不进行筛选。这种做法的原因是,通过人为地划分不同准则层,反映评价事物不同层面的状况,避免误删反应信息不同的重要指标。

  2. 基于相关性分析的指标筛选和基于主成分分析的指标筛选的思路,均是筛选出少量具有代表性的指标。

相关性分析和主成分分析不同点

  1. 两次筛选的目的不同:基于相关性分析的指标筛选的目的是删除反应信息冗余的评价指标。基于主成分分析的指标筛选的目的是删除对评价结果影响较小的评价指标。

  2. 两次筛选的作用不同:基于相关性分析的指标筛选的作用是保证筛选选出的评价指标体系简洁明快。基于主成分分析的指标简选的目的是筛选出重要的指标。

总结

通过基于相关性分析的第一次指标定量筛选。通过相关性分析的方法,进行第一次定量筛选,剔除了反应信息重复的指标,保证筛选后的指标体系简洁有效。基于相关性分析的第二次指标定量晒选。通过对评价指标进行主成分分析,删除因子载荷小的评价指标,保证筛选出重要的指标。

matlab程序

主成分分析法实现很简单,python直接调用包就行,这里提一下matlab上的简单实现,针对具体问题的程序,有需求再找我吧。

%输入数据(以矩阵形式输入)
X = [];%数据预处理:标准化
mu = mean(X);
X_norm = bsxfun(@minus, X, mu);
sigma = std(X_norm);
X_norm = bsxfun(@rdivide, X_norm, sigma);%协方差矩阵
covMat = cov(X_norm);%奇异值分解,U为特征向量,S为特征值
[U, S] = svd(covMat);%提取特征值
lambda = diag(S);
%累积信息占比,也就是累积方差贡献率
fprintf('累积信息占比:%.4f \n',  cumsum(lambda)/sum(lambda));%求因子载荷矩阵
B = U .* sqtr(lambda');

+

基于相关性分析和主成分分析的变量筛选方法相关推荐

  1. 业务数据分析中可能用到的简单的数据挖掘方法——相关性分析、主成分分析、因子分析

    业务数据分析中可能用到的简单的数据挖掘方法--相关性分析.主成分分析.因子分析 相关性分析 相关性分析通过相关系数来描述两个变量之间的相关性程度. 通过相关系数判断两者会不会相互影响,影响是正相关还是 ...

  2. 基于相关性分析系统性能瓶颈

    测试的过程中,难免需要会遇到一些性能瓶颈,那么就要求我们能够分析出性能瓶颈,并给出解决方案. 性能瓶颈很抽象,我们可以通过数据使其具象. 以我工作内容为例,服务器处理数据的能力是有限的,那么其处理的边 ...

  3. 数据特征分析:相关性分析(Pandas中的corr方法)

    文章目录 1.图示初判 两个变量之间的相关性(散点图) 多变量之间的相关性(散点图矩阵) 2.Pearson相关系数 3.Spearman相关系数 分析连续变量之间的线性相关程度的强弱 介绍如下几种方 ...

  4. KSS-ICP: 基于形状分析技术的点云配准方法

    目录 1. 概述 2. 算法实现 3. 实验结果 总结 Reference 三维点云配准是三维视觉领域一个经典问题,涉及三维重建,定位,SLAM等具体应用问题.传统的配准可以被分为两条技术路线,即基于 ...

  5. 分类变量、有序变量与数值变量相关性分析方法总结及 R 语言应用

    文章目录 一.分类 & 分类·相关性分析 二.有序 & 有序·相关性分析 三.数值 & 数值·相关性分析 四.分类 & 有序·相关性分析 五.分类 & 数值·相 ...

  6. 单基因gsea_又是神器!基于单基因批量相关性分析的GSEA

    有这样的使用场景么? 1.已经确定研究的基因,但是想探索他潜在的功能,可以通过跟这个基因表达最相关的基因来反推他的功能,这种方法在英语中称为guilt of association,协同犯罪. 2.我 ...

  7. perclos嘴巴_一种基于视频分析的疲劳状态检测方法及装置与流程

    本发明涉及疲劳检测领域,特别是涉及一种基于视频分析的疲劳状态综合检测方法及装置. 背景技术: 疲劳状态检测技术在交通运输.生产安全.教育培训等许多领域应用广泛.目前,疲劳状态检测的方法一般可分为接触式 ...

  8. 高维数据中特征筛选方法的思考总结——多变量分析筛选法

    前言:之前的文章(高维数据中特征筛选方法的思考总结--单变量分析筛选法)中,对单变量分析筛选变量进行了初步考量,本文将进一步总结多变量分析筛选法.由于本文多处摘录网上的博客,只是进行了归纳整理,因此笔 ...

  9. 《MATLAB 神经网络43个案例分析》:第25章 基于MIV的神经网络变量筛选----基于BP神经网络的变量筛选

    <MATLAB 神经网络43个案例分析>:第25章 基于MIV的神经网络变量筛选----基于BP神经网络的变量筛选 1. 前言 2. MATLAB 仿真示例 3. 小结 1. 前言 < ...

最新文章

  1. 【Vue】组件复用导致的路由切换时页面不刷新问题
  2. [HNOI2009]无归岛
  3. python函数整理
  4. 超级实用!用Python写股票分析工具
  5. 把aspx页面输出成xml的方法注意事项
  6. 在python中可以用什么关键字来声明一个类_3. Python基础语法
  7. c1200 写频软件_摩托罗拉XIR C1200数字对讲机试用——来自HAM族的呼叫
  8. 今日份凡尔赛培训满分了没?
  9. 产品新人没有完整项目经验?这篇文章帮你打开思路
  10. js如何操作或是更改sass里的变量
  11. windows下db2的一些使用心得(不含安装)
  12. Java和JavaScript中使用Json方法大全
  13. js实现中文转拼音的两种方法
  14. 编译错误: error ‘gets’ was not declared in this scope gets(s)
  15. r 选取从小到大的数据_R语言第二章数据处理⑥dplyr包(1)列选取
  16. 淘宝API-item_search - 按关键字搜索淘宝商品
  17. vba msgbox html 标签,VBA更改MsgBox中的文本颜色
  18. PL/SQL中存储过程int和out的用法
  19. Percona监控工具初探
  20. 3dmax转化html,VRayMtl Converter材质转换3dsmax插件V3.97版

热门文章

  1. 安全的即时沟通软件主要表现在哪些方面
  2. exar 带容隔离_一文读懂如何隔离模拟信号
  3. python:6寸照片纸混合排版1寸、2寸、小2寸证件照
  4. javaweb JAVA JSP论坛系统源码BBS在线论坛系统源码(电影论坛)
  5. Qt ECG Monitor Qt嵌入式床旁心电监护仪项目源码
  6. 计算机科学省级期刊,计算机时代杂志
  7. 【路径规划】基于matlab遗传优化模拟退火算法避障路径规划【含Matlab源码 889期】
  8. 斗鱼关注人数爬取 ── 字体反爬的攻与防
  9. Netkiller FreeBSD 手札之前言
  10. 机器学习-车牌识别框架学习