Regresión Lineal

Diseño Experimental

Edimer David Jaramillo

2025-02-27

¿Para qué me sirve la regresión? 💡


Fuente de datos: Possum Regression - Kaggle

¿Para qué me sirve la regresión? 💡


casositiopoblacionsexoedadlongitud_cabezaanchura_craneolongitud_totalcolalongitud_patalongitud_orejaojopechovientre
caso
sitio
poblacion
sexo
edad
longitud_cabeza
anchura_craneo
longitud_total
cola
longitud_pata
longitud_oreja
ojo
pecho
vientre
111Vicm894.160.4893674.554.515.22836
221Vicf692.557.691.536.572.551.21628.533
331Vicf6946095.53975.451.915.53034
Showing 1 to 3 of 3 entries
Previous1Next

¿Puedo estimar (predecir) la edad de las zarigüeyas? 🤔

Regresión Lineal

Fuente de imagen: La regresión lineal

Tipos de regresión


^Yi=^β0 +^β1Xi +^ϵi

^Yijp=^β0 +^βiXi +^βjXj +...+^βpXp +^ϵijp

Fuente de imagen: Understanding Linear Regression: The Basics

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




  • Con R
  • Manual
# Regresión lineal simple
modelo <- lm(edad ~ longitud_cabeza, data = datos)
modelo |> summary()

Call:
lm(formula = edad ~ longitud_cabeza, data = datos)

Residuals:
    Min      1Q  Median      3Q     Max 
-3.6815 -1.3815 -0.2424  1.1479  5.0761 

Coefficients:
                 Estimate Std. Error t value Pr(>|t|)    
(Intercept)     -12.80894    4.79274  -2.673 0.008804 ** 
longitud_cabeza   0.17934    0.05165   3.472 0.000766 ***
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Residual standard error: 1.817 on 99 degrees of freedom
Multiple R-squared:  0.1086,    Adjusted R-squared:  0.09957 
F-statistic: 12.06 on 1 and 99 DF,  p-value: 0.0007661

β=(XTX)−1XTy

# Variables predictora y respuesta
var_predictora <- datos$longitud_cabeza
var_y <- datos$edad

# 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]
               -12.8089426
var_predictora   0.1793443

Evaluación del modelo


  • Coeficiente de determinación (R cuadrado - R2)

R2=ρ2

  • Coeficiente de determinación ajustado

R2a=1−N−1N−k−1(1−R2)

  • Raíz del error cuadrático medio

RMSE=√∑ni=1(y−ˆy)2N

  • Criterio de información de Akaike

AIC=−2ln(L)+k×npar

Análisis de residuales


Diagnósticos del modelo


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

Predicciones


  • Manual
  • Con R

ˆy=−12.8089426+(0.1793443×X)

nueva_x <- 83.56
-12.8089426 + (0.1793443 * nueva_x)
[1] 2.177067
datos_ejemplo <-
  data.frame(longitud_cabeza = c(83.56))

predict(object = modelo, newdata = datos_ejemplo)
      1 
2.17707 

Transformaciones matemáticas

Fuente de imagen: Log Linear Model

Regresión con variables categóricas 🤔

¡Gracias!


1
Regresión Lineal Diseño Experimental Edimer David Jaramillo 2025-02-27

  1. Slides

  2. Tools

  3. Close
  • Regresión Lineal
  • ¿Para qué me sirve la regresión? 💡
  • ¿Para qué me sirve la regresión? 💡
  • Regresión Lineal
  • Tipos de regresión
  • Previo a la inferencia…
  • Previo a la inferencia…
  • Ajuste de modelos
  • Evaluación del modelo
  • Análisis de residuales
  • Diagnósticos del modelo
  • Predicciones
  • Transformaciones matemáticas
  • Regresión con variables categóricas 🤔
  • ¡Gracias!
  • f Fullscreen
  • s Speaker View
  • o Slide Overview
  • e PDF Export Mode
  • r Scroll View Mode
  • b Toggle Chalkboard
  • c Toggle Notes Canvas
  • d Download Drawings
  • ? Keyboard Help