Modelos de regressión lineal

Definición

El modelo de regresión lineal general o modelo de regresión multiple, supone que, \(\boldsymbol{Y} = \boldsymbol{X}\boldsymbol{\beta} + \boldsymbol{\epsilon},\) donde:

  • \(\boldsymbol{X} = (x_1,...,x_n)^{T}\): variable explicativa

  • \(\boldsymbol{Y} = (y_1,...,y_n)^{T}\): variable respuesta

  • \(\boldsymbol{\epsilon} = (\epsilon_1,...,\epsilon_n)^{T}\): error se asume un ruido blanco, es decir, \(\epsilon \sim \mathcal{N}( \boldsymbol{0},\sigma^2I)\)

  • \(\boldsymbol{\beta} = (\beta_1,...,\beta_n)^{T}\): coeficientes de regresión.

La idea es tratar de establecer la relación entre las variables independientes y dependientes por medio de ajustar el mejor hyper plano con respecto a los puntos.

Por ejemplo, para el caso de la regresión lineal simple, se tiene la siguiente estructura: \(y_i=\beta_0+\beta_1x_i+\epsilon_i.\) En este caso, la regresión lineal corresponderá a la recta que mejor pasa por los puntos observados.

../../../../_images/lr.webp

Existen algunas situaciones donde los modelos lineales no son apropiados:

  • El rango de valores de \(Y\) está restringido (ejemplo: datos binarios o de conteos).

  • La varianza de \(Y\) depende de la media.

Mejores parémetros: Método de minimos cudrados

El método de mínimos cudrados es un método de optimización que busca encontrar la mejor aproximación mediante la minimización de los residuos al cuadrado, es decir, se buscar encontrar:

\[(P)\ \min \sum_{i=1}^n e_{i}^2 =\sum_{i=1}^n (y_{i}-f_{i}(x;\beta))^2 \]

Para el caso de la regresión lineal simple, se busca una función $\(f(x;\beta) = \beta_{0} + \beta_{1}x,\)$

por lo tanto el problema que se debe resolver es el siguiente:

\[(P)\ \min \sum_{i=1}^n e_{i}^2 =\dfrac{1}{n}\sum_{i=1}^{n}\left ( y_{i}-(\beta_{0} + \beta_{1}x_{i})\right )^2\]

Lo que significa, que para este problema, se debe encontrar \(\beta = (\beta_{0},\beta_{1})\) que minimicen el problema de optimización. En este caso la solución viene dada por:

\[\hat{\beta}_{1} = \dfrac{\sum(x-\bar{x})(y-\bar{y})}{\sum(x-\bar{x})^2} = \rho (x,y)\ ; \ \hat{\beta}_{0} = \bar{y}-\hat{\beta}_{1} \bar{x} \]

La metodología para encontrar los parámetros \(\beta\) para el caso de la regresión lineal multiple se extienden de manera natural del modelo de regresión lineal multiple, cuya solución viene dada por:

\[\beta = (XX^{\top})^{-1}X^{\top}y\]

Selección de modelos

Criterio de información de Akaike (AIC)

El criterio de información de Akaike (AIC) es una medida de la calidad relativa de un modelo estadístico, para un conjunto dado de datos. Como tal, el AIC proporciona un medio para la selección del modelo.

AIC maneja un trade-off entre la bondad de ajuste del modelo y la complejidad del modelo. Se basa en la entropía de información: se ofrece una estimación relativa de la información perdida cuando se utiliza un modelo determinado para representar el proceso que genera los datos.

AIC no proporciona una prueba de un modelo en el sentido de probar una hipótesis nula, es decir AIC no puede decir nada acerca de la calidad del modelo en un sentido absoluto. Si todos los modelos candidatos encajan mal, AIC no dará ningún aviso de ello.

En el caso general, el AIC es

\[AIC = 2k-2\ln(L)\]

donde \(k\) es el número de parámetros en el modelo estadístico , y \(L\) es el máximo valor de la función de verosimilitud para el modelo estimado.

Criterio de información bayesiano (BIC)

En estadística, el criterio de información bayesiano (BIC) o el más general criterio de Schwarz (SBC también, SBIC) es un criterio para la selección de modelos entre un conjunto finito de modelos. Se basa, en parte, de la función de probabilidad y que está estrechamente relacionado con el Criterio de Información de Akaike (AIC).

