前言:主成分分析是一种通过降维技术将多个变量化为少数几个主成分的方法,和逐步回归有相似之处。主成分分析适用于数据的线性降维,得到的主成分是由原来的变量标准化后线性组合而成的,只是主成分的个数比原来变量个数少。

参考书籍:《python数学建模算法与应用》 司守奎 孙玺菁  (强烈推荐!)

具体代码书上有写我就没有再敲出来

1、主成分分析

原则:主成分一般选取不超过6个,且累计贡献率只需要达到85%。

sklearn.decomposition模块的PCA函数实现了主成分分析,基本格式为:

f=PCA(n_components=None).fit(data)

n_components默认值为None,表示所有成分保留。n可以为int、float、str。

data只需要包含需要降维的变量数据,不需要因变量数据。

主成分回归python实现_to be a good girl的博客-CSDN博客_主成分回归代码

步骤:

1、数据标准化(去中心化)

x为原指标变量,u为均值,分母为标准差

求标准差时自由度设置为1,即ddof=1

2、计算相关系数矩阵:np.corrcoef(data)          data为2D数组形式

3、构造并拟合函数f=PCA().fit(x’)

查看特征值:f.explained_variance_

查看各主成分贡献率:f.explained_variance_ratio_

提取各主成分系数,每一行是一个主成分的组成系数:f.components_

主成分系数可以相差一个负号,乘以-1后仍然为特征向量(主成分系数)

2、主成分回归分析

步骤:

1、进行主成分分析,得到主成分。

2、做主成分回归分析,得到由主成分组成的回归方程。

以主成分为变量,因变量数据不变进行回归分析。主成分的值由其系数求出*原数据得出。

3、恢复至原始的自变量,求出其他系数。(反标准化变换)

有时主成分回归方程比直接的回归方程具有更小的残差方差,更加的稳定。当直接线性回归的系数无法通过显著性检验时可以考虑主成分分析。

建模时步骤:

1、数据预处理(数据标准化),给出标准化公式

2、写出相关系数矩阵的计算公式(区别于聚类分析中的皮尔逊相关系数)

3、给出累计贡献率超过85%的主成分的特征向量

4、后续进行评价、回归等

3、利用主成分分析确定权重

k1_spss=md.components

j = 0

Weights = []

for j in range(len(k1_spss)):

for i in range(len(pca.explained_variance_)):

Weights_coefficient = np.sum(100 * (pca.explained_variance_ratio_[i]) * (k1_spss[i][j])) / np.sum(pca.explained_variance_ratio_)

j = j + 1

Weights.append(np.float(Weights_coefficient))

print('Weights',Weights)

# 权重归一化处理

Weights=pd.DataFrame(Weights)

Weights1 = preprocessing.MinMaxScaler().fit(Weights)

Weights2 = Weights1.transform(Weights)

print('Weights2',Weights2)

主成分分析法(Python实现) - 知乎 (zhihu.com)

