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.

ridge

Regresión de cresta

Descripción

ejemplo

B = ridge(y,X,k) Devuelve estimaciones de coeficiente para los Datos predictores y la respuesta.modelos de regresión de crestaXy Cada columna de corresponde a un parámetro de arista determinado.Bk De forma predeterminada, la función calcula después de centrar y escalar los predictores para que tengan la media 0 y la desviación estándar 1.B Dado que el modelo no incluye un término constante, no agregue una columna de 1s a.X

ejemplo

B = ridge(y,X,k,scaled) Especifica la escala para las estimaciones de coeficiente en.B Cuando es (valor predeterminado), no restaura los coeficientes a la escala de datos original.scaled1ridge Cuando es, restaura los coeficientes a la escala de los datos originales.scaled0ridge Para obtener más información, consulte.Escala de coeficiente

Ejemplos

contraer todo

Realice la regresión de cresta para un rango de parámetros de cresta y observe cómo cambian los cálculos del coeficiente.

Cargue el conjunto de datos.acetylene

load acetylene

contiene observaciones para las variables predictoras, y, y la variable de respuesta.acetylenex1x2x3y

Trace las variables predictoras entre sí. Observe cualquier correlación entre las variables.

plotmatrix([x1 x2 x3])

Por ejemplo, observe la correlación lineal entre y.x1x3

Calcular estimaciones de coeficiente para un modelo multilineal con términos de interacción, para un rango de parámetros de cresta. Se usa para crear términos de interacción y para realizar la regresión de cresta.x2fxridge

X = [x1 x2 x3]; D = x2fx(X,'interaction'); D(:,1) = []; % No constant term k = 0:1e-5:5e-3; B = ridge(y,D,k);

Trazar la traza de la cresta.

figure plot(k,B,'LineWidth',2) ylim([-100 100]) grid on  xlabel('Ridge Parameter')  ylabel('Standardized Coefficient')  title('Ridge Trace')  legend('x1','x2','x3','x1x2','x1x3','x2x3')

Las estimaciones se estabilizan a la derecha de la trama. Tenga en cuenta que el coeficiente del término de interacción cambia de signo en un valor del parámetro Ridgex2x3

<math display="block">
<mrow>
<mo></mo>
<mn>5</mn>
<mo>*</mo>
<mn>1</mn>
<msup>
<mrow>
<mn>0</mn>
</mrow>
<mrow>
<mo>-</mo>
<mn>4</mn>
</mrow>
</msup>
</mrow>
</math>
.

Predecir valores de millas por galón (MPG) usando regresión de cresta.

Cargue el conjunto de datos.carbig

load carbig X = [Acceleration Weight Displacement Horsepower]; y = MPG;

Divida los datos en conjuntos de pruebas y entrenamiento.

n = length(y); rng('default') % For reproducibility c = cvpartition(n,'HoldOut',0.3); idxTrain = training(c,1); idxTest = ~idxTrain;

Encuentre los coeficientes de un modelo de regresión de cresta (con k = 5).

k = 5; b = ridge(y(idxTrain),X(idxTrain,:),k,0);

Predecir valores para los datos de prueba utilizando el modelo.MPG

yhat = b(1) + X(idxTest,:)*b(2:end);

Compare los valores previstos con los valores reales de millas por galón (MPG) utilizando una línea de referencia.

scatter(y(idxTest),yhat) hold on plot(y(idxTest),y(idxTest)) xlabel('Actual MPG') ylabel('Predicted MPG') hold off

Argumentos de entrada

contraer todo

Datos de respuesta, especificados como un vector numérico de-por-1, donde es el número de observaciones.nn

Tipos de datos: single | double

Datos predictores, especificados como una matriz numérica.np Las filas de corresponden a las observaciones, y las columnas de corresponden a los predictores.XnXp

Tipos de datos: single | double

Parámetros de cresta, especificados como un vector numérico.

Ejemplo: [0.2 0.3 0.4 0.5]

Tipos de datos: single | double

Indicador de escalado que determina si se restauran las estimaciones de coeficiente en la escala de los datos originales, especificado como cualquiera o.B01 Si es así, realiza esta transformación adicional.scaled0ridge En este caso, contieneB p+1 coeficientes para cada valor de, con la primera fila de correspondiente a un término constante en el modelo.kB Si es así, el software omite la transformación adicional y contiene coeficientes sin un coeficiente de término constante.scaled1Bp

Argumentos de salida

contraer todo

Estimaciones de coeficiente, devueltas como una matriz numérica. Las filas de corresponden a los predictores en, y las columnas de corresponden a los parámetros de cresta.BXBk