Cuando el ajuste de modelos, es posible aumentar la probabilidad mediante la adición de parámetros, pero si lo hace puede resultar en sobreajuste. Tanto el BIC y AIC resuelven este problema mediante la introducción de un término de penalización para el número de parámetros en el modelo, el término de penalización es mayor en el BIC que en el AIC.

El BIC fue desarrollado por Gideon E. Schwarz, quien dio un argumento bayesiano a favor de su adopción.1​ Akaike también desarrolló su propio formalismo Bayesiano, que ahora se conoce como la ABIC por Criterio de Información Bayesiano de Akaike “

En el caso general, el BIC es

\[BIC =k\ln(n)-2\ln(L)\]

donde \(k\) es el número de parámetros en el modelo estadístico, \(n\) es la cantidad de datos disponibles y \(L\) es el máximo valor de la función de verosimilitud para el modelo estimado.

R-cuadrado

El coeficiente de determinación o R-cuadrado (\(r^2\) ) , es un estadístico usado en el contexto de un modelo estadístico cuyo principal propósito es predecir futuros resultados o probar una hipótesis. El coeficiente determina la calidad del modelo para replicar los resultados, y la proporción de variación de los resultados que puede explicarse por el modelo.

El valor del \(r^2\) habitualmente entre 0 y 1, donde 0 significa una mala calidad de ajuste en el modelo y 1 corresponde a un ajuste lineal perfecto. A menudo, este estadístico es ocupado para modelos lineales.

Se define por la fórmula:

\[r^2 = \dfrac{SS_{reg}}{SS_{tot}} = 1 - \dfrac{SS_{res}}{SS_{tot}},\]

donde:

  • \(SS_{reg}\) ( suma explicada de cuadrados (ESS)): \(\sum_{i}(\hat{y}-\bar{y})^2\)

  • \(SS_{res}\): ( suma residual de cuadrados (RSS)): \(\sum_{i}(y_{i}-\hat{y})^2 = \sum_{i}e_{i}^2\)

  • \(SS_{tot}\): ( varianza): \(\sum_{i}(y_{i}-\bar{y})\), donde: \(SS_{tot}=SS_{reg}+SS_{res}\)

En una forma general, se puede ver que \(r^2\) está relacionado con la fracción de varianza inexplicada (FVU), ya que el segundo término compara la varianza inexplicada (varianza de los errores del modelo) con la varianza total (de los datos).

  • Las áreas de los cuadrados azules representan los residuos cuadrados con respecto a la regresión lineal (\(SS_{tot}\)).

  • Las áreas de los cuadrados rojos representan los residuos al cuadrado con respecto al valor promedio (\(SS_{res}\)).

Por otro lado, a medida que más variables explicativas se agregan al modelo, el \(r^2\) aumenta de forma automática, es decir, entre más variables explicativas se agreguen, mejor será la calidad será el ajuste (un falso argumento).

Es por ello que se define el R cuadrado ajustado, que viene a ser una modificación del \(r^2\), ajustando por el número de variables explicativas en un modelo (\(p\)) en relación con el número de puntos de datos (\(n\)).

\[r^2_{ajustado} = 1-(1-r^2)\dfrac{n-1}{n-p-1} ,\]

Error de un modelo

Definición

El error corresponde a la diferencia entre el valor original y el valor predicho,es decir:

\[e_{i}=y_{i}-\hat{y}_{i} \]

Formas de medir el error de un modelo

Para medir el ajuste de un modelo se ocupan las denominadas funciones de distancias o métricas. Existen varias métricas, dentro de las cuales encontramos:

  1. Métricas absolutas: Las métricas absolutas o no escalada miden el error sin escalar los valores. Las métrica absolutas más ocupadas son:

    • Mean Absolute Error (MAE)

    \[\textrm{MAE}(y,\hat{y}) = \dfrac{1}{n}\sum_{t=1}^{n}\left | y_{t}-\hat{y}_{t}\right |\]
    • Mean squared error (MSE):

    \[\textrm{MSE}(y,\hat{y}) =\dfrac{1}{n}\sum_{t=1}^{n}\left ( y_{t}-\hat{y}_{t}\right )^2\]
  1. Métricas Porcentuales: Las métricas porcentuales o escaladas miden el error de manera escalada, es decir, se busca acotar el error entre valores de 0 a 1, donde 0 significa que el ajuste es perfecto, mientras que 1 sería un mal ajuste. Cabe destacar que muchas veces las métricas porcentuales puden tener valores mayores a 1.Las métrica Porcentuales más ocupadas son:

    • Mean absolute percentage error (MAPE):

    \[\textrm{MAPE}(y,\hat{y}) = \dfrac{1}{n}\sum_{t=1}^{n}\left | \frac{y_{t}-\hat{y}_{t}}{y_{t}} \right |\]
    • Symmetric mean absolute percentage error (sMAPE):

    \[\textrm{sMAPE}(y,\hat{y}) = \dfrac{1}{n}\sum_{t=1}^{n} \frac{\left |y_{t}-\hat{y}_{t}\right |}{(\left | y_{t} \right |^2+\left | \hat{y}_{t} \right |^2)/2}\]

