Esta página aún no se ha traducido para esta versión. Puede ver la versión más reciente de esta página en inglés.

oobQuantilePredict

Clase: TreeBagger

Las predicciones de cuantil para las observaciones fuera de bolsa de la bolsa de árboles de regresión

Descripción

ejemplo

YFit = oobQuantilePredict(Mdl) Devuelve un vector de medianas de las respuestas pronosticadas en todas las observaciones de los Datos predictores y el uso, que es una bolsa de árboles de regresión. debe ser un objeto de modelo y no debe estar vacío.fuera de bolsaMdl.XMdlMdlTreeBaggerMdl.OOBIndices

ejemplo

YFit = oobQuantilePredict(Mdl,Name,Value) utiliza opciones adicionales especificadas por uno o más argumentos de par.Name,Value Por ejemplo, especifique las probabilidades de cuantil o los árboles que se incluirán para la estimación de cuantil.

ejemplo

[YFit,YW] = oobQuantilePredict(___) también devuelve una matriz dispersa de usar cualquiera de las sintaxis anteriores.pesos de respuesta

Argumentos de entrada

expandir todo

Bolsa de árboles de regresión, especificada como un objeto de modelo creado porTreeBagger TreeBagger.

  • El valor de debe ser.Mdl.MethodRegresión

  • Cuando entrenas usandoMdl TreeBagger, debe especificar el par nombre-valor.'OOBPrediction','on' En consecuencia, guarda la matriz de índice de observación fuera de bolsa requerida.TreeBaggerMdl.OOBIndices

Argumentos de par nombre-valor

Especifique pares de argumentos separados por comas opcionales. es el nombre del argumento y es el valor correspondiente. deben aparecer dentro de las cotizaciones.Name,ValueNameValueName Puede especificar varios argumentos de par de nombre y valor en cualquier orden como.Name1,Value1,...,NameN,ValueN

Probabilidad cuantil, especificada como el par separado por comas que consta de y un vector numérico que contiene valores en el intervalo [0,1].'Quantile' Para cada observación (fila) en,Mdl.X oobQuantilePredict estima los cuantiles correspondientes para todas las probabilidades en.Quantile

Ejemplo: 'Quantile',[0 0.25 0.5 0.75 1]

Tipos de datos: single | double

Índices de árboles que se utilizarán en la estimación de respuesta, especificados como el par separado por comas consistente en un vector numérico de enteros positivos.'Trees''all' Los índices corresponden a las celdas de; cada celda contiene un árbol en el conjunto.Mdl.Trees El valor máximo de debe ser menor o igual que el número de árboles en el conjunto ().TreesMdl.NumTrees

Para'all' oobQuantilePredict utiliza los índices.1:Mdl.NumTrees

Ejemplo: 'Trees',[1 10 Mdl.NumTrees]

Tipos de datos: char | string | single | double

Ponderaciones para atribuir a las respuestas de árboles individuales, especificadas como el par separado por comas que consta de un vector numérico de'TreeWeights' numel(trees) valores no negativos. trees es el valor del argumento de par nombre-valor.Trees

El valor predeterminado es ones(size(trees)).

Tipos de datos: single | double

Argumentos de salida

expandir todo

Cuantiles estimados para observaciones fuera de bolsa, devueltos como un npornumel(tau) matriz numérica. n es el número de observaciones en los datos de entrenamiento () ynumel(Mdl.Y) tau es el valor del argumento de par nombre-valor.Quantile Es decir YFit(j,k) es el estimado 100*tau(k) percentil de la distribución de la respuesta dada X(j,:) y el uso.Mdl

, devuelta como una matriz dispersa. es el número de respuestas en los datos de entrenamiento ().Los pesos de respuestannnnumel(Mdl.Y) YW(:,j) especifica los pesos de respuesta para la observación en Mdl.X(j,:).

oobQuantilePredict predice cuantiles mediante la interpolación lineal de la función de distribución acumulativa empírica (CDF). Para una observación en particular, puede utilizar sus pesos de respuesta para estimar cuantiles utilizando métodos alternativos, como aproximar el CDF utilizando.kernel smoothing

Ejemplos

expandir todo

Cargue el conjunto de datos.carsmall Considere un modelo que predice la economía de combustible (en MPG) de un automóvil debido a su desplazamiento del motor.

load carsmall

Entrena un conjunto de árboles de regresión en bolsas usando todo el conjunto de datos. Especifique 100 estudiantes débiles y ahorre índices fuera de bolsa.

rng(1); % For reproducibility Mdl = TreeBagger(100,Displacement,MPG,'Method','regression',...     'OOBPrediction','on');

es un conjunto.MdlTreeBagger

Realice la regresión cuantil para predecir la economía de combustible mediana fuera de bolsa para todas las observaciones de entrenamiento.

oobMedianMPG = oobQuantilePredict(Mdl);

es un vector numérico de medianas de medianas que corresponde a la distribución condicional de la respuesta dadas las observaciones ordenadas en. es el número de observaciones,.oobMedianMPGnMdl.Xnsize(Mdl.X,1)

Ordene las observaciones en orden ascendente. Trazar las observaciones y las medianas estimadas en la misma figura. Compare la mediana y la media de las respuestas fuera de la bolsa.

[sX,idx] = sort(Mdl.X); oobMeanMPG = oobPredict(Mdl);  figure; plot(Displacement,MPG,'k.'); hold on plot(sX,oobMedianMPG(idx)); plot(sX,oobMeanMPG(idx),'r--'); ylabel('Fuel economy'); xlabel('Engine displacement'); legend('Data','Out-of-bag median','Out-of-bag mean'); hold off;

