数学建模算法之主成分分析法
主成分分析的主要目的是希望用较少的变量去解释原来资料中的大部分变异,将我们手中许多相关性很高的变量转化成彼此相互独立或不相关的变量。通常是选出比原始变量个数少,能解释大部分资料中的变异的几个新变量,即所谓主成分,并用于解释资料的综合性指标。主成分分析实际上是一种降维方法。
主成分分析
1.基本思想及方法
这里对权重做了规定:平方和等于1(为什么不是和等于1 )
一个主成分不足以代表原来的P个变量,因此需要寻找第二个乃至第三、第四主成分,第二个主成分不应该再包含第一个主成分的信息,统计上的描述就是让这两个主成分的协方差为零,几何上就是这两个主成分的方向正交。具体确定主成分的方法如下:
注意事项:
- 主成分分析的结果受量纲影响,由于个变量的单位可能不一样,如果改变量纲,结果会不一样。
- 使方差达到最大的主成分分析不用转轴。(转轴是什么 )
- 主成分的保留。用相关系数矩阵求主成分时,Kaiser主张将特征值小于1的主成分予以放弃。
- 实际研究中,由于主成分的目的是降维,减少变量的个数,故一般选取少量的主成分(不超过5或6个),只要它们能解释变异的70%~80%(称累积贡献率)就行了。
下面我们通过主成分估计进一步阐述主成分分析的基本思想和相关概念。
2.主成分估计
主成分估计是回归系数参数的一种线性有偏估计,同其它有偏估计,如岭估计等一样,是为了克服最小二乘估计在设计阵病态(即存在多重共线性)时表现的不稳定性而提出的。
主成分估计采用的方法是将原来的回归自变量变换到另一组变量,即主成分,选择其中一部分重要的主成分作为新的自变量(此时丢弃了一部分影响不大的自变量,这实际达到了降维的目的),然后用最小二乘法对选取主成分后的模型参数进行估计,最后再变换回原来的模型求出参数的估计。
对于自变量的任意一个线性组合
实际步骤如下:
例题
题解:
代码:
load sn.txt %将数据保存在文本文档sn.txt中
[m,n]=size(sn);
x0=sn(:,1:n-1);
y0=sn(:,n);
r=corrcoef(x0); %计算相关系数矩阵
xb=zscore(x0); %对设计矩阵进行标准化处理
yb=zscore(y0); %对y0进行标准化处理
%以下命令利用设计矩阵进行主成分分析,返回值c的列向量对应着主成分的系数
%返回值s对应着式(26)中的Z矩阵,t返回的是特征值
[c,s,t]=pca(xb);
contr=cumsum(t)/sum(t); %计算累积贡献率,第i个分量表示前i个主成分的贡献率
num=input('请选项主成分的个数:'); %通过累积贡献率交互式选择主成分的个数
hg1=[ones(m,1),x0]\y0; %计算普通最小二乘法回归系数
hg1=hg1';
%下面显示普通最小二乘法回归结果
fprintf('y=%f',hg1(1));
for i=1:n-1fprintf('+%f*x&d',hg1(i+1),i);
end
fprintf('\n');
hg=s(:,1:num)\yb; %主成分变量的回归系数
hg=c(:,1:num)*hg; %标准化变量的回归系数方程
%下面计算原始变量回归方程的系数
hg2=[mean(y0)-std(y0)*mean(x0)./std(x0)*hg,std(y0)*hg'./std(x0)];
%下面显示主成分回归结果
fprintf('y=%f',hg2(1));
for i=1:n-1fprintf('+%f*x%d',hg2(i+1),i);
end
fprintf('\n');
%下面计算两种回归分析的剩余标准差
rmse1=sqrt(sum((x0*hg1(2:end)'+hg1(1)-y0).^2)/(m-n));
rmse2=sqrt(sum((x0*hg2(2:end)'+hg2(1)-y0).^2)/(m-num-1));%结果
>> Hald
请选项主成分的个数:3
y=62.405369+1.551103*x&d+1.000000*x&d+0.510168*x&d+2.000000*x&d+0.101909*x&d+3.000000*x&d+-0.144061*x&d+4.000000*x&d
y=85.743263+1.311890*x1+0.269419*x2+-0.142765*x3+-0.380075*x4
3.特征值因子的筛选
例5
主成分分析案例—我国各地区普通高等教育发展水平综合评价
问题描述如下:
主成分分析法的步骤
基于主成分分析法的综合评价
结论
数学建模算法之主成分分析法相关推荐
- 数学建模方法——SPSS主成分分析法
前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家,(ノ´▽`)ノ♪->点击这里->一个宝藏级人工智能教程网站. 文章目录 Ⅰ.主成分分析: 主成分与原始变量 ...
- 数学建模算法笔记(2)——主成分分析
数学建模算法笔记(2)–主成分分析 目的:主成分分析的主要目的是希望用较少的变量去解释原来资料中的大部分变异,将我 们手中许多相关性很高的变量转化成彼此相互独立或不相关的变量,实际上是一种降维方法. ...
- LL1分析构造法_数学建模算法--最优赋权法(含代码)
数学建模算法--最优赋权法(含代码) 作者:郑铿城 本次介绍数学建模和科研写作的方法--最优赋权法最优赋权法经常用于分析评价类问题,从该算法的名称就可以看到,该算法首先要体现"最优" ...
- python dendrogram_【聚类分析】《数学建模算法与应用》第十章 多元分析 第一节 聚类分析 python实现...
第十章 多元分析 第一节 聚类分析 介绍 这里是司守奎教授的<数学建模算法与应用>全书案例代码python实现,欢迎加入此项目将其案例代码用python实现 GitHub项目地址:Math ...
- 数学建模算法学习笔记 已完结
这是为了准备国赛突击学习的模型算法,我在原有的基础上加上自己的理解虽然不知道对不对,就是为了记录下自己学的模型他究竟是个什么东西,语言通俗,但是极不准确,只适合做一个大概的了解,建议大家详细的还是要看 ...
- 数学建模算法学习笔记
数学建模算法学习笔记 作为建模Man学习数学建模时做的笔记 参考文献: <数学建模姜启源第四版> 网上搜罗来的各种资料,侵删 1.线性预测 levinson durbin算法,自相关什么的 ...
- 清风:数学建模算法、编程和写作培训
清风:数学建模算法.编程和写作培训 一.评价模型 1.1 层次分析法 1.2 代码详解 1.3 模型拓展 1.4 课后作业 二.插值与拟合模型 三.相关性模型 四.回归模型 五.图论模型 六.分类问题 ...
- 司守奎《数学建模算法与应用》课后习题:线性规划
系列目录 司守奎<数学建模算法与应用>课后习题:线性规划 模拟退火算法解决旅行商问题详解 遗传算法解决旅行商问题 MATLAB实现 基于模拟退火优化的投影寻踪评价法求解供货能力评价模型 目 ...
- matlab中yita怎么打,数学建模算法之模拟退火
数学建模算法之模拟退火 模拟退火算法来源于固体退火原理,是一种基于概率的算法,将固体加温至充分高,再让其徐徐冷却,加温时,固体内部粒子随温升变为无序状,内能增大,而徐徐冷却时粒子渐趋有序,在每个温度都 ...
最新文章
- 自己动手 从android硬件驱动到APP---(1)硬件驱动层
- IntelliJ IDEA安装后需要必须做的一件事
- 《深入解析sas:数据处理、分析优化与商业应用》一3.5 SAS常用函数
- 『中级篇』手动建立一个base Image(14)
- “unzip”不是内部或外部命令,也不是可运行的程序或批处理文件
- SparkContext详述
- liunx安装Lamp
- Python爬虫之小米应用商店
- 不可识别的字符转义序列_大庆事业单位车牌识别道闸多少钱,感应小区车牌识别道闸系统...
- 「小程序JAVA实战」小程序开源搜索组件(53)
- PDF Expert mac使用教程:压缩pdf文件大小
- 孙鑫VC学习笔记:第十五讲 (一) 进程和线程基本概念
- 【登陆设计】-【技术上】你会做WEB上的用户登录功能吗?
- python-声音录制和处理
- 塔防游戏制作教程(一)
- 更换光猫后网速变慢的解决办法
- PCIE控制器——设备地址空间访问——配置空间
- Android时间轴,RecyclerView实现
- JavaScript - navigator对象
- 下一代降维打击黑科技现身中国
热门文章
- 关于SSL握手的错误解决
- Vivado工程怎么用VCS仿真
- 少爷云台山风景区游记:回忆那一年的冬天
- [附源码]计算机毕业设计Python+uniapp基于Android的移动端校友通 zv2j0(程序+源码+LW+远程部署)
- 计算机辅助设计简称为才,高校视觉传达专业计算机辅助设计的学科建设论文
- 期货开仓篇2:海龟交易法则开仓,祖师爷的绝招一定要掌握
- 计算机考试文字颜色不对,2017年计算机一级考试WPS2007:让公式中的文字变个颜色...
- 网页音效简易解决方案audiosprite
- python绘制好几个子图_python使用matplotlib:subplot绘制多个子图 不规则画图
- 黄浩老师cpp平时作业(一)前五道水题