PLS入门

PLS入门:

1,两篇关键文章

[1] de Jong, S. "SIMPLS: An Alternative Approach to Partial Least Squares Regression." Chemometrics and Intelligent Laboratory Systems. Vol. 18, 1993, pp. 251–263.

[2] Rosipal, R., and N. Kramer. "Overview and Recent Advances in Partial Least Squares." Subspace, Latent Structure and Feature Selection: Statistical and Optimization Perspectives Workshop (SLSFS 2005), Revised Selected Papers (Lecture Notes in Computer Science 3940). Berlin, Germany: Springer-Verlag, 2006, pp. 34–51.

2,PLS回归是一种针对多变量的回归。是线性回归的最高峰。

最简单的函数格式为:[XL,YL] = plsregress(X,Y,ncomp)

这个函数意味着把x对y进行回归,并且选择ncomp个主成分,在所得的结果当中,xl和y l就是预测的回归变量的载荷值,相对的来说x是一个n-by-p的矩阵,它代表的是需要预测的变量。他的每一行表示特定样本的各种各样的观察值,它的每一列表示各种各样的变量。y是一个n乘以m的结局矩阵。在可能的情况下,N应该尽可能的是哑元变量。xl是一个,七乘,以n个主成分的,预测值的载荷,xl里边,每一排,都代表了一系列的系数,这些系数可以组成一个,线性的组合,也就是ps主成分的线性的组合。

举一个例子:

汽油在气缸中正常燃烧时火焰传播速度为10~20m/s,在爆震燃烧时可达1500~2000m/s。后者会使气缸温度剧升,汽油燃烧不完全,机器强烈震动,从而使输出功率下降,机件受损。与辛烷有同一分子方程式的异辛烷,其震爆现象最少,我们便把其辛烷值定为100。正庚烷一捧就爆,我们规定其的辛烷值为0,这两种标准燃料以不同的体积比混合起来,可得到各种不同的抗震性等级的混合液,在发动机工作相同条件下,与待测燃料进行对比。抗震性与样品相等的混合液中所含异辛烷百分数,即为该样品的辛烷值。汽油辛烷值大,抗震性好,质量也好。 把汽油中不同种类碳氢化合物的百分比,与其辛烷值相乘,加起来便是该种汽油的辛烷值。

在1997年,Kalivas, John H等人在论文 "Two Data Sets of Near Infrared Spectra," Chemometrics and Intelligent Laboratory Systems, v.37 (1997) pp.255-259.当中,描述了一个利用Near Infrared Spectra(近红外光谱)来分析汽油辛烷值的论文。利用401nm的近红外光谱,可以对汽油辛烷值。

要测定汽油的辛烷值,如果用震动汽油爆炸的方法,那么需要非常昂贵的设备,而且实验的重复性还很差。当然,也可以使用一系列的蒸馏方法将各种烷烃直接分开。但是雷德蒸馏测试仪,和其它的蒸馏装置非常昂贵。因此用相对廉价切稳定的红外光谱来分析辛烷值就成了一种挑战。但是红外光谱成像较为复杂。有200个峰以上。且不同谱峰间停留时间短。因此要从复杂的峰变换中获得良好的分析,需要采用高级的多元回归的方法。

在matlab中运行以下代码:

load spectra

whos NIR octane

运行的结果为:

Name Size Bytes Class Attributes

NIR 60x401 192480 double

octane 60x1 480 double

这表明有60个样本,每个样本有401个波峰,而他们的辛烷值(因为预先混合)有480个已知的值。我们需要做的事情,就是利用多元回归的方法去把这60*401个矩阵和60*1的矩阵进行回归。回归完成之后,如果以后有新的某种汽油的红外光谱数据,就可以方便的通过上述公式计算出它的辛烷值。

[dummy,h] = sort(octane);

oldorder = get(gcf,‘DefaultAxesColorOrder‘);

set(gcf,‘DefaultAxesColorOrder‘,jet(60));

plot3(repmat(1:401,60,1)‘,repmat(octane(h),1,401)‘,NIR(h,:)‘);

set(gcf,‘DefaultAxesColorOrder‘,oldorder);

xlabel(‘Wavelength Index‘); ylabel(‘Octane‘); axis(‘tight‘);

grid on

时间: 2024-10-12 19:57:14

PLS入门的相关文章

Python爬虫入门六之Cookie的使用

大家好哈,上一节我们研究了一下爬虫的异常处理问题,那么接下来我们一起来看一下Cookie的使用. 为什么要使用Cookie呢? Cookie,指某些网站为了辨别用户身份.进行session跟踪而储存在用户本地终端上的数据(通常经过加密) 比如说有些网站需要登录后才能访问某个页面,在登录之前,你想抓取某个页面内容是不允许的.那么我们可以利用Urllib2库保存我们登录的Cookie,然后再抓取其他页面就达到目的了. 在此之前呢,我们必须先介绍一个opener的概念. 1.Opener 当你获取一个

