Matlab的matlab plsregresss函数怎样确定ncomp

Matlab多元回归regress实例_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
Matlab多元回归regress实例
阅读已结束,下载文档到电脑
想免费下载更多文档?
定制HR最喜欢的简历
你可能喜欢网站已改版,请使用新地址访问:
Plsregress 偏最小二乘回归分析,matlab源程序,说明详细,应用简单
276万源代码下载-
&文件名称: Plsregress& & [
& & & & &&]
&&所属分类:
&&开发工具: matlab
&&文件大小: 1 KB
&&上传时间:
&&下载次数: 50
&&提 供 者:
&详细说明:偏最小二乘回归分析,matlab源程序,说明详细,应用简单-Plsregress matlab
文件列表(点击判断是否您需要的文件,如果是垃圾请在下面评价投诉):
&&Plsregress.m
&[]:很好,推荐下载&[]:很好,推荐下载
&近期下载过的用户:
&&&&&&&&&&&&&&&&&&[]
&相关搜索:
&输入关键字,在本站276万海量源码库中尽情搜索:
&[] - 偏最小二乘法PLS的NIPALS算法Matlab程序及例子①
&[] - 偏最小二乘法pls的原理,例子,算法,练习,包含完整代码
&[] - 脑电特征提取的的matlab算法EEG feature extraction
&[] - 主成分分析(PCA)算法是用于简化数据的一种技术,对于某些复杂数据就可应用主成分分析法对其进行简化。
&[] - 利用MATLAB软件实现偏最小二乘回归方程模型
&[] - platform dependent support.
&[] - closed paths are not equal, the iter explicitly gives the closing
edge, even if it is not in the path.
&[] - 自己编写的偏最小二乘回归模型matlab程序,附带详细的说明。
&[] - 非常好的偏最小二乘分析的程序,包含了典型相关分析、主成分分析和多元线性回归。可以根据具体的需要更改代码变成非线性回归,建立多个自变量和多个因变量之间的关系应用很广。包含计算程序和画图表示结果的程序两个m文件
&[] - 这是很全面偏最小二乘法程序,并且具有中文注释,有效帮助大家利用PLS算法。5261人阅读
统计建模 机器学习 模式识别(1)
&/pre&&pre code_snippet_id=&370100& snippet_file_name=&blog__4718563& name=&code& class=&plain&&
load('sample_alldata.mat');
sample=10000*sample_alldata(:,2:end-1);
wave_s=34;
wave_e=464;
data_train=sample(1:65,wave_s:wave_e);
data_predict=sample(66:end,wave_s:wave_e);
target_out=sample_alldata(1:65,end);%训练集
data_predict=data_predict/max(data_predict);%测试
predict_out=sample_alldata(66:end,end);
num=size(data_train,1);%训练集样本数
for i=1:num
%数据标准化
data_train(i,:)=zscore(data_train(i,:));
n=size(data_train,2);%自变量维度
m=size(target_out,2);%因变量维度
%for i=1:num-1
%forj=1:num
% [XL,YL,XS,YS,beta,PCTVAR,MSE]=plsregress(data_train,target_out,i);
handleofwaitbar=waitbar(0);%设置进度条便于观察
for h=2:num-2 %分别验证选取不同的成分数时,成分数不能多于样本数
ncomp=h;%成分数
[XL,YL,XS,YS,beta,PCTVAR,MSE]=plsregress(data_train,target_out,ncomp-1);%所有的样本建模,但成分数少一(h-1个成分)
yfit=[ones(size(data_train,1),1) data_train]*%所有样本的模型预测值
res=yfit-target_%误差向量
SS_h1=sum(res.^2);%平方和
mse=[mse sum(MSE(2,:).^2)];
SS=[SS SS_h1];
PRESS_h=0;
for i=1: %所有样本都轮流抽出来一次
data_train_cv=data_
target_out_cv=target_
data_train_cv(i,:)=[];%去掉一行(去掉一个样本)
target_out_cv(i,:)=[];
[XL,YL,XS,YS,beta,PCTVAR,MSE]=plsregress(data_train_cv,target_out_cv,ncomp);%减少一个参与建模的样本,但是增加一个成分来建模,同时,每次建模抽取未参与建模的一个样本来进行预测。
yfit_i=[1 data_train(i,:)]*%预测未被加入建模的一个i样本的输出值
residuals=yfit_i-target_out(i);%本个样本预测后的残差(标量)
PRESS_h=PRESS_h+(residuals.^2);
PRESS=[PRESS PRESS_h];%选取h个样本时的误差
%MSE_vec=[MSE_vec MSE];
Q_addh=1-PRESS_h/SS_h1;%用于评价增加此成分是否有意义
Q=[Q Q_addh];
waitbar(h/(num-2),handleofwaitbar,[' 已完成',num2str(h-1),'/',num2str(num-3)]);
样本为n*p的矩阵,n为样本数,p为每个样本的自变量维度(自变量个数)
输出为n*m的矩阵,n为样本数,m为每个样本的因变量维度
交叉验证过程分别计算h个成分数的加扰动预测误差PRESS以及h-1个成分数的预测误差。
转载请注明出处。
&&相关文章推荐
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:14583次
排名:千里之外
(1)(1)(1)(1)(1)}

我要回帖

更多关于 regress函数 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信