Regresión lineal de “A” a “Z”: lo que necesitas saber

Oct 21, 2021 | ANÁLISIS, Estadística | 0 Comentarios

El objetivo de un análisis de regresión es encontrar el mejor ajuste para una relación lineal entre dos variables. Una regresión es útil cuando no podemos realizar un experimento, por ejemplo por razones éticas. No sería apropiado hacer fumar durante 10 años a un grupo de personas para comprobar el impacto en la salud, o  simplemente no podemos controlar las variables de entrada, como por ejemplo crear viviendas de un dado tamaño y antigüedad para ver el impacto en el precio de venta.

¡No te pierdas ningún nuevo vídeo!

Visita mi canal de Youtube

Antes de seguir explicando paso a paso que es una regresión y cómo se calcula, es importante recordar dos conceptos clave:

  • Lo más complicado no es ejecutarla (bastan unos pocos clicks en muchas herramientas, incluido Excel), sino implementarla de manera adecuada (revisar los requisitos, transformar las variables, elegir las variables correctas etc.)
  • Es una ayuda para estimar algo: como toda estimación tiene sus limitaciones y explicaré al final del post cuales son los errores a evitar.

Y lo último antes de empezar: al final de este post puedes darte de alta para descargar gratuitamente la plantilla con todos los ejemplos y cálculos. Te aconsejo seguir este post junto con la plantilla. Ahora sí, empezamos…

