miércoles, 30 de octubre de 2019

Data Science: Regresión no Lineal

A veces la relación entre dos variables no es lineal, y por tanto una regresión lineal no es el mejor modelo de predicción posible. Vamos a verlo con más detalle:

Vamos a abrir el dataset de los automóviles, donde podemos encontrar una relación entre las variables de la potencia y el consumo:



A continuación pintamos una gráfica de puntos para observar el comportamiento de la relación entre variables:


Como podemos ver, más que una línes recta, parece que una línea curva es lo más indicado para un modelo de predicción sobre la relación de estas dos variables.

No obstante, vamos a hacer una regresión lineal entre las variables, a ver qué obtenemos:


Pintamos la recta de regresión obtenida sobre el gráfico de antes:


Obtenemos el R cuadrado y los errores de la regresión:


Podemos observar que el R cuadrado no es muy bajo, pero tampoco es muy alto, por lo que el modelo aporta un nivel de predicción aceptable.

Sin ambargo, quizás podíamos pensar que un modelo de regresión cuadrática pueda dar mejor resultado que una regresión lineal.

Para construir un modelo de regresión cuadrática, basta con elevar al cuadrado la variable predictora y calcular de nuevo la regresión como si fuera lineal:


Obtenemos el R cuadrado y los errores:


Podemos comprobar que R cuadrado ha bajado un poco, lo que nos indica que el modelo lineal anterior es ligeramente mejor predictor que el modelo cuadrático.

Podríamos pensar, también, que a lo mejor un modelo lineal-cuadrático podría funcionar mejor.
Un modelo lineal-cuadrático combina ambos modelos en la siguiente fórmula:

Y = a + b * X + c * X^2

Vamos a ver cómo hacerlo en Python:


Una vez calculada la regresión, obtenemos el R cuadrado:


Comprobamos que el modelo mejora un poco con el polinomio para 2 grados.

Por curiosidad, podemos calcular el modelo para varios grados más y mostrar el R cuadrado de cada modelo, para ver si con más grados el modelo predictivo mejora:


Como podemos comprobar, el modelo no mejora mucho, así que podemos concluir que el modelo lineal-cuadrático de dos grados es el que mejor capacidad de predicción tiene, a la vez de ser al más simple posible.

Y eso es todo.

No hay comentarios:

Publicar un comentario