Otros estadísticos interesantes del modelo

Test F

EL test F para regresión lineal prueba si alguna de las variables independientes en un modelo de regresión lineal múltiple es significativa.

En términos de test de hipótesis, se quiere contrastar lo siguiente:

  • \(H_0: \beta_1 = \beta_2 = ... = \beta_{p-1} = 0\)

  • \(H_1: \beta_j ≠ 0\), para al menos un valor de \(j\)

Test Omnibus

EL test Omnibusesta relacionado con la simetría y curtosis del resido. Se espera ver un valor cercano a cero que indicaría normalidad. El Prob (Omnibus) realiza una prueba estadística que indica la probabilidad de que los residuos se distribuyan normalmente.

Test Durbin-Watson

El Test Durbin-Watson es un test de homocedasticidad. Para ver los límites relacionados de este test, se puede consultar la siguiente tablas de valores.

Test Jarque-Bera

Como el test Omnibus en que prueba tanto el sesgo como la curtosis. Esperamos ver en esta prueba una confirmación de la prueba Omnibus.

IMPORTANTE:

  • Cabe destacar que el coeficiente \(r^2\) funciona bien en el contexto del mundo de las regresiones lineales. Para el análisis de modelos no lineales, esto coeficiente pierde su interpretación.

  • Se deja la siguiente refrerencia para comprender conceptos claves de test de hipótesis, intervalos de confianza, p-valor. Estos términos son escenciales para comprender la significancia del ajuste realizado.

  • Existen muchas más métricas, pero estas son las más usulaes de encontrar. En el archivo metrics.py se definen las distintas métricas presentadas, las cuales serpan de utilidad más adelante.

Aplicación con python

Ejemplo sencillo

Para comprender los modelos de regresión lineal, mostraremos un caso sencillo de uso. Para ello realizaremos un simulación de una recta, en el cual le agregaremos un ruido blanco.

# librerias
 
import os
import numpy as np
import pandas as pd

import matplotlib.pyplot as plt
import seaborn as sns 
pd.set_option('display.max_columns', 500)  # Ver más columnas de los dataframes

# Ver gráficos de matplotlib en jupyter notebook/lab
%matplotlib inline
# ejemplo sencillo

n = 100 
np.random.seed(n)

beta = np.array([1,1]) # coeficientes
x =  np.random.rand(n) # variable independiente

mu, sigma = 0, 0.1 # media y desviacion estandar
epsilon = np.random.normal(mu, sigma, n) # ruido blanco

y = np.dot(np.c_[ np.ones(n),x]  , beta) + epsilon # variables dependientes

# generar dataframe
df = pd.DataFrame({
    'x':x,
    'y':y
})
df.head()
x y
0 0.543405 1.612417
1 0.278369 1.347058
2 0.424518 1.267849
3 0.844776 1.935274
4 0.004719 1.082601

Grafiquemos los puntos en el plano cartesiano.

# grafico de puntos
sns.set(rc={'figure.figsize':(10,8)})
sns.scatterplot(
    x='x',
    y='y',
    data=df,
)  
plt.show()
../../../../_images/02_regresion_lineal_15_0.png

Lo primero que debemos hacer es separar nuestro datos en los conjuntos de training set y test set. Concepto de Train set y Test set

Al momento de entrenar los modelos de machine leraning, se debe tener un conjunto para poder entrenar el modelo y otro conjunto para poder evaluar el modelo. Es por esto que el conjunto de datos se separá en dos conjuntos:

  • Train set: Conjunto de entrenamiento con el cual se entrenarán los algoritmos de machine learning.

  • Test set: Conjunto de testeo para averiguar la confiabilidad del modelo, es decir, cuan bueno es el ajuste del modelo.

