Regresión Lineal

Diseño Experimental

Edimer David Jaramillo

2024-09-19

Regresión Lineal

Tipos de regresión


\[\hat{Y_i} = \hat{\beta_0}\ + \hat{\beta_1}X_i\ + \hat{\epsilon_i}\]

\[\hat{Y_{ijp}} = \hat{\beta_0}\ + \hat{\beta_i}X_i\ + \hat{\beta_j}X_j\ + ... + \hat{\beta_p}X_p\ + \hat{\epsilon_{ijp}}\]

Previo a la inferencia…




Previo a la inferencia…





  • Validar patrones distribucionales
  • Cálculo de correlaciones
    • Correlación paramétrica
    • Correlación no paramétrica
  • Detección de relaciones lineales y no lineales → Diagramas de dispersión (geom_point())
  • Detección de atipicidades (observaciones ausentes, valores atípicos, registros errados, etc.)

Ajuste de modelos




# Regresión lineal simple
modelo <- lm(avg_price_milk ~ dairy_ration, data = datos)
modelo |> summary()

Call:
lm(formula = avg_price_milk ~ dairy_ration, data = datos)

Residuals:
      Min        1Q    Median        3Q       Max 
-0.033635 -0.008394 -0.002785  0.003106  0.055094 

Coefficients:
             Estimate Std. Error t value Pr(>|t|)    
(Intercept)  0.086176   0.007885  10.930 1.67e-12 ***
dairy_ration 1.038172   0.127443   8.146 2.10e-09 ***
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Residual standard error: 0.01655 on 33 degrees of freedom
Multiple R-squared:  0.6679,    Adjusted R-squared:  0.6578 
F-statistic: 66.36 on 1 and 33 DF,  p-value: 2.102e-09

\[\beta = (X^TX)^{-1}X^Ty\]

# Variables predictora y respuesta
var_predictora <- datos$dairy_ration
var_y <- datos$avg_price_milk

# Matriz X
matriz_x <- cbind(1, var_predictora)

# Transpuesta de X
transpuesta_x <- t(matriz_x)

# X transpuesta * X
tranx_x <- transpuesta_x %*% matriz_x

# Inversa de X transpuesta * X
inversa <- solve(tranx_x)

# Inveresa de X transpuesta * X por transpuesta  de X
inversa_tranx <- inversa %*% t(matriz_x)

# Betas
betas <- inversa_tranx %*% var_y
betas
                    [,1]
               0.0861763
var_predictora 1.0381718

Evaluación del modelo


\[R^2 = \rho^2\]

\[R^2_a = 1 - \frac{N-1}{N-k-1} (1 - R^2)\]

\[RMSE = \sqrt{\frac{\sum_{i = 1}^{n} (y - \hat{y})^2}{N}}\]

\[AIC = -2ln(L) + k\times n_{par}\]

Análisis de residuales


Diagnósticos del modelo


par(mfrow = c(2, 2))
modelo |> plot()

Predicciones


\[\hat{y} = 0.086176 + (1.038172 \times X)\]

nueva_x <- 0.082
0.086176 + (1.038172 * nueva_x)
[1] 0.1713061
datos_ejemplo <-
  datos |> 
  sample_n(size = 10) |> 
  select(dairy_ration)

predict(object = modelo, newdata = datos_ejemplo)
        1         2         3         4         5         6         7         8 
0.1347002 0.1500347 0.1371901 0.1405249 0.1445377 0.1328988 0.1360335 0.1319948 
        9        10 
0.1813378 0.1373187 

Transformaciones matemáticas

Regresión con variables categóricas 🤔

¡Gracias!