评价问题中的主成分分析(PCA)相关推荐

  1. RNA 7. SCI 文章中的基因表达——主成分分析 (PCA)

    在RNA-seq中,主成分分析(PCA)是最常见的多元数据分析类型之一,这期主要介绍一下利用已有的表达差异数据如何分析,别着急,见下文. 1. 前言 1. 相关背景 在RNA-seq中,主成分分析(P ...

  2. 主成分分析(PCA)原理及R语言实现及分析实例

    主成分分析(PCA)是一种数据降维技巧,它能将大量相关变量转化为一组很少的不相关变量,这些无关变量称为主成分.最近我们被客户要求撰写关于主成分分析(PCA)的研究报告,包括一些图形和统计输出.例如,使 ...

  3. 主成分分析PCA算法:为什么去均值以后的高维矩阵乘以其协方差矩阵的特征向量矩阵就是“投影”?

    这是从网上看到的PCA算法的步骤: 第一步,分别求每列的平均值,然后对于所有的样例,都减去对应的均值. 第二步,求特征协方差矩阵. 第三步,求协方差的特征值-显示全部 关注者 1,218 被浏览 78 ...

  4. 主成分分析碎石图_主成分分析(PCA)基本原理及分析实例

    主成分分析(PCA)是一种数据降维技巧,它能将大量相关变量转化为一组很少的不相关变量,这些无关变量称为主成分.例如,使用PCA可将30个相关(很可能冗余)的环境变量转化为5个无关的成分变量,并且尽可能 ...

  5. 机器学习--主成分分析PCA算法:为什么去均值以后的高维矩阵乘以其协方差矩阵的特征向量矩阵就是“投影”?

    原文链接:主成分分析PCA算法:为什么去均值以后的高维矩阵乘以其协方差矩阵的特征向量矩阵就是"投影"?_天下对手教会少林武僧-CSDN博客_pca投影矩阵 这是从网上看到的PCA算 ...

  6. 主成分分析|PCA算法大全

    主成分分析|PCA算法大全 文章目录 主成分分析|PCA算法大全 1. PCA原理 1.1 最大方差理论 1.2 最小平方误差理论 1.3 高维数据下的特征值分解 2. CCIPCA增量主元分析算法[ ...

  7. 期望E,方差D,协方差Cov,主成分分析PCA

    期望E,方差D,协方差Cov,主成分分析PCA,应用于图像分类识别 1.期望方差的理解 2.协方差与协方差矩阵 3.数据降维的需求背景 4.PCA就是从解决特征之间的相关性入手,剔除冗余特征 5.PC ...

  8. 清风数学建模学习笔记——主成分分析(PCA)原理详解及案例分析

    主成分分析   本文将介绍主成分分析(PCA),主成分分析是一种降维算法,它能将多个指标转换为少数几个主成分,这些主成分是原始变量的线性组合,且彼此之间互不相关,其能反映出原始数据的大部分信息. 一般 ...

  9. 主成分分析(PCA) C++ 实现

    主成分分析(Principal Components Analysis, PCA)简介可以参考: http://blog.csdn.net/fengbingchun/article/details/7 ...

最新文章

  1. 自律到极致-人生才精致「第3期」:中奖结果
  2. pytorch 笔记: torch.nn.Embedding
  3. java第k小元素_java – 如何从对象列表中提取K“最小”元素?
  4. 安装php的mongodb扩展
  5. 线性代数笔记 -- A = LU的应用
  6. idea安装python 插件_IntelliJ IDEA安装运行python插件方法
  7. HBase流程框架图
  8. element中form表单输入非负数验证
  9. php工业物联网实现,利用工业物联网网关巧妙实现远程控制
  10. JS Base64加密解密
  11. 鼠标 hover时盒子阴影效果,凸起效果_ box-shadow的应用
  12. iOS 键盘限制输入内容限制、输入长度限制
  13. 110115-07-6,Ac-LLM-CHOCalpain 抑制剂
  14. 路再长也有尽头,别往回走
  15. 经典卷积神经网络模型 - InceptionNet
  16. 【kerberos】kinit: Credential cache directory “/run/user/0/krb5cc“ does not exist while getting
  17. GD32F4xx创建工程
  18. 服务器显示器多少寸,怎么知道电脑显示器是多少寸
  19. 拖拽或点击上传(支持苹果safari浏览器)
  20. 金蝶BOS开发数据库工具类

热门文章

  1. 《炬丰科技-半导体工艺》氧化铝陶瓷基板上的紫外激光微加工和化学蚀刻
  2. js 自由变换图片尺寸
  3. 查看测试代码覆盖率solidity-coverage
  4. Faiss(17):IndexIVFPQ文件格式分析
  5. ltrim用法(通俗易懂版)
  6. 【设计模式C++】工厂模式
  7. iview 表单验证问题 Select 已经选择 还是弹验证提示
  8. 杰里之手表开发之HRS3300 demo wristband test report V5.0【篇77】
  9. 大数据技术之DataX (一)DataX插件开发
  10. 天刀手游测试服服务器维护中,谈谈天涯明月刀手游吧。 因为开测四天,今天我想上线维护中。...