MAT281 - Laboratorio N°12: Regresion Lineal Multiple y Diagnostico¶
Objetivos del laboratorio¶
- Ajustar e interpretar un modelo de regresion lineal multiple.
- Interpretar la prueba F global y las pruebas t por coeficiente.
- Detectar multicolinealidad mediante el factor VIF.
- Verificar los supuestos del modelo (homocedasticidad, normalidad, autocorrelacion).
- Construir un panel de diagnostico e interpretar sus resultados.
Instrucciones¶
Lea con atencion cada problema antes de resolverlo. Reemplace cada celda que contiene # FIXME con su propia solucion y, cuando se solicite, responda las preguntas en celdas de texto.
Nota: Puede apoyarse en asistentes virtuales (ChatGPT, Gemini, Claude) o en el autocompletado de Colab, pero asegurese de entender cada linea de codigo que entregue.
Requisito:
# !pip install statsmodels
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import statsmodels.api as sm
import statsmodels.formula.api as smf
from statsmodels.stats.outliers_influence import variance_inflation_factor
df = pd.read_csv("https://raw.githubusercontent.com/fralfaro/MAT281/main/docs/lectures/statistics/data/supermarket_sales.csv")
df.head()
Problema 01 — Modelo multiple¶
Modelaremos el Total en funcion de varios predictores: Unit price,
Quantity y Rating.
Tu tarea:
- Ajusta el modelo multiple con
smf.ols(recuerda que los nombres de columnas con espacios requierenQ("Unit price")en la formula). - Muestra el
summary(). - Reporta el $R^2$ y el $R^2$ ajustado.
# FIXME
Problema 02 — Prueba F global¶
Tu tarea: a partir del summary():
- Identifica el estadistico F y su valor-p (
Prob (F-statistic)). - Pregunta: ¿el modelo en su conjunto es significativo? ¿Que hipotesis pone a prueba la F global?
Respuesta (Problema 02): (escribe aqui)
Problema 03 — Pruebas t por coeficiente¶
Tu tarea:
- ¿Cuales predictores son significativos (valor-p $< 0.05$) y cuales no?
- Interpreta el coeficiente de
Quantity: ¿como cambia elTotalesperado al aumentar en 1 la cantidad, manteniendo lo demas constante?
Respuesta (Problema 03): (escribe aqui)
Problema 04 — Multicolinealidad (VIF)¶
El VIF (Variance Inflation Factor) detecta predictores redundantes. Como regla, $\text{VIF} > 5$ (o 10) indica multicolinealidad preocupante.
Tu tarea:
- Construye la matriz de diseño con los predictores y calcula el VIF de cada
uno con
variance_inflation_factor. - Pregunta: ¿hay multicolinealidad? ¿Que problema causa en la interpretacion de los coeficientes?
# FIXME
Respuesta (Problema 04): (escribe aqui)
Problema 05 — Supuestos del modelo¶
Tu tarea: verifica los supuestos sobre los residuos:
- Homocedasticidad: prueba de Breusch-Pagan
(
statsmodels.stats.diagnostic.het_breuschpagan). - Normalidad: QQ-plot de los residuos y/o prueba de normalidad.
- Autocorrelacion: estadistico de Durbin-Watson
(
statsmodels.stats.stattools.durbin_watson). - Concluye: ¿el modelo cumple razonablemente los supuestos?
# FIXME
Conclusion (Problema 05): (escribe aqui)