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.

Regresión robusta: reduce los efectos de valor atípico

¿Qué es la regresión robusta?

Los modelos descritos en se basan en ciertas suposiciones, como una distribución normal de errores en las respuestas observadas.¿Qué es un modelo de regresión lineal? Si la distribución de errores es asimétrica o propenso a valores atípicos, se invalidan los supuestos de modelo y las estimaciones de parámetros, los intervalos de confianza y otras estadísticas calculadas se vuelven poco fiables. Utilízarlo con el par nombre-valor para crear un modelo que no se vea muy afectado por los valores atípicos.fitlmRobustOpts El método de ajuste robusto es menos sensible que los mínimos cuadrados ordinarios a grandes cambios en pequeñas partes de los datos.

La regresión robusta funciona asignando un peso a cada punto de datos. La ponderación se realiza automáticamente y de forma iterativa mediante un proceso llamado .iteratively reweighted least squares En la primera iteración, a cada punto se le asigna el mismo peso y los coeficientes del modelo se estiman utilizando mínimos cuadrados ordinarios. En las iteraciones subsiguientes, las ponderaciones se recalculan para que los puntos más alejados de las predicciones del modelo en la iteración anterior tengan un menor peso. A continuación, los coeficientes de modelo se recalculan utilizando mínimos cuadrados ponderados. El proceso continúa hasta que los valores de las estimaciones de coeficiente converjan dentro de una tolerancia especificada.

Regresión robusta versus ajuste de mínimos cuadrados estándar

En este ejemplo se muestra cómo usar una regresión robusta. Compara los resultados de un ajuste robusto con un ajuste de mínimos cuadrados estándar.

Paso 1. Prepare los datos.

Cargue los datos.moore Los datos están en las primeras cinco columnas y la respuesta en el sexto.

load moore X = [moore(:,1:5)]; y = moore(:,6);

Paso 2. Ajuste modelos robustos y no robustos.

Ajuste dos modelos lineales a los datos, uno usando un accesorio robusto, uno no.

mdl = fitlm(X,y); % not robust mdlr = fitlm(X,y,'RobustOpts','on');

Paso 3. Examine los residuales del modelo.

Examine los residuos de los dos modelos.

subplot(1,2,1) plotResiduals(mdl,'probability') subplot(1,2,2) plotResiduals(mdlr,'probability')

Los residuos del ajuste robusto (la mitad derecha de la trama) están casi todos más cerca de la línea recta, a excepción de un outlier obvio.

Paso 4. Quite el valor atípico del modelo estándar.

Busque el índice del valor atípico. Examine el peso del valor atípico en el ajuste robusto.

[~,outlier] = max(mdlr.Residuals.Raw); mdlr.Robust.Weights(outlier)
ans = 0.0246 

Compruebe el peso mediano.

median(mdlr.Robust.Weights)
ans = 0.9718 

Este peso del valor atípico en el ajuste robusto es mucho menor que un peso típico de una observación.

Consulte también

| |

Temas relacionados