主成分分析 Matlab
主成分分析的优缺点:
优点:化繁为简,降低了计算量。
缺点:一定程度上损失了精度。并且只能处理“线性问题”,这是一种线性降维技术。
总结:
假设我们拿到了一份数据集,有m个样本,每个样本由n个特征(变量)来描述,那么我们可以按照以下的步骤进行降维:
1、将数据集中的每个样本作为列向量,按列排列构成一个n行m列的矩阵;
2、将矩阵的每一个行向量(每个变量)都减去该行向量的均值,从而使得新行向量的均值为0,得到新的数据集矩阵X;
3、求X的协方差矩阵,并求出协方差矩阵的特征值λ和单位特征向量e;
4、按照特征值从大到小的顺序,将单位特征向量排列成矩阵,得到转换矩阵P,并按PX计算出主成分矩阵;
5、用特征值计算方差贡献率和方差累计贡献率,取方差累计贡献率超过85%的前k个主成分,或者想降至特定的k维,直接取前k个主成分。
主成分分析代码:
function [tg xs q px newdt]=pca(h) %输入只能是以分析的指标变量为列,样本变量为行的数据!
h=zscore(h); %数据标准化
r=corrcoef(h); %计算相关系数矩阵
disp('计算的相关系数矩阵如下:');
disp(r);
[x,y,z]=pcacov(r); %计算特征向量与特征值
s=zeros(size(z));
for i=1:length(z)s(i)=sum(z(1:i));
end
disp('由上计算出相关系数矩阵的前几个特征根及其贡献率:');
disp([z,s])
tg=[z,s];
f=repmat(sign(sum(x)),size(x,1),1);
x=x.*f;
n=input('请选择前n个需要计算的主成分:\n');
disp('由此可得选择的主成分系数分别为:');
for i=1:nxs(i,:)=(x(:,i)');
end
newdt=h*xs';
disp('以主成分的贡献率为权重,构建主成分综合评价模型系数:');
q=((z(1:n)./100)')
w=input('是否需要进行主成分综合评价?(y or n)\n');
if w==ydf=h*x(:,1:n);tf=df*z(1:n)/100;[stf,ind]=sort(tf,'descend'); %按照降序排列disp('主成分综合评价结果排序:');px=[ind,stf]
elsereturn;
end
主成分分析 Matlab相关推荐
- 美国国债主成分分析Matlab
文章目录 美国国债主成分分析 Matlab 1.读入数据 2.PCA 3.主成分和宏观变量 美国国债主成分分析 Matlab 1.读入数据 [data,txt,raw] = xlsread('feds ...
- 主成分分析matlab实例及测试,[学习笔记]主成分分析说明以及matlab实现
在研究问题过程中,随着问题中的变量增多,分析问题的难度与复杂度会不断加大.于是人们会想,如何用能保持变量原有特征的较少的新变量,代替原有的较多的旧变量,从而降低分析难度和复杂程度. 主成分分析就是把原 ...
- 主成分分析matlab代码实现
转载自:https://blog.csdn.net/It_BeeCoder/article/details/80365563 方法一: 1:用zscore函数对原始数据S进行标准化. 2:用cov函数 ...
- Iris数据集用主成分分析MATLAB
1.代码 filename = 'iris.csv'; data = csvread(filename); rawdata = data(:,2:5) a = data(data(:,1)==0,:) ...
- matlab主成分分析综合评价算法,matlab主成分分析算法
从经济效益出发选取8个指标,利用主成分分析法对选取指标进行分析,利用Matlab软件对14家机械制造企业的经济效益进行了计算和排名,为黑龙江省今后实现企业间经济发展协调...... II. 主成分分析 ...
- LDA(线性判别分析)详解 —— matlab
目录 前言 正题 1.LDA的思想 2. 瑞利商(Rayleigh quotient)与广义瑞利商(genralized Rayleigh quotient) 3. 二类LDA原理 4.多类LDA原理 ...
- matlab包络分析函数,数据包络分析 (MATLAB代码).doc
数据包络分析 (MATLAB代码) X=[] % 输入多指标输入矩阵X Y=[] % 输入多指标输出矩阵Y [n,m]=size(X) % n为输入的指标数,m为决策单元数 s=size(Y) % s ...
- 数学建模暑期集训21:主成分分析(PCA)
当遇到指标众多的场景时,以前通常的处理方法基本采用逐步回归的思想.即判断各指标之间的相关程度,保留几个重要的指标, 剔除其它不重要的指标.相关方法有:三大相关系数计算法.多元线性回归法.随机森林法.灰 ...
- 神经网络建模的基本思想,人工神经网络建模步骤
利用人工神经网络建立模型的步骤 人工神经网络有很多种,我只会最常用的BP神经网络.不同的网络有不同的结构和不同的学习算法.简单点说,人工神经网络就是一个函数.只是这个函数有别于一般的函数.它比普通的函 ...
最新文章
- 解决Swift中present(uiImagePickerController,animated: true,completion: nil)闪退的问题
- Thread Join()的用法
- apache camel 相关配置_小白在 linux 系统部署apache、mysql、Laravel 环境学习笔记!
- keras 多个显卡
- Hbuilder----安装less插件(详细)
- 数据结构 --- 堆
- matlab里符号的写法,Matlab中特殊符号的写法
- 贝叶斯分析好坏_贝叶斯统计 | 第五章第一部分 决策基本概念
- Python小应用1 - 抓取网页中的链接地址
- 关于形如--error LNK2005: xxx 已经在 msvcrtd.lib ( MSVCR90D.dll ) 中定义--的问题分析解决
- 支付宝调起,应用签名失败,请联系商家
- 验证码识别库 python_python 验证码识别库pytesseract的使用
- oracle间视图增量同步,ODI数据增量同步
- ZYNQ学习之路5.扩展PL端串口
- 基金定投--1.基金的基础知识
- Redis——Redis入门和一些笔记
- A State-of-the-Art Survey on Deep Learning Theory and Architectures论文翻译分析
- 归并排序【算法解析,代码模板】
- ctfshow 爆破 web21-web28
- 中国传统配色网站,你不了解一下吗??