../../../../_images/train.png

Tamaño ideal de cada conjunto

La respuesta depende fuertemente del tamaño del conjunto de datos. A modo de regla empírica, se considerará el tamaño óptimo basado en la siguiente tabla:

número de filas

train set

test set

entre 100-1000

67%

33%

entre 1.000- 100.000

80%

20%

mayor a 100.000

99%

1%

from sklearn import datasets
from sklearn.model_selection import train_test_split

# import some data to play with

X = df[['x']] # we only take the first two features.
y = df['y']

X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)

# print rows train and test sets
print('Separando informacion:\n')
print('numero de filas data original : ',len(X))
print('numero de filas train set     : ',len(X_train))
print('numero de filas test set      : ',len(X_test))
Separando informacion:

numero de filas data original :  100
numero de filas train set     :  80
numero de filas test set      :  20

Existen varias librerías para poder aplicar modelos de regresión, de los cuales la atención estará enfocada en las librerías de statsmodels y sklearn.

Ejemplo con Statsmodel

Para trabajar los modelos de statsmodel, basta con instanciar el comando OLS. El modelo no considera intercepto, por lo tanto, para agregar el intercepto, a las variables independientes se le debe agregar un vector de unos (tanto para el conjunto de entranamiento como de testeo).

import statsmodels.api as sm

model = sm.OLS(y_train, sm.add_constant(X_train))
results = model.fit()

En statsmodel existe un comando para ver información del modelo en estudio mediante el comando summary

# resultados del modelo
print(results.summary())
                            OLS Regression Results                            
==============================================================================
Dep. Variable:                      y   R-squared:                       0.894
Model:                            OLS   Adj. R-squared:                  0.893
Method:                 Least Squares   F-statistic:                     658.4
Date:                Tue, 11 Jul 2023   Prob (F-statistic):           8.98e-40
Time:                        15:22:40   Log-Likelihood:                 69.472
No. Observations:                  80   AIC:                            -134.9
Df Residuals:                      78   BIC:                            -130.2
Df Model:                           1                                         
Covariance Type:            nonrobust                                         
==============================================================================
                 coef    std err          t      P>|t|      [0.025      0.975]
------------------------------------------------------------------------------
const          0.9805      0.021     46.338      0.000       0.938       1.023
x              1.0099      0.039     25.659      0.000       0.932       1.088
==============================================================================
Omnibus:                        0.424   Durbin-Watson:                   1.753
Prob(Omnibus):                  0.809   Jarque-Bera (JB):                0.587
Skew:                           0.102   Prob(JB):                        0.746
Kurtosis:                       2.633   Cond. No.                         4.17
==============================================================================

Notes:
[1] Standard Errors assume that the covariance matrix of the errors is correctly specified.

A continuación se dara una interpretación de esta tabla:

Descripción del Modelo

Estos son estadísticas relacionadas a la ejecución del modelo.

Variable

Descripión

Dep. Variable

Nombre de la variables dependiente

Model

Nombre del modelo ocupado

Method

Método para encontrar los parámetros óptimos

Date

Fecha de ejecución

No. Observations

Número de observaciones

Df Residuals

Grados de libertas de los residuos

Df Model

Grados de libertad del modelo

Covariance Type

Tipo de covarianza

Ajustes del Modelo

Estos son estadísticas relacionadas con la verosimilitud y la confiabilidad del modelo.

Variable

Descripión

R-squared

Valor del R-cuadrado

Adj. R-squared

Valor del R-cuadrado ajustado

F-statistic

Test para ver si todos los parámetros son iguales a cero

Prob (F-statistic)

Probabilidad Asociada al test

Log-Likelihood

Logaritmo de la función de verosimilitud

AIC

Valor del estadístico AIC

BIC

Valor del estadístico BIC

En este caso, tanto el r-cuadrado como el r-cuadrado ajustado están cerca del 0.9, se tiene un buen ajuste lineal de los datos. Además, el test F nos da una probabilidad menor al 0.05, se rechaza la hipótess nula que los coeficientes son iguales de cero.

Parámetros del modelo

La tabla muestra los valores asociados a los parámetros del modelo

coef

std err

t

P>|t|

[0.025

0.975]

const

0.9805

0.021

46.338

0.000

0.938

1.023

x

1.0099

0.039

25.659

0.000

0.932

1.088