开始入门吧

引子:(引子都是废话.我写给我自己看的)     本来老早就要开始写有关Android学习的blog,因为BEC高级备考,所以往后推移,现在好了,终于有时间了.     写blog是一件很开心的事情,不管这一路如何,总之,这是个愉快的开始,同时也希望有一个愉快的结尾.     Android入门.实在不想买书.     一方面省点儿钱,第二方面互联网时代,学习计算机知识,你还在买书么?     我一直很讨厌看视频学习编程.因为太罗嗦.因为很挑剔.但是没有能力之前,你还是需要一个拐杖的:当然,我也

Spark入门实战系列--8.Spark MLlib(上)--机器学习及SparkMLlib简介

[注]该系列文章以及使用到安装包/测试数据 可以在<倾情大奉送--Spark入门实战系列>获取 1.机器学习概念 1.1 机器学习的定义 在维基百科上对机器学习提出以下几种定义: l“机器学习是一门人工智能的科学,该领域的主要研究对象是人工智能,特别是如何在经验学习中改善具体算法的性能”. l“机器学习是对能通过经验自动改进的计算机算法的研究”. l“机器学习是用数据或以往的经验,以此优化计算机程序的性能标准.” 一种经常引用的英文定义是:A computer program is said

Python爬虫入门之Cookie的使用

本节我们一起来看一下Cookie的使用. 为什么要使用Cookie呢? Cookie,指某些网站为了辨别用户身份.进行session跟踪而储存在用户本地终端上的数据(通常经过加密) 比如说有些网站需要登录后才能访问某个页面,在登录之前,你想抓取某个页面内容是不允许的.那么我们可以利用Urllib2库保存我们登录的Cookie,然后再抓取其他页面就达到目的了. 在此之前呢,我们必须先介绍一个opener的概念. 1.Opener 当你获取一个URL你使用一个opener(一个urllib2.Ope

webpack入门文档教程

.octicon{margin-right:2px}a.tabnav-extra:hover{color:#4078c0;text-decoration:none}.tabnav-btn{margin-left:10px}.filter-list{list-style-type:none}.filter-list.small .filter-item{padding:4px 10px;margin:0 0 2px;font-size:12px}.filter-list.pjax-active .

中文分词入门之字标注法4

http://www.52nlp.cn/%E4%B8%AD%E6%96%87%E5%88%86%E8%AF%8D%E5%85%A5%E9%97%A8%E4%B9%8B%E5%AD%97%E6%A0%87%E6%B3%A8%E6%B3%954 上一节主要介绍的是利用最大熵工具包来做字标注中文分词,这一节我们直奔主题,借用条件随机场工具“CRF++: Yet Another CRF toolkit”来完成字标注中文分词的全过程. 关于条件随机场(CRF)的背景知识,推荐参考阅读一些经典的文献:<条件

R语言快速上手入门

R语言快速上手入门 课程学习网址:http://www.xuetuwuyou.com/course/196 课程出自学途无忧网:http://www.xuetuwuyou.com 课程简介 本教程深入浅出地讲解如何使用R语言玩转数据.课程中涵盖R语言编程的方方面面,内容涉及R对象的类型.R的记号体系和环境系统.自定义函数.if else语句.for循环.S3类R的包系统以及调试工具等.本课程还通过示例演示如何进行向量化编程,从而对代码进行提速并尽可能地发挥R的潜能.本课程适合立志成为数据科学家的

笔记:Spring Cloud Zuul 快速入门

Spring Cloud Zuul 实现了路由规则与实例的维护问题,通过 Spring Cloud Eureka 进行整合,将自身注册为 Eureka 服务治理下的应用,同时从 Eureka 中获取了所有其他微服务的实例信息,这样的设计非常巧妙的将服务治理体系中维护的实例信息利用起来,使得维护服务实例的工作交给了服务治理框架自动完成,而对路由规则的维护,默认会将通过以服务名作为 ContextPath 的方式来创建路由映射,也可以做一些特别的配置,对于签名校验.登录校验等在微服务架构中的冗余问题

linux入门基础知识及简单命令介绍

linux入门基础知识介绍 1.计算机硬件组成介绍 计算机主要由cpu(运算器.控制器),内存,I/O,外部存储等构成. cpu主要是用来对二进制数据进行运算操作,它从内存中取出数据,然后进行相应的运算操作.不能从硬盘中直接取数据. 内存从外部存储中取出数据供cpu运存.内存的最小单位是字节(byte) 备注:由于32的cpu逻辑寻址能力最大为32内存单元.因此32位cpu可以访问的最大内存空间为:4GB,算法如下: 2^32=2^10*2^10*2^10*2^2 =1024*1024*1024