Cargue el conjunto de datos.carsmall Considere un modelo que predice la economía de combustible de un automóvil (en MPG) dado el desplazamiento del motor.

load carsmall

Entrena un conjunto de árboles de regresión en bolsas usando todo el conjunto de datos. Especifique 100 estudiantes débiles y ahorre índices fuera de bolsa.

rng(1); % For reproducibility Mdl = TreeBagger(100,Displacement,MPG,'Method','regression',...     'OOBPrediction','on');

Realice la regresión de cuantil para predecir los percentiles de 2,5% y 97,5% fuera de bolsa.

oobQuantPredInts = oobQuantilePredict(Mdl,'Quantile',[0.025,0.975]);

es una matriz numérica de intervalos de predicción de-por-2 correspondiente a las observaciones fuera de bolsa en. es el número de observaciones,.oobQuantPredIntsnMdl.Xnsize(Mdl.X,1) La primera columna contiene los percentiles 2,5% y la segunda columna contiene los percentiles 97,5%.

Trazar las observaciones y las medianas estimadas en la misma figura. Compare los intervalos de predicción de percentiles y los intervalos de predicción de 95%, suponiendo que la distribución condicional de es Gaussiana.MPG

[oobMeanMPG,oobSTEMeanMPG] = oobPredict(Mdl); STDNPredInts = oobMeanMPG + [-1 1]*norminv(0.975).*oobSTEMeanMPG; [sX,idx] = sort(Mdl.X);  figure; h1 = plot(Displacement,MPG,'k.'); hold on h2 = plot(sX,oobQuantPredInts(idx,:),'b'); h3 = plot(sX,STDNPredInts(idx,:),'r--'); ylabel('Fuel economy'); xlabel('Engine displacement'); legend([h1,h2(1),h3(1)],{'Data','95% percentile prediction intervals',...     '95% Gaussian prediction intervals'}); hold off;

Cargue el conjunto de datos.carsmall Considere un modelo que predice la economía de combustible de un automóvil (en MPG) dado el desplazamiento del motor.

load carsmall

Entrena un conjunto de árboles de regresión en bolsas usando todo el conjunto de datos. Especifique 100 estudiantes débiles y guarde los índices fuera de bolsa.

rng(1); % For reproducibility Mdl = TreeBagger(100,Displacement,MPG,'Method','regression',...     'OOBPrediction','on');

Calcule los pesos de respuesta fuera de bolsa.

[~,YW] = oobQuantilePredict(Mdl);

es una matriz dispersa n-by-n que contiene los pesos de respuesta. es el número de observaciones de formación,.YWnnumel(Y) Los pesos de respuesta para la observación en están en.Mdl.X(j,:)YW(:,j) Los pesos de respuesta son independientes de las probabilidades de cuantil especificadas.

Estimar la función de distribución acumulativa condicional (CCDF) fuera de bolsa de las respuestas por:

  1. Ordenar las respuestas es ascendente y, a continuación, ordenar los pesos de respuesta utilizando los índices inducidos por la ordenación de las respuestas.

  2. Calcular las sumas acumuladas sobre cada columna de los pesos de respuesta ordenados.

[sortY,sortIdx] = sort(Mdl.Y); cpdf = full(YW(sortIdx,:)); ccdf = cumsum(cpdf);

es el CCDF empírico fuera de bolsa de la respuesta, dada la observación.ccdf(:,j)j

Elija una muestra aleatoria de cuatro observaciones de entrenamiento. Trace la muestra de formación e identifique las observaciones elegidas.

[randX,idx] = datasample(Mdl.X,4); figure; plot(Mdl.X,Mdl.Y,'o'); hold on plot(randX,Mdl.Y(idx),'*','MarkerSize',10); text(randX-10,Mdl.Y(idx)+1.5,{'obs. 1' 'obs. 2' 'obs. 3' 'obs. 4'}); legend('Training Data','Chosen Observations'); xlabel('Engine displacement') ylabel('Fuel economy') hold off

Trace el CCDF fuera de bolsa para las cuatro respuestas elegidas en la misma figura.

figure; plot(sortY,ccdf(:,idx)); legend('ccdf given obs. 1','ccdf given obs. 2',...     'ccdf given obs. 3','ccdf given obs. 4',...     'Location','SouthEast') title('Out-of-Bag Conditional Cumulative Distribution Functions') xlabel('Fuel economy') ylabel('Empirical CDF')

Más acerca de

expandir todo

Algoritmos

oobQuantilePredict calcula los cuantiles fuera de bolsa aplicando quantilePredict a todas las observaciones de los datos de formación ().Mdl.X Para cada observación, el método utiliza sólo los árboles para los que la observación es fuera de bolsa.

Para las observaciones que están en el bolso para todos los árboles en el conjunto, oobQuantilePredict asigna el cuantil de muestra de los datos de respuesta. En otras palabras, oobQuantilePredict no utiliza la regresión de cuantil para las observaciones fuera de bolsa. En su lugar, asigna quantile(Mdl.Y,tau)Dónde tau es el valor del argumento de par nombre-valor.Quantile

Referencias

[1] Meinshausen, N. “Quantile Regression Forests.” Journal of Machine Learning Research, Vol. 7, 2006, pp. 983–999.

[2] Breiman, L. “Random Forests.” Machine Learning. Vol. 45, 2001, pp. 5–32.

Introducido en R2016b