The raise regression

Justification, properties and application
artículo
alzado
residualización
Author

R. Salmerón

Published

May 6, 2024

El pasado 2 de mayo (de 2024) se publicó nuestro trabajo titulado “The raise regression: justification, properties and application” (https://doi.org/10.1111/insr.12575) en International Statistical Review. Destacar que además del artículo original, existe una versión inicial publicada en arXiv de igual título.

En dicho trabajo presentamos la regresión alzada como método idóneo para tratar la multicolinealidad aproximada preocupante en modelos de regresión lineal múltiple (MRLM). Con tal objetivo aglutinamos resultados previos recogidos en artículos previos y presentamos nuevos aspectos de esta metodología aún no desarrollados. En definitiva, en este trabajo se puede encontrar una expresión cerrada del estimador alzado en un MRLM con un número \(p\) genérico de variables independientes (no transformadas), así como para su matriz de varianzas-covarianzas, error cuadrático medio, bondad de ajuste, inferencia (individual y conjunta), norma, factor de inflación de la varianza, número de condición y coeficiente de variación. Igualmente, se analiza su relación con la regresión residualizada (ver el trabajo “Residualization: justification, properties and application” en Journal of Applied Statistics).

Esta técnica tiene un fundamento geométrico de la multicolinealidad, ya que consiste en separar los vectores generados por dos variables relacionadas fuertemente de forma lineal debilitando así dicha relación.

Visión geométrica del alzado: alzando la variable x1 se consigue aumentar el ángulo con la variable x2

A modo de ejemplo a continuación se consideran los mismos datos usados para ilustrar la redefinición del factor de inflación de la varianza. Concretamente, se generan tres variables \(\mathbf{z}\), \(\mathbf{v}\) y \(\mathbf{w}\) tales que la primera está fuertemente relacionada con la constante y la segunda y tercera están fuertemente relacionadas (linealmente) entre sí.

rm(list=ls())
set.seed(2024)
obs = 50
cte = rep(1, obs)
z = rnorm(obs, 5, 0.1)
v = rnorm(obs, -3, 4)
w = v + rnorm(obs, 1, 0.5)

Calculando (a partir de la función disponible en funciones.txt) los ángulos entre los vectores que generan las variables de la matriz de diseño \(\mathbf{X} = [ \mathbf{1}, \mathbf{z}, \mathbf{v}, \mathbf{w} ]\), se obtiene:

source("funciones.txt")
angle(cte, z)
[1] 1.206511
angle(cte, v)
[1] 130.6866
angle(cte, w)
[1] 121.7436
angle(z, v)
[1] 130.665
angle(z, w)
[1] 121.7024
angle(v, w)
[1] 10.55946

Se observa que los valores de la constante con \(\mathbf{z}\) y de \(\mathbf{v}\) con \(\mathbf{w}\) son pequeños, confirmando la hipótesis inicial.

Si se alza la variable \(\mathbf{z}\) con respecto al resto de variables independientes (incluida la constante) para valores del parámetro de alzado, \(\lambda\), pertenecientes al intervalo [0, 5000] y calculamos el ángulo entre la variable alzada y la constante, observamos que el ángulo aumenta conforme aumenta el parámetro de alzado:

reg = lm(z~v+w)
e_reg = reg$residuals
angulos = numeric()

tope = 5000
i = 0
for (landa in seq(0,tope,1)){
  z_alzada = z + landa*e_reg
  i = i + 1
  angulos[i] = angle(z_alzada, cte)
}
plot(seq(0,tope,1), angulos, type = "l", col="red", xlab="Parámetro de alzado", ylab="Ángulo entre la variable alzada y la constante", lwd=2)
abline(h=angle(e_reg, cte), col="blue", lwd=2)

De esta forma se confirma que el grado de multicolinealidad aproximada existente se va mitigando. Además, se observa que este aumento se estabiliza intuyéndose una asíntota horizontal. Este hecho pone de relieve que la regresión residualizada se identifica con la regresión alzada cuando el parámetro de alzado tiende a infinito.

Como en este proceso de alzado no se han transformado las variables \(\mathbf{v}\) y \(\mathbf{w}\), su fuerte relación lineal inicialmente detectada permanece intacta. Para mitigarla habría que alzar una de estas varaibles con respecto al resto atendiendo al proceso llamado en el artículo como alzado sucesivo.

Finalmente, la publicación de este trabajo nos permite abordar nuestro siguiente objetivo: desarrollar un paque en R que permita aplicar esta técnica a todos aquellos investigadores interesados en ella. Igualmente, indicar que este trabajo ha sido apoyado por el proyecto PP2019-EI-02 de la Universidad de Granada y por el proyecto A-SEJ-496-UGR20 de la Consejería de Transformación Económica, Información, Industria, Conocimiento y Universidades de la Junta de Andalucía.