主要内容

Kfoldpredict.

预测未用于培训的观察的响应

描述

例子

yhat= kfoldpredict(cvmdl.的)通过交叉验证的线性回归模型返回交叉验证的预测响应cvmdl.。也就是说,对于每一个折叠,Kfoldpredict.预测观察结果的响应,即它在使用所有其他观察中培训它时它能够抓住它。

yhat包含组成的线性回归模型中的每个正则化强度的预测响应cvmdl.

输入参数

展开全部

交叉验证的线性回归模型,指定为a回归排球管道模型对象。你可以创建一个回归排球管道模型使用Fitrinear.例如,指定一个交叉验证,名称值对参数中的任何一个,横梁

为了获得估计,kfoldpredict应用于交叉验证线性回归模型的相同数据(Xy)。

输出参数

展开全部

交叉验证的预测响应,作为一个返回N.-经过-L.数字数组。N.是创建的预测数据中的观测数量cvmdl.(看X) 和L.是正规化优势的数量cvmdl.tromed {1} .lambdayhat(一世j的)是预测的观察回应一世使用具有正则化强度的线性回归模型cvmdl.trined {1} .lambda(j的)

使用具有正则化强度的模型的预测响应j y ^ j = X β j + B. j

  • X是从预测器数据矩阵的观察X,并且是行矢量。

  • β j 是系数的估计柱矢量。该软件存储此向量mdl.beta(:,j的)

  • B. j 是估计的标量偏差,软件商店mdl.bias(j的)

例子

展开全部

从该模型中模拟10000个观察

y = X 1 0. 0. + 2 X 2 0. 0. + E.

  • X = X 1 X 1 0. 0. 0. 是10000×1000次稀疏矩阵,具有10%的非零标准正常元素。

  • E.随机正常误差,平均值0和标准偏差0.3。

RNG(1)再现性的百分比n = 1E4;d = 1E3;nz = 0.1;x = sprandn(n,d,nz);y = x(:,100)+ 2 * x(:,200)+ 0.3 * randn(n,1);

交叉验证线性回归模型。

cvmdl = fitrineear(x,y,'横穿''在'的)
cvmdl =回归排放后的线性CrossValidatedModel:'Linear'rancectename:'y'numobservations:10000 kfold:10分区:[1x1 cvpartition] ranceateetransform:'无'属性,方法
mdl1 = cvmdl.tromed {1}
MDL1 =回归线ractracemame:'y'responsefransform:'none'beta:[1000x1双]偏置:0.0107 lambda:1.1111e-04学习者:'svm'属性,方法

默认情况下,Fitrinear.实现10倍的交叉验证。cvmdl.是A.回归排球管道模型。它包含该物业训练有素,这是一个10×1个单元阵列保持10回归线性使用培训集培训的软件的模型。

预测观察的反应Fitrinear.没有使用训练折叠。

yhat = kfoldpredict(cvmdl);

因为有一个正则化力量MDL.yhat是数字矢量。

模拟10000个观察预测交叉验证的响应

RNG(1)再现性的百分比n = 1E4;d = 1E3;nz = 0.1;x = sprandn(n,d,nz);y = x(:,100)+ 2 * x(:,200)+ 0.3 * randn(n,1);

创建一组15个对数间隔的正则化强度 1 0. - 5. 通过 1 0. - 1

lambda = logspace(-5,-1,15);

交叉验证模型。为了提高执行速度,转换预测器数据并指定观察中的观察。使用Lasso惩罚使用最小二乘和使用Sparsa优化目标函数。

x = x';cvmdl = fitrineear(x,y,'观察''列''kfold',5,'lambda',lambda,......'学习者''最小要条件''求解''sparsa''正规化''套索');

cvmdl.是A.回归排球管道模型。它的训练有素属性包含一个培训的5×1个单元格数组回归线性模型,每个人在训练期间保持不同的折叠。因为Fitrinear.使用15个正则化优势训练,您可以想到每个正则化回归线性型号为15型号。

预测交叉验证的响应。

yhat = kfoldpredict(cvmdl);尺寸(yhat)
ANS =.1×210000 15.
yhat(2,:)
ANS =.1×15.-1.7338 -1.7332 -1.7319 -1.7299 -1.7266 -1.7239 -1.7135 -1.7210 -1.7324 -1.7063 -1.6397 -1.5112 -1.2631-0.7841-0.0096

yhat是一个10000×15的矩阵。yhat(2,:)是观察2的交叉验证响应,使用包含所有15个正则化值的模型。

在R2016A介绍