主要内容

quantilePredict

班级:TreeBagger

使用袋子回归树预测响应量子

描述

例子

YFit= smileilepredict(MDL.X返回预测答复的中位数的向量X,预测器数据的表或矩阵,并使用袋子回归树MDL.MDL.必须是一个TreeBagger模型对象。

例子

YFit= smileilepredict(MDL.X名称,值使用一个或多个指定的其他选项名称,值对论点。例如,指定定量概率或要包括定量估计的树木。

例子

YFityw.] = SmianilePredict(___也返回稀疏矩阵响应的重量

输入参数

展开全部

一袋回归树,指定为aTreeBagger模型对象创建TreeBagger.的价值Mdl。方法必须是回归

用于估计定量的预测数据,指定为数字矩阵或表。

每一排X对应于一个观察,并且每列对应于一个变量。

  • 对于数值矩阵:

    • 组成列的变量X必须具有与培训的预测变量相同的顺序MDL.

    • 如果你训练有素MDL.使用表(例如,TBL.), 然后X可以是一个数字矩阵,如果TBL.包含所有数字预测变量。如果TBL.包含异构的预测变量(例如,数字和分类数据类型)和X是一个数字矩阵,然后quantilePredict抛出错误。

  • 对于表:

    • quantilePredict除了字符向量的单元金宝app格数组外,不支持多列变量和单元格数组。

    • 如果你训练有素MDL.使用表(例如,TBL.),然后所有预测器变量都在X必须具有与培训的变量相同的变量名称和数据类型MDL.(存储在mdl.predictornames.).但是,列顺序X不需要对应的列顺序TBL.TBL.X可以包含其他变量(响应变量,观察权重等),但是quantilePredict忽略了它们。

    • 如果你训练有素MDL.使用数字矩阵,然后是预测器名称mdl.predictornames.和相应的预测变量名X肯定是一样的。要在训练期间指定预测器名称,请参见预测名称 - 值对参数TreeBagger.所有预测因子变量X必须是数字向量。X可以包含其他变量(响应变量,观察权重等),但是quantilePredict忽略了它们。

数据类型:桌子|双倍的|单身的

名称值对参数

指定可选的逗号分隔的对名称,值论点。名称参数名和价值是相应的价值。名称必须出现在引号内。您可以以任何顺序指定多个名称和值对参数name1,value1,...,namen,valuen

分位数概率,指定为逗号分隔的配对分位数的和一个包含间隔中值的数字矢量[0,1]。对于每个观察(行)XquantilePredict返回所有概率的相应量程分位数

例子:'分位数',[0 0.25 0.5 0.75 1]

数据类型:单身的|双倍的

在响应估计中使用的树木指标,指定为包括的逗号分隔对'树木'“所有”或正整数的数字矢量。索引对应于细胞mdl.trees.;其中的每个单元格都包含在集合中的树。最大值必须小于或等于合奏中的树木数量(mdl.numtrees.).

“所有”quantilePredict使用索引1:mdl.numtrees.

例子:'树木',[1 10 mdl.numtrees]

数据类型:char|细绳|单身的|双倍的

来自各个树的响应的权重,指定为逗号分隔的对,由'treeweights'和一个数值向量numel(树木非负值。树木是值的价值名称-值对的论点。

默认为那些(大小(树木))

数据类型:单身的|双倍的

指定用于对每个观察的预测进行预测的指示器指定为逗号分隔的对'umermstancefortree'和一个n-经过-mdl.trees.逻辑矩阵。n是观察数(行)X.行umermstancefortree.对应于观测和列对应于学习者mdl.trees.“所有”在估计定位率时,表示在所有观察中使用所有树。

如果umermstancefortree(jk真的,然后quantilePredict使用树mdl.trees(树木k))当它预测对观察的反应时X (j:)

您可以使用响应数据估算Smalilemdl.y.直接而不是使用随机森林的预测来指定完全由随机森林的预测价值观。例如,估计分量可以观察j使用响应数据,并使用从随机林中的预测进行所有其他观察,指定此矩阵:

umerystancefortree = true(大小(mdl.x,2),mdl.numtrees);umermstancefortree(j,:)= false(1,mdl.numtrees);

数据类型:char|细绳|逻辑

输出参数

展开全部

估计量级,作为一个返回n-经过-numel(TAU数字矩阵。n观察的次数在吗X尺寸(x,1)) 和TAU的价值分位数.那是,YFIT(jk是估计的100 *TAUk给出的响应分配的%百分位数X (j:)并使用MDL.

响应权重,返回一个n火车-经过-n稀疏矩阵。n火车为训练数据中的响应次数(numel(mdl.y)) 和n观察的次数在吗X尺寸(x,1)).

quantilePredict使用经验累积分布函数(C.F.)的线性插值来预测定量。对于特定的观察,您可以使用其响应权重来使用替代方法来估计定量,例如近似C.d.f.使用内核平滑。

请注意

quantilePredict通过对集合中的树进行观测来获得响应权值。如果您指定umermstancefortree.你撰写了行j完全是值,然后YW (:,jmdl.w.相反,即观察权重。

例子

展开全部

加载Carsmall.数据集。考虑一种模型,该模型预测汽车的发动机位移的燃油经济性。

负载Carsmall.

使用整个数据集培训袋装回归树的集合。指定100个弱的学习者。

RNG(1);重复性的%mdl = treebagger(100,位移,mpg,'方法''回归');

MDL.是A.TreeBagger合奏。

执行量级回归以预测所有分类培训观察的中位MPG。

medianMPG = quantilePredict (Mdl、排序(位移));

中美洲是一个n- 给出了对应于响应的条件分布的中位数的1个数字矢量给出了分类的观察移位n观察的次数在吗移位

绘制同一个数字的观察和估计的中位数。比较中位数和均值的反应。

Makmpg =预测(MDL,Sort(位移));数字;情节(位移,MPG,'k。');抓住情节((位移),medianMPG);情节(排序(位移)、meanMPG'r--');ylabel(的燃油经济性);包含('发动机排量');传奇('数据'“中值”'意思');抓住离开

图中包含一个坐标轴。轴包含3个类型的线。这些对象代表数据,中位数,意思。

加载Carsmall.数据集。考虑一种模型,该模型预测汽车的发动机位移的燃油经济性。

负载Carsmall.

使用整个数据集培训袋装回归树的集合。指定100个弱的学习者。

RNG(1);重复性的%mdl = treebagger(100,位移,mpg,'方法''回归');

执行量级回归以预测最小和最大样本位移之间的十个同等间隔发动机位移的2.5%和97.5%百分比。

predX = linspace (min(位移),max(位移),10)';quantPredInts = quantilePredict (Mdl predX,分位数的[0.025, 0.975]);

Quantpredints.是一个10×2的数字矩阵,对应于观察的预测间隔predX.第一列包含2.5%百分比,第二列包含97.5%百分比。

绘制同一个数字的观察和估计的中位数。比较百分位预测间隔和95%预测间隔假设条件分布MPG.是高斯。

[意思是,stemeanmpg] =预测(mdl,predx);STNDPREDINTS = MASHMPG + [-1 1] * NORMINV(0.975)。* stemeanmpg;数字;H1 =图(位移,MPG,'k。');抓住h2 = plot(predx,quartpredints,'B');h3 = plot(predx,stndpredints,'r--');ylabel(的燃油经济性);包含('发动机排量');图例([H1,H2(1),H3(1)],{'数据''95%百分位预测间隔'......'95%高斯预测间隔'});抓住离开

图中包含一个坐标轴。轴线包含5个线型对象。这些对象代表Data, 95%百分位数预测区间,95%高斯预测区间。

加载Carsmall.数据集。考虑一种模型,该模型预测汽车的发动机位移的燃油经济性。

负载Carsmall.

使用整个数据集培训袋装回归树的集合。指定100个弱的学习者。

RNG(1);重复性的%mdl = treebagger(100,位移,mpg,'方法''回归');

估计四种训练观察的随机样本的响应权重。绘制训练样本并确定所选的观察。

[predx,idx] = dataMple(mdl.x,4);[〜,YW] = SmianilePredict(MDL,Predx);n = numel(mdl.y);数字;绘图(mdl.x,mdl.y,'o');抓住plot(predx,mdl.y(idx),'*''Markersize',10);文本(predx-10,mdl.y(idx)+1.5,{'Obs。1''Obs。2''Obs。3''Obs。4 '});传奇('培训数据'“选择观察”);包含('发动机排量')ylabel(的燃油经济性) 抓住离开

图中包含一个坐标轴。轴包含6个类型的类型线,文本。这些对象表示培训数据,选择的观察。

yw.是一个n-4稀疏矩阵,包含响应权值。列对应于测试观察值,行对应于训练样本中的响应。响应权值独立于指定的分位数概率。

估计答复的条件累积分配函数(C.C.D.F.):

  1. 排序响应是升序顺序,然后使用通过对响应进行排序引起的索引来排序响应权重。

  2. 计算排序响应权重的每列上的累积和。

[sorty,sortidx] = sort(mdl.y);cpdf = full(yw(sortIdx,:));ccdf = cumsum(cpdf);

ccdf (:, j)是经验的C.C.D.F.给定考察观察的响应j

绘制四个经验的C.C.F.F.在同一个图中。

数字;情节(Sorty,CCDF);传奇(" C.C.D.F.做了检查。1'" C.C.D.F.做了检查。2'......" C.C.D.F.做了检查。3'" C.C.D.F.做了检查。4 '......'地点''东南') 标题('有条件累积分配功能')Xlabel(的燃油经济性)ylabel(“经验提供”

图中包含一个坐标轴。标题为条件累积分布函数的轴包含4个类型为line的对象。这些对象表示给定的C.C.D.F.测试对象。1、C.C.D.F.给定的测试obs。2、C.C.D.F.给定的测试obs。3、C.C.D.F.给定的测试obs。4.

更多关于

展开全部

提示

quantilePredict每次调用它时都会使用培训数据估算响应的条件分布。要有效地预测许多定量,或者有效地定量许多观察结果,您应该通过X作为观察的矩阵或表格,并使用载体中的所有定量使用分位数名称-值对的论点。也就是说,避免呼唤quantilePredict在一个循环。

算法

  • TreeBagger使用训练数据增长回归树的随机森林。然后,实施斯蒂利随机森林quantilePredict使用响应的经验条件分布预测定量,给出了预测变量的观察。获得响应的经验条件分布:

    1. quantilePredict通过所有培训观察mdl.x.通过集合中的所有树木,并将其培训观察的叶节点存储在成员。

    2. quantilePredict同样地,传入每一个观察X通过集合中的所有树木。

    3. 对于每次观察XquantilePredict

      1. 通过计算估计响应的条件分布响应的重量对于每棵树。

      2. 对于观察kX,聚合整个集合的条件分布:

        F y | X x k σ. j 1 n σ. t 1 T 1 T w t j x k Y j ≤. y

        n为训练观察次数(尺寸(y,1)) 和T是集合中的树木数量(mdl.numtrees.).

    4. 对于观察kX,τ.分米或等等,100τ.%百分位数,是 τ. x k INF. y F y | X x k τ.

  • 这个过程描述了quantilePredict使用所有指定的权重。

    1. 所有训练观察j= 1,......,n和所有选中的树t= 1,......,T

      quantilePredict产品属性vTJ.bTJ.wj,Obs.训练观察j(存储在mdl.x.(j:)mdl.y.(j).bTJ.是观察的次数j是否在树的引导样本中twj,Obs.观察权重在吗mdl.w.(j

    2. 对于每个选择的树,quantilePredict识别每个训练观察落下的叶子。让年代txj)是包含在树叶子中的所有观察值的集合t的观察j是会员。

    3. 对于每个选择的树,quantilePredict将特定叶片内的所有重量标准化为1,即

      v t j * v t j σ. 年代 t x j v t

    4. 对于每个训练观察和树,quantilePredict包含树权重(wt,树)指定的TreeWeights, 那是,wTJ.,树wt,树vTJ.未被选择用于预测的树的权重为0。

    5. 所有测试观察k= 1,......,KX和所有选中的树t= 1,......,TquantilePredict预测观察结果下降的独特叶子,然后识别预测叶片内的所有培训观察。quantilePredict属于重量uTJ.这样

      u t j w t j * 如果 x k 年代 t x j 0 否则

    6. quantilePredict将重量汇总所有所选树木,即,

      u j σ. t 1 T u t j

    7. quantilePredict通过归一化权重创建响应权重,使得它们总和为1,即,

      w j * u j σ. j 1 n u j

参考

[1] Breiman,L。“随机森林。”机器学习45,pp。5-32,2001。

[2] Meinshausen,N。“斯蒂利回归森林。”机器学习研究杂志,第7卷,2006年,第983-999页。

介绍了R2016b