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 Regression

Introducción a Ridge Regression

Las estimaciones de coeficiente para los modelos descritos se basan en la independencia de los términos del modelo.Regresión lineal 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 se acerca al singular. Como resultado, la estimación de mínimos cuadrados

β^=(XTX)1XTy

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

resuelve el problema calculando los coeficientes de regresión utilizandoRegresión de cresta

β^=(XTX+kI)1XTy

¿Dónde está elk y es la matriz de identidad.parámetro de crestaI Pequeños valores 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 resultan en un error cuadrado medio más pequeño en comparación con las estimaciones de mínimos cuadrados.

La función lleva a cabo la regresión de cresta.Statistics and Machine Learning Toolbox™ridge

Ridge Regression

Este ejemplo muestra cómo realizar la regresión de cresta.

Cargue los datos en, con las observaciones de las variables predictoras, y la variable de respuesta.acetylene.matx1x2x3y

load acetylene

Trace las variables predictoras entre sí.

subplot(1,3,1) plot(x1,x2,'.') xlabel('x1') ylabel('x2') grid on axis square  subplot(1,3,2) plot(x1,x3,'.') xlabel('x1') ylabel('x3') grid on axis square  subplot(1,3,3) plot(x2,x3,'.') xlabel('x2') ylabel('x3') grid on axis square

Tenga en cuenta la correlación entre y las otras dos variables predictoras.x1

Utilice y calcule las estimaciones de coeficiente para un modelo multilineal con términos de interacción, para un rango de parámetros de cresta.ridgex2fx

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

Trazar la traza de la cresta.

figure plot(k,betahat,'LineWidth',2) ylim([-100 100]) grid on  xlabel('Ridge Parameter')  ylabel('Standardized Coefficient')  title('{\bf 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>
.

Consulte también

Temas relacionados