A la base de la regresión está la correlación que expliqué detalladamente en un anterior post y que te aconsejo leer si no estás familiarizado con el concepto. En este post voy a usar el mismo ejemplo y empezaremos desde el gráfico de dispersión con el tamaño de los inmuebles y su valor.

 Pues la regresión lineal es la que identifica la línea que mejor se ajusta a los datos, y normalmente se utiliza el método de los “Mínimos Cuadrados Ordinarios” (OLS, Ordinary Least Squares en inglés). Este método utiliza los residuales, es decir la distancia entre la línea y cada punto, los multiplica por sí mismos (cuadrado), y los suma. La línea cuya suma de cuadrados es menor, será la que mejor se ajusta a los puntos. 

    menu importar desde web Power Query

    La identificación de esta línea está a la base de todos los resultados que obtenemos de una regresión, que a nivel general son:

    • La ecuación que define la línea
    • El R cuadrado que nos indica cuanto nuestro modelo explica la variable resultado
    • Y el P-valor que nos indica si los resultados son estadísticamente significativos

     

    Ecuación

    La ecuación tiene la siguiente forma: y = a + bx. Dicho de otra forma la ecuación sería: valor estimado = interceptor + coeficiente_tamaño * tamaño. Vamos a ver unos cuantos conceptos para aclarar la ecuación:

    • Hablamos de valor estimado, dado que “y” no representa el valor real, de lo contrario tendríamos que añadir un “error” en la ecuación (y = a + bx + error);
    • El “interceptor” es el valor del inmueble cuando el tamaño es 0, y gráficamente es donde la línea cruza el eje vertical. En este caso se trata de algo teórico que ayuda en el ajuste de la línea dado que no existen inmuebles de 0 metros, o incluso inmuebles con menos de X metros cuadrados.
    • El “coeficiente” define la inclinación de la línea y representa la relación entre tamaño y valor. Un coeficiente de 100, significaría que cada metro cuadrado adicional del inmueble haría incrementar el valor de 100 €.

    Vamos a utilizar el ejemplo de la plantilla (te recuerdo que al final del post puedes darte de alta para descargarla). Tenemos el valor de los inmuebles (variable dependiente) y el tamaño (variable independiente). Creamos un gráfico de dispersión con una línea de tendencia (como hicimos para la correlación), pero esta vez, en el menú que se abrirá a la derecha (ver la imagen siguiente) a seleccionamos también Presentar ecuación en el gráfico y Presentar valor R cuadrado en el gráfico. La ecuación que nos sale es y = 691x + 33495, o, dicho de otra forma, valor = 691 * tamaño + 33495. Estos valores también los puedes calcular con fórmulas o con el complemento Análisis de datos de Excel. En la plantilla encontrarás todo esto, y te aconsejo revisar el post Regresiones en Excel donde describo como realizar varias regresiones en Excel.

     Comparado con la ecuación anterior, vemos que el interceptor es al final. Si prolongamos la línea de tendencia hasta el eje horizontal vemos que esta cruzará en el valor 33.495 €. Pero dado que no hay inmuebles con tamaño menor a 60 metros cuadrados, todos los valores por debajo de 60 no se utilizarían para estimar, y el interceptor sólo nos sirve para ajustar mejor la línea de regresión.

    Ahora ya podemos empezar a analizar los resultados empezando por el coeficiente x:

    • Signo del coeficiente: en este caso es positivo, esto quiere decir que al aumentar el tamaño aumenta el precio. Es muy importante contrastar también la lógica, que en este caso refleja el signo. Si tuviéramos un signo negativo, tendríamos que dudar de los resultados (no es lógico que a mayor tamaño disminuya el valor) dado que podría haber una variable oculta que esté afectando los datos o que tengamos errores en los datos.
    • Tamaño del coeficiente: a veces podemos tener un coeficiente significativo pero cuyo efecto es tan leve que es en la practica no es significativo. En este caso para cada metro cuadrado adicional el precio aumenta de casi 700 €, pero imagínate si para cada metro cuadrado el precio aumentara de 0,5€. Esto podría ser un ejemplo real en una regresión múltiple con otras variables donde el tamaño casi no afecta el precio. En este caso la variable no sería muy relevante, aunque estadísticamente significativa (veremos esto en un momento) y lo podríamos contrastar utilizando también el R cuadrado. Al quitar la variable, el R cuadrado no se vería muy impactado (esto lo entenderás mejor cuando lleguemos a las regresiones múltiples).

     

    R cuadrado

    Ahora que hemos encontrado la línea que mejor se ajusta a los datos y la ecuación correspondiente, necesitamos algo que nos resuma cuanto bien se ajusta esta línea. Para ello tenemos el R cuadrado que nos indica la variación del valor del inmueble explicada por la regresión. Otra manera de verlo es cuanto nuestro modelo explica el valor del inmueble comparado con el modelo más simple, una sencilla media del valor de los inmuebles. Lo podemos calcular con la fórmula COEFICIENTE.R2(y,x) o con el complemento Análisis de datos, pero vamos a calcularlo manualmente para entenderlo mejor. El R cuadrado es un valor de 0 a 1 (o un % si lo prefieres) de la variación explicada por el modelo vs el total de la variación. Para calcularlo tenemos que calcular la variación de los datos vs la media (suma de los cuadrados de la diferencia entre cada valor y la media), restarle la suma de los cuadrados de los residuales (valor real vs predicción), y dividir el todo por la variación de los datos vs la media.

    R cuadrado = ( var(media) – var(res) ) / var(media)

    Otra manera de calcular el R cuadrado es elevar al cuadrado el coeficiente de correlación entre el valor real y el valor estimado (todo esto lo tienes en la plantilla).

    Puedes comprobar el cálculo en las columnas E, F y G, y en las celdas I4, I5, y I7. Verás que el resultado del R cuadrado (0,53) de la fórmula es el mismo que salió en el gráfico. Esto nos indica que aproximadamente la mitad del valor de los inmuebles se puede explicar por el tamaño del inmueble.

    Una vez comprobado que el coeficiente tenga un signo y tamaño aceptables, y que nuestro modelo explique buena parte del valor, necesitamos algo que nos diga si el resultado es estadísticamente significativo, tanto a nivel global, como a nivel de cada parámetro: el p-valor.

     

    P-valor

    El P-valor es un valor de 0 a 1 que nos indica si el resultado es estadísticamente significativo. Por ejemplo, en cualquier regresión entre dos puntos el R cuadrado sería 100%, pero estadísticamente no sería significativo. El primer paso seria definir el nivel de confianza, que normalmente establecemos en un 95%. Esto quiere decir que para considerar nuestra regresión significativa, el p-valor tiene que ser menor que 1-95%, es decir 5% (0,05).

    El p-valor lo vamos a analizar primero para determinar la regresión en su globalidad y luego para cada parámetro de la regresión. Pero para ello vamos a utilizar el complemento Análisis de datos de Excel (que está en el menú Datos, si no lo tienes tendrás que habilitar este complemento), seleccionamos Regresión y rellenamos los campos de las variable Y y la variable X. Seleccionamos también los nombres en las columnas y marcamos Rótulos (hablé en otro post más en detalle sobre su ejecución).

    Vemos que al principio tenemos el coeficiente de correlación, el R cuadrado etc. Después, en la segunda tabla leemos “ANALISIS DE VARIANZA”. En este caso utilizamos la prueba F para determinar si el resultado es significativo. No voy a entrar en los detalles dado que hablaré de ello en otro post sobre el ANOVA, pero básicamente lo que estamos haciendo aquí es determinar la probabilidad de obtener los mismos resultados o más extremos de nuestro valor F en la distribución F. En los resultados de la regresión en Excel, al lado de “F” pone “Valor crítico F”, pero en realidad se trata del p-valor que, si es menor de 0,05 nos indica que nuestro modelo es estadísticamente significativo.

    El segundo p-valor que tenemos que analizar se encuentra en la siguiente tabla en la columna “Probabilidad” donde tenemos el p-valor para cada parámetro: el interceptor y la variable X1 (tamaño). En el caso de una regresión lineal simple de una variable independiente, si la regresión es significativa lo será también el p-valor del coeficiente. Lo que podríamos ver aquí es si el p-valor del interceptor es significativo (<0,05). Si no lo fuera, podríamos optar por eliminar el interceptor, o, dicho de otra forma, dejarlo en 0 (en la ventana de la regresión marcaríamos la casilla “Constante igual a 0”). Sin embargo, eliminar el interceptor debería ser la solución si hay razones lógicas para decir que la línea tiene que pasar por el origen (cruce de los ejes), de lo contrario, como norma general, no lo eliminamos. Si el interceptor resulta ser no significativo, a lo mejor deberíamos también plantear otros modelos no lineales. Además, ten cuidado porque al eliminar el interceptor el R cuadrado suele aumentar de manera importante sin reflejar un mejor modelo (si los datos no pasan realmente por el origen). Así que si tienes dudas, no quites el interceptor.

     No voy a entrar en los detalles del cálculo, pero en este caso es importante que sepas que el p-valor del coeficiente se basa en la distribución t y nos indica la probabilidad de encontrar un valor tan extremo en el coeficiente si no hubiera asociación entre tamaño y valor (hablaré más de ello en un post sobre la prueba t).  

    En nuestra regresión, vemos que tanto el interceptor como el coeficiente del tamaño son significativos y que nuestro modelo explica más del 50% del valor de los inmuebles, no está nada mal. Pero ¿podríamos mejorar nuestra predicción? Vamos a ver que pasa si añadimos otra variable predictora (de entrada o independiente) al modelo: la antigüedad de los inmuebles.

     

    Regresión múltiple

    Para realizar una regresión múltiple vamos a utilizar el mismo complemento Análisis de datos seleccionando Regresión, pero en este caso en Rango X seleccionamos dos columnas (las dos columnas de variables de entrada tienen que ser contiguas). Analizando los resultados vemos que el R cuadrado mejora (0,69) así que podríamos decir que añadir la antigüedad al modelo nos ayuda a predecir mejor el valor de los inmuebles. Sin embargo, cuando realizamos una regresión múltiple deberíamos mirar el R cuadrado ajustado, que incluye una “penalización” en base al número de variable predictoras que añadamos. Esto mejora el problema que tenemos a la hora de añadir más variables, dado que el R cuadrado nunca empeorará al añadir una variable, cómo mucho se quedará similar, esto os porque nuestra variable original sigue explicando parte de la variación, y si la segunda variable añade poco o nada valor, esto no hará disminuir el R cuadrado.

    Analizando los coeficientes, la ecuación sería la siguiente:

    Valor = 88076 + -1375*antigüedad + 547*tamaño

    Notamos que el impacto de la antigüedad es negativo, algo que tiene su lógica, y que el coeficiente del tamaño ha cambiado, ahora el tamaño tiene menos “importancia”. Es decir que cada metro adicional aumenta el valor de 547€ en lugar de 691€. Este no es un error, sino que representa lo “bonito” de la regresión: al añadir una variable, esta calculará el impacto de cada variable controlando la otra (manteniéndola constante). Esto significa que podemos aislar el efecto “tamaño” del efecto “antigüedad”. Este concepto es muy importante porque no sólo necesitamos añadir las variables cuyo efecto queremos estudiar, sino también otras variables de “control” para que el efecto de la variable de interés sea lo más “puro” posible.

    Poniendo un ejemplo banal, al hacer una regresión cuya variable predictora es si una persona juega al golf o no y la variable a predecir es si esta persona tiene una enfermedad cardíaca. Sólo con esto podríamos ver que jugar al golf perjudica la salud, pero al añadir otra variable que puede impactar, la edad (dado que la edad media de los jugadores es más alta que la de la población), veríamos que es esta la que explica los problemas de salud, y que el golf, a lo mejor, tendría un efecto contrario. Esto para decir que tenemos que razonar sobre las posibles variables que pueden tener un impacto. 

     Para concluir, vemos que esta regresión explica mejor el valor de los inmuebles y que los coeficientes son significativos, así que la preferiremos al anterior modelo más simple.

     

    Errores principales

     

    Quiero acabar este post con un listado (no exhaustivo) de los errores principales a la hora de realizar una regresión. Este listado procede del libro Naked Statistics que recomiendo mucho para los que quieran entender mejor las principales técnicas estadísticas. El autor da muchos ejemplos con explicaciones sencillas y de vida cotidiana, resultando en un libro entretenido además de práctico. El listado de errores empieza con una historia real. En los años 90 la comunidad médica estaba convencida de que para las mujeres de una cierta edad, tomar suplementos de estrógeno protegía de las enfermedades cardíacas. Para 2001 a unos 15 millones de mujeres fueros prescritos estrógenos. Todo esto también se comprobó con un estudio con 122 mil mujeres que encontró una asociación negativa entre estrógeno y problemas cardíacos. También se desarrolló una teoría para eso: con los años los ovarios producen menos estrógeno.

    Sin embargo, cuando se empezaron a desarrollar experimentos clínicos donde se controlaban el resto de variables que podían afectar a los resultados,  se demostró que las mujeres que tomaban estrógenos tenían más enfermedades cardíacas, infartos, trombos, cáncer de mama etc. Desde 2002 se aconsejó no prescribir estrógenos y se estimó que decenas de miles de mujeres podrían haber muerto prematuramente debido a esto. Estos para decir que hasta entre los expertos la aplicación de estas técnicas estadísticas puede inducir a error si no la aplicamos de manera adecuada y evitando los posibles errores:

    • Usar una regresión lineal para relaciones no lineales: podemos comprobar esto con un gráfico de dispersión entre la variable dependiente y cada una de las variables independientes. Si vemos que los puntos definen un patrón no lineal (una curva, S etc.), entonces la regresión lineal no es la que tenemos que utilizar (tendremos que elegir otro modelo o transformar los datos).
    • Creer que la correlación significa causación: hablo de esto en un post sobre correlación.
    • Causalidad inversa: una relación estadística entre A y B no implica que A cause B. Por ejemplo, en una nación que invierte más en educación y es más rica, no podemos definir si es más rica porque invierte en educación, o si invierte más en educación porque es más rica.
    • Sesgo de las variables omitidas: “Los golfistas tienen más probabilidad de contraer cancro, artritis y enfermedades cardíacas”. Un estudio así es sospechoso y estaría omitiendo alguna variable importante como la edad dado que los golfistas suelen ser mayores respecto al resto de la población, y la mayor edad está relacionada con las anteriores enfermedades. Cuando tratamos de estudiar un efecto, tenemos que pensar en las posibles causas de este e incluir estas variables en la regresión.
    • Multicolinealidad: cuando las variables independientes (de entrada del modelo) están correlacionadas entre sí. Esto lo podemos ver con una matriz de correlación. Si dos variables están muy correlacionadas la regresión no será capaz de identificar el verdadero impacto de estas variables, dado que el modelo no puede discriminar los dos impactos.
    • Extrapolar más allá de los datos: en nuestro ejemplo, algo absurdo sería estimar el precio de una casa de 0 metros cuadrados. Pero, además, podemos solo estimar alrededor de los datos que tenemos de tamaño. Es decir que si el inmueble con menos tamaño es de 60 metros cuadrados, no podemos estimar el valor para inmuebles de menor tamaño dado que no sabemos si en inmuebles más pequeños la relación entre tamaño y valor es igual o no.
    • Demasiadas variables: imagina que en una clase 40 estudiantes pido lanzar una moneda a cada estudiante y elimino quien saque cruz. Repito el proceso hasta que un estudiante tenga 5 lanzamientos sacando cara. La probabilidad de que alguien sacara 5 caras es de aproximadamente un 3%, así que, según la lógica de las pruebas de hipótesis (con un nivel de confianza del 95%), rechazaríamos la hipótesis nula de que este estudiante no tiene un talento especial para lanzar la moneda. Es decir que deberíamos concluir que el estudiante tiene algún talento. Pero la realidad es que, aunque rechacemos la hipótesis nula si la probabilidad de observar algo es 1/20, si realizamos 20 estudios uno de ellos no dará un resultado tan externo. Esto es lo mismo con las variables en un modelo, al añadir tantas, podemos encontrar alguna que muestre una relación. El mejor modelo es el con con el menor número de variables variables  que expliquen estadística y lógicamente nuestra variable dependiente.

     

     Espero que este post te haya gustado y te invito a explorar todos los artículos relaciones en DataFluency.Academy. Si quieres comentar o preguntarme algo simplemente comenta este post, escríbeme en las redes sociales. Y no te olvides descargar la plantilla!