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.

plsregress

Regresión de mínimos cuadrados parciales

Sintaxis

[XL,YL] = plsregress(X,Y,ncomp)
[XL,YL,XS] = plsregress(X,Y,ncomp)
[XL,YL,XS,YS] = plsregress(X,Y,ncomp)
[XL,YL,XS,YS,BETA] = plsregress(X,Y,ncomp,...)
[XL,YL,XS,YS,BETA,PCTVAR] = plsregress(X,Y,ncomp)
[XL,YL,XS,YS,BETA,PCTVAR,MSE] = plsregress(X,Y,ncomp)
[XL,YL,XS,YS,BETA,PCTVAR,MSE] = plsregress(...,param1,val1,param2,val2,...)
[XL,YL,XS,YS,BETA,PCTVAR,MSE,stats] = plsregress(X,Y,ncomp,...)

Descripción

[XL,YL] = plsregress(X,Y,ncomp) calcula una regresión de mínimos cuadrados parciales (PLS) de on, utilizando componentes PLS, y devuelve las cargas de predictor y respuesta en y, respectivamente. es una-por-matriz de variables predictoras, con filas correspondientes a observaciones y columnas a variables. es una matriz de respuesta. es una-por-matriz de cargas predictoras, donde cada fila contiene coeficientes que definen una combinación lineal de componentes PLS que se aproximan a las variables predictoras originales. es una-por-matriz de cargas de respuesta, donde cada fila contiene coeficientes que definen una combinación lineal de componentes PLS que se aproximan a las variables de respuesta originales.YXncompXLYLXnpYnmXLpncompYLmncomp

[XL,YL,XS] = plsregress(X,Y,ncomp) Devuelve las puntuaciones predictoras, es decir, los componentes PLS que son combinaciones lineales de las variables en. es una matriz de-por-conjunto ortonormal con filas que corresponden a las observaciones y columnas a los componentes.XSXXSnncomp

[XL,YL,XS,YS] = plsregress(X,Y,ncomp) Devuelve las puntuaciones de respuesta, es decir, las combinaciones lineales de las respuestas con las que los componentes PLS tienen una covarianza máxima. es una-por-matriz con las filas correspondientes a las observaciones y columnas a los componentes. no es ortogonal ni normalizada.YSXSYSnncompYS

utiliza el algoritmo SIMPLS, primero centrado y restando la columna significa obtener variables centradas y.plsregressXYX0Y0 Sin embargo, no reescalar las columnas. Para realizar PLS con variables estandarizadas, utilice para normalizar y.zscoreXY

Si se omite, su valor predeterminado es.ncompmin(size(X,1)-1,size(X,2))

Las relaciones entre las puntuaciones, las cargas y las variables centradas son:X0Y0

,XL = (XS\X0)' = X0'*XS

,YL = (XS\Y0)' = Y0'*XS

y son los coeficientes de regresión y encendido, y y son las aproximaciones PLS a y.XLYLX0Y0XSXS*XL'XS*YL'X0Y0

calcula inicialmente como:plsregressYS

,YS = Y0*YL = Y0*Y0'*XS

Por Convención, sin embargo, a continuación, ortogonaliza cada columna de con respecto a las columnas anteriores de, por lo que es inferior triangular.plsregressYSXSXS'*YS

[XL,YL,XS,YS,BETA] = plsregress(X,Y,ncomp,...) Devuelve los coeficientes de regresión PLS. es una (+ 1) por matriz, que contiene términos de intercepción en la primera fila:BETABETApm

,Y = [ones(n,1),X]*BETA + Yresiduals

.Y0 = X0*BETA(2:end,:) + Yresiduals Aquí está el vector de los residuales de respuesta.Yresiduals

[XL,YL,XS,YS,BETA,PCTVAR] = plsregress(X,Y,ncomp) Devuelve un 2 por matriz que contiene el porcentaje de varianza explicado por el modelo.ncompPCTVAR La primera fila de contiene el porcentaje de varianza explicado por cada componente PLS, y la segunda fila contiene el porcentaje de varianza explicado en.PCTVARXY

[XL,YL,XS,YS,BETA,PCTVAR,MSE] = plsregress(X,Y,ncomp) Devuelve una matriz de 2 por (+ 1) que contiene los errores cuadráticos estimados para los modelos PLS con componentes.ncompMSE0:ncomp La primera fila de contiene errores de media cuadrado para las variables predictoras en, y la segunda fila contiene errores de media cuadrático para la variable (s) de respuesta en.MSEXY

[XL,YL,XS,YS,BETA,PCTVAR,MSE] = plsregress(...,param1,val1,param2,val2,...) especifica los pares de nombre/valor de parámetro opcionales de la tabla siguiente para controlar el cálculo de.MSE

ParámetroValor
'cv'

El método utilizado para calcular.MSE

  • Cuando el valor es un entero positivo, utiliza-dobla la validación cruzada.kplsregressk

  • Cuando el valor es un objeto de la cvpartition clase, se pueden especificar otras formas de validación cruzada.

  • Cuando el valor es, utiliza y ambos para ajustar el modelo y para estimar los errores cuadrado medio, sin validación cruzada.'resubstitution'plsregressXY

El valor predeterminado es.'resubstitution'

'mcreps'

Un entero positivo que indica el número de repeticiones de Montecarlo para la validación cruzada. El valor predeterminado es.1 El valor debe ser si el valor de is.1'cv''resubstitution'

options

Una estructura que especifica si se ejecutará en paralelo y especifica la secuencia aleatoria o las secuencias. Cree la estructura con.optionsstatset Campos de opción:

  • : Se configura para que se calcule en paralelo.UseParalleltrue El valor predeterminado es.false

  • : Se configura para que se calcule en paralelo de forma reproducible.UseSubstreamstrue El valor predeterminado es.false Para calcular reproduciblemente, establezca un tipo que permita subsecuencias: o.Streams'mlfg6331_64''mrg32k3a'

  • — Un objeto o matriz de celdas que consta de un objeto de este tipo.StreamsRandStream Si no se especifica, utiliza la secuencia predeterminada.Streamsplsregress

Para calcular en paralelo, necesitaParallel Computing Toolbox™

[XL,YL,XS,YS,BETA,PCTVAR,MSE,stats] = plsregress(X,Y,ncomp,...) Devuelve una estructura con los campos siguientes:stats

  • — A-por-matriz de pesos PLS de modo que.WpncompXS = X0*W

  • — ElT2T2 estadística para cada punto de.XS

  • — Los residuos predictores, es decir,.XresidualsX0-XS*XL'

  • — Los valores residuales de respuesta, es decir,.YresidualsY0-XS*YL'

Ejemplos

contraer todo

Cargue datos sobre intensidades espectrales de infrarrojo cercano (NIR) de 60 muestras de gasolina a 401 longitudes de onda y sus calificaciones de octanaje.

load spectra X = NIR; y = octane;

Realice la regresión PLS con diez componentes.

[XL,yl,XS,YS,beta,PCTVAR] = plsregress(X,y,10);

Graficar el porcentaje de varianza explicado en la variable de respuesta como una función del número de componentes.

plot(1:10,cumsum(100*PCTVAR(2,:)),'-bo'); xlabel('Number of PLS components'); ylabel('Percent Variance Explained in y');

Calcule la respuesta ajustada y visualice los residuos.

yfit = [ones(size(X,1),1) X]*beta; residuals = y - yfit; stem(residuals) xlabel('Observation'); ylabel('Residual');

Referencias

[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.

Capacidades ampliadas

Consulte también

|

Introducido en R2008a