Cómo puede utilizar modelos de regresión lineal para predecir funciones cuadráticas, de raíz y polinomiales

Cuando leo artículos sobre aprendizaje automático, a menudo sospecho que los autores entienden mal el término "modelo lineal". Muchos autores sugieren que los modelos lineales solo se pueden aplicar si los datos se pueden describir con una línea. Pero esto es demasiado restrictivo.

Los modelos lineales asumen que la forma funcional es lineal, no la relación entre sus variables .

Le mostraré cómo puede mejorar sus regresiones lineales con funciones cuadráticas, raíz y exponencial.

Entonces, ¿cuál es la forma funcional?

La forma funcional es la ecuación que desea estimar .

Comencemos con un ejemplo y pensemos en cómo podríamos describir los salarios de los científicos de datos. Suponga que un científico de datos promedio ( i) recibe un salario de nivel de entrada ( entry_level_salary) más una bonificación por cada año de su experiencia ( experience_i).

Así, su salario ( salary_i) viene dado por la siguiente forma funcional:

salary_i = entry_level_salary + beta_1 * experience_i

Ahora, podemos interpretar el coeficiente beta_1como la bonificación por cada año de experiencia. Y con este coeficiente podemos comenzar a hacer predicciones simplemente conociendo el nivel de experiencia.

Como su modelo de aprendizaje automático se encarga del coeficiente beta_1, todo lo que necesita para ingresar en R o cualquier otro software es:

model_1 <- lm(salary ~ entry_level_salary + experience)

La linealidad en la forma funcional requiere que resumamos cada determinante en el lado derecho de la ecuación.

Imagina que estamos en lo cierto con nuestras suposiciones. Cada punto indica un científico de datos con su nivel de experiencia y salario. Finalmente, la línea roja son nuestras predicciones.

Muchos aspirantes a científicos de datos ya realizan predicciones similares. Pero a menudo eso es todo lo que hacen con los modelos lineales ...

¿Cómo estimar modelos cuadráticos?

Cuando queremos estimar un modelo cuadrático, no podemos escribir algo como esto:

model_2 <- lm(salary ~ entry_level_salary + experience^2)
>> This will reject an error message

La mayoría de estas funciones no esperan tener que transformar sus variables de entrada. Como resultado, rechazan un mensaje de error si lo intenta. Además, ya no tiene una suma en el lado derecho de la ecuación.

Nota: Necesita calcular experience^²antes de agregarlo a su modelo. Por lo tanto, ejecutará:

# First, compute the square values of experienceexperience_2 <- experience^2
# Then add them into your regressionmodel_2 <- lm(salary ~ entry_level_salary + experience_2)

A cambio, obtienes una buena función cuadrática:

Estimar funciones raíz con modelos lineales

A menudo observamos valores que aumentan rápidamente al principio y luego se alinean a cierto nivel. Modifiquemos nuestro ejemplo y estimemos una curva de aprendizaje típica.

Al principio, una curva de aprendizaje tiende a ser muy empinada y se ralentiza después de algunos años.

Hay una función que presenta tal tendencia, la rootfunción. Entonces usamos el square rootde experiencepara capturar esta relación:

# First, compute the square root values of experiencesqrt_experience <- sqrt(experience)
# Then add them into your regressionmodel_3 <- lm(knowledge ~ sqrt_experience)

Nuevamente, asegúrese de calcular la raíz cuadrada antes de agregarla a su modelo:

O quizás desee utilizar la función logarítmica, ya que describe una tendencia similar. Pero sus valores son negativos entre cero y uno. Así que asegúrese de que esto no sea un problema para usted y sus datos.

Dominar modelos lineales

Finalmente, incluso puede estimar funciones polinomiales con órdenes superiores o funciones exponenciales. Todo lo que necesita hacer es calcular todas las variables antes de agregarlas a su modelo lineal:

# First, compute polynomialsexperience_2 <- experience^2experience_3 <- experience^3
# Then add them into your regressionmodel_4 <- lm(salary ~ experience + experience_2 + experience_3)

Dos casos en los que debería utilizar otros modelos

Aunque los modelos lineales se pueden aplicar a muchos casos, existen limitaciones. Los más populares se pueden dividir en dos categorías:

1. Probabilidades:

Si desea estimar la probabilidad de un evento, es mejor que utilice los modelos Probit, Logit o Tobit. Al estimar probabilidades, usa distribuciones que las funciones lineales no pueden capturar. Dependiendo de la distribución que asumas, debes elegir entre el modelo Probit, Logit o Tobit.

2. Contar variables

Por último, al estimar una variable de recuento, desea utilizar un modelo de Poisson. Las variables de conteo son variables que solo pueden ser números enteros como 1, 2, 3, 4.

Por ejemplo, cuente el número de niños, el número de compras que realiza un cliente o el número de accidentes en una región.

Qué llevar de este artículo

Hay dos cosas que quiero que recuerdes:

  1. Mejore sus modelos lineales y pruebe funciones cuadráticas, de raíz o polinomiales.
  2. Siempre transforme sus datos antes de agregarlos a su regresión.

Subí el código R para todos los ejemplos en GitHub. No dudes en descargarlos, jugar con ellos o compartirlos con tus amigos y colegas.

Si tiene alguna pregunta, escriba un comentario a continuación o contácteme. Agradezco tus comentarios.