Si es, entonces es una-por-matriz, donde está el número de elementos en.scaled1Bpmmk Si es, entonces es un (scaled0Bp+1) por matriz.m

Más acerca de

contraer todo

Ridge Regression

La regresión de cresta es un método para estimar coeficientes de modelos lineales que incluyen predictores correlacionados linealmente.

Las estimaciones de coeficiente para varios modelos de regresión lineal dependen de la independencia de los términos del modelo. Cuando los términos están correlacionados y las columnas de la matriz de diseño tienen una dependencia lineal aproximada, la matriz (XXT)X–1 está cerca del singular. Por lo tanto, la estimación de mínimos cuadrados

β^=(XTX)1XTy

es altamente sensible a los errores aleatorios en la respuesta observada, produciendo una gran varianza.y Esta situación de multicolinealidad puede surgir, por ejemplo, cuando se recopilan datos sin un diseño experimental.

La regresión de cresta aborda el problema de la multicolinealidad al estimar los coeficientes de regresión utilizando

β^=(XTX+kI)1XTy

donde está el parámetro Ridge y es la matriz de identidad.kI Valores pequeños y positivos de mejorar el acondicionamiento del problema y reducir la varianza de las estimaciones.k Aunque sesgada, la varianza reducida de las estimaciones de cresta a menudo resulta en un error cuadrado medio más pequeño cuando se compara con estimaciones de mínimos cuadrados.

Escala de coeficiente

La escala de las estimaciones de coeficiente para los modelos de regresión de cresta depende del valor del argumento de entrada.scaled

Supongamos que el parámetro Ridge es igual a 0.k Los coeficientes devueltos por, cuando es igual a, son estimaciones de laridgescaled1bi1 en el modelo multilineal

yμy = b11z1 + ... + bp1zp + ε

Dónde zi = (xiμi)/σi son los predictores centrados y escalados, –yμy es la respuesta centrada y es un término de error.ε Puede volver a escribir el modelo como

y = b00 + b10x1 + ... + bp0xp + ε

Con Y . elbi0 términos corresponden a los coeficientes devueltos por cuando es igual a.ridgescaled0

Más generalmente, para cualquier valor de, si, entonceskB1 = ridge(y,X,k,1)

       m = mean(X);        s = std(X,0,1)';        B1_scaled = B1./s;        B0 = [mean(y)-m*B1_scaled; B1_scaled]

Dónde.B0 = ridge(y,X,k,0)

Sugerencias

  • trata valores en o como valores faltantes. omite las observaciones con valores faltantes del ajuste de regresión de cresta.ridgeNaNXyridge

  • En general, establecer igual a para producir parcelas donde los coeficientes se muestran en la misma escala.scaled1 Consulte un ejemplo mediante un trazado de traza de cresta, donde los coeficientes de regresión se muestran como una función del parámetro Ridge.Ridge Regression Al hacer predicciones, establecer igual a.scaled0 Para ver un ejemplo, vea.Predecir valores usando regresión de cresta

Funcionalidad alternativa

  • La regularización de cresta, lazo y red elástica son todos métodos para estimar los coeficientes de un modelo lineal mientras penalizan los coeficientes grandes. El tipo de penalización depende del método (ver para más detalles).Más acerca de Para realizar la regularización de red con lazo o elástico, utilice en su lugar.Lazo

  • Si tiene datos de predictor completos o dispersos de alta dimensión, puede usar en lugar de.fitrlinearridge Cuando se usa, especifique el argumento de par nombre-valor.fitrlinear'Regularization','ridge' Establezca el valor del argumento de par nombre-valor en un vector de los parámetros de arista de su elección. Devuelve un modelo lineal entrenado.'Lambda'fitrlinearMdl Puede acceder a las estimaciones de coeficiente almacenadas en la propiedad del modelo utilizando.BetaMdl.Beta

Referencias

[1] Hoerl, A. E., and R. W. Kennard. “Ridge Regression: Biased Estimation for Nonorthogonal Problems.” Technometrics. Vol. 12, No. 1, 1970, pp. 55–67.

[2] Hoerl, A. E., and R. W. Kennard. “Ridge Regression: Applications to Nonorthogonal Problems.” Technometrics. Vol. 12, No. 1, 1970, pp. 69–82.

[3] Marquardt, D. W. “Generalized Inverses, Ridge Regression, Biased Linear Estimation, and Nonlinear Estimation.” Technometrics. Vol. 12, No. 3, 1970, pp. 591–612.

[4] Marquardt, D. W., and R. D. Snee. “Ridge Regression in Practice.” The American Statistician. Vol. 29, No. 1, 1975, pp. 3–20.

Consulte también

| | |

Introducido antes de R2006a