Acá se tiene:

  • Variables: Las variables en estudio son const (intercepto) y x.

  • coef: Valor estimado del coeficiente.

  • std err: Desviación estandar del estimador.

  • t: t = estimate/std error.

  • P>|t|:p-valor individual para cada parámetro para aceptar o rechazar hipótesis nula (parámetros significativamente distinto de cero).

  • [0.025 | 0.975]: Intervalo de confianza de los parámetros

En este caso, los valores estimados son cercanos a 1 (algo esperable debido a la simulación realizadas), además, se observa que cada uno de los parámetros es significativamente distinto de cero.

Estadísticos interesantes del modelo

Variable

Descripción

Omnibus

Prueba de la asimetría y curtosis de los residuos

Prob(Omnibus)

Probabilidad de que los residuos se distribuyan normalmente

Skew

Medida de simetría de los datos

Kurtosis

Medida de curvatura de los datos

Durbin-Watson

Pruebas de homocedasticidad

Jarque-Bera (JB)

Como la prueba Omnibus, prueba tanto el sesgo como la curtosis.

Prob(JB)

Probabilidad de que los residuos se distribuyan normalmente

Cond. No.

Número de condición. Mide la sensibilidad de la salida de una función en comparación con su entrada

En este caso:

  • Tanto el test de Omnibus como el test Jarque-Bera nos arroja una probabilidad cercana a uno, lo cual confirma la hipótesis que los residuos se distribuyen de manera normal.

  • Para el test de Durbin-Watson, basados en la tablas de valores(tamaño de la muestra 80 y número de variables 2), se tiene que los límites para asumir que no existe correlación en los residuos es de: \([d_u,4-d_u]=[1.66,2.34]\), dado que el valor obtenido (1.753) se encuentra dentro de este rango, se concluye que no hay autocorrelación de los residuos.

  • El número de condición es pequeño (podemos asumir que menor a 30 es un buen resultado) por lo que podemos asumir que no hay colinealidad de los datos.

Ahora, para convencernos de manera visual de los resultados, realicemos un gráfico con el ajuste lineal:

# grafico de puntos
sns.lmplot(
    x='x',
    y='y',
    data=df,
    height = 8,
)  
plt.show()
../../../../_images/02_regresion_lineal_31_0.png

Análisis del error

Predicciones

Ahora que ya se tiene el modelo entrenado y se ha analizado sus principales características, se pueden realizar predicciones de los valores que se desconocen, de la siguiente manera:

# predicciones
y_pred = results.predict(sm.add_constant(X_test))

Ahora, analizaremos las métricas de error asociado a las predicciones del modelo:

from metrics_regression import *
from sklearn.metrics import r2_score

# ejemplo 
df_temp = pd.DataFrame(
    {
        'y':y_test,
        'yhat': y_pred
        }
)

print('\nMetricas para el regresor consumo_litros_milla:\n')
summary_metrics(df_temp)
Metricas para el regresor consumo_litros_milla:
mae mse rmse mape maape wmape mmape smape
0 0.1028 0.0171 0.1309 0.0677 0.0674 0.0666 0.0406 0.068

Normalidad de los residuos

Basados en los distintos test (Durbin-Watson,Omnibus,Jarque-Bera ) se concluye que los residuos del modelo son un ruido blanco. Para convencernos de esto de manera gráfica, se realizan los siguientes gráficos de interés.

Función de Autocorrelación

La función de autocorrelación muestra que los residuos se encuentra dentro de la banda de valores críticos \((-0.2,0.2)\), concluyendo que no existe correlación entre los residuos.

from statsmodels.graphics.tsaplots import plot_acf
sns.set(rc={'figure.figsize':(12,8)})

# funcion de autocorrelation
plot_acf(results.resid)
plt.show()
../../../../_images/02_regresion_lineal_38_0.png

QQ-plot

La gráfica de qq-plot nos muestra una comparación en las distribución de los residuos respecto a una población con una distribución normal. En este caso, los puntos (que representan la distribución de los errores) se encuentran cercana a la recta (distribución normal), concluyendo que la distribución de los residuos sigue una distribución normal.

import scipy.stats as stats
fig = sm.qqplot(results.resid, stats.t, fit=True, line="45")
plt.show()
../../../../_images/02_regresion_lineal_40_0.png

Histograma

Esta es una comparación directa enntre la distribución de los residuos versus la distribución de una variable normal mediante un histograma.

df_hist = pd.DataFrame({'error':results.resid})
sns.histplot(
    x='error',
    data=df_hist,
    kde=True,
     bins=15
)  
plt.show()
../../../../_images/02_regresion_lineal_42_0.png

A modo de conclusión, es correcto asumir que los errores siguen la distribución de un ruido blanco, cumpliendo correctamente con los supuestos de la regresión lineal.

Outliers

Un outlier (o valor atípico) una observación que es numéricamente distante del resto de los datos. Las estadísticas derivadas de los conjuntos de datos que incluyen valores atípicos serán frecuentemente engañosas. Estos valores pueden afectar fuertemente al modelo de regresión logística. Veamos un ejemplo:

# ejemplo sencillo

n = 100 
np.random.seed(n)

beta = np.array([1,1]) # coeficientes
x =  np.random.rand(n) # variable independiente
mu, sigma = 0, 0.1 # media y desviacion estandar
epsilon = np.random.normal(mu, sigma, n) # ruido blanco

y = np.dot(np.c_[ np.ones(n),x]  , beta) + epsilon # variables dependientes

y[:10] = 3.1 # contaminacion
x[10] = x[10]-1
y[10]= y[10]-1
x[11] = x[11] +1
y[11] = y[11]+1

# etiqueta
outlier = np.zeros(n)
outlier[:10] = 1
outlier[10:12] = 2

# generar dataframe
df = pd.DataFrame({
    'x':x,
    'y':y,
    'outlier':outlier
})
# grafico de puntos
sns.set(rc={'figure.figsize':(10,8)})
sns.scatterplot(
    x='x',
    y='y',
    hue='outlier',
    data=df,
    palette = ['blue','red','black']
)  
plt.show()
plt.show()
../../../../_images/02_regresion_lineal_47_0.png

En este caso, se tiene dos tipos de outliers en este caso:

  • Significativos: Aquellos outliers que afectan la regresión cambiando la tendencia a este grupo de outliers (puntos rojos).

  • No significativo: Si bien son datos atípicos puesto que se encuentran fuera de la nube de puntos, el ajuste de la regresión lineal no se ve afectado (puntos negros).

Veamos el ajuste lineal.

# grafico de puntos
sns.lmplot(
    x='x',
    y='y',
    data=df,
    height = 8,
)  
plt.show()
../../../../_images/02_regresion_lineal_49_0.png

Otro gráfico de interés, es el gráfico de influencia, que analiza la distancia de Cook de los residuos.

# modelos de influencia
X = df[['x']] # we only take the first two features.
y = df['y']
model = sm.OLS(y, sm.add_constant(X))
results = model.fit()
sm.graphics.influence_plot(results)
plt.show()
../../../../_images/02_regresion_lineal_51_0.png

Los puntos grandes se interpretan como puntos que tienen una alta influencia sobre la regresión lineal, mientras aquellos puntos pequeños tienen una influencia menor.

¿ Qué hacer ante la presencia de outliers?

En este caso, la recta se ve fuertemente afectadas por estos valores. Para estos casos se pueden hacer varias cosas:

  • Eliminación de los outliers: Una vez identificado los outliers (algo que no es tan trivial de identificar para datos multivariables), se puden eliminar y seguir con el paso de modelado.

    • Ventajas: Fácil de trabajar la data para los modelos que dependen fuertemente de la media de los datos.

    • Desventajas: Para el caso multivariables no es tán trivial encontrar outliers.

  • Modelos más robustos a outliers: Se pueden aplicar otros modelos de regresión cuya estimación de los parámetros, no se vea afectado por los valores de outliers.

    • Ventajas: El análisis se vuelve independiente de los datos.

    • Desventajas: Modelos más costoso computacionalmente y/o más complejos de implementar.

Conclusión

  • Los modelos de regresión lineal son una gran herramienta para realizar predicciones.

  • Los outliers afectan considerablemente a la regresión lineal, por lo que se debn buscar estrategias para abordar esta problemática.

  • En esta oportunidad se hizo un detalle técnico de disntintos estádisticos asociados a la regresión líneal (apuntando a un análisis inferencial ), no obstante, en los próximos modelos, se estará interesado en analizar las predicciones del modelo y los errores asociados a ella, por lo cual los aspectos técnico quedarán como lecturas complementarias.

  • Existen varios casos donde los modelos de regresión líneal no realizan un correcto ajuste de los datos, pero es una gran herramienta para comenzar.