01/10, 2018

Curso BIO4318 Modelos Multivariados y Machine learning

Evaluación

  • Evaluación 1: Informe de selección de modelos 35%
  • Evaluación 2: Informe de selección de modelos e inferencia estadística 35%
  • Discusión de artículos: 5%
  • Evaluación 3: Hackathon 25%

Predecir vs Explicar

Modelos estadísticos

  • Usados ampliamente para explicar fenómenos
    • LM, GLM, NLM
  • Se asume que un alto poder explicativo \(\approx\) poder predictivo
  • ¿Como medimos el poder explicativo de un modelo?
    • \(R^2\)
  • ¿Como medimos el poder predictivo de un modelo?
    • \(R^2\) en una nueva base de datos

Ejemplo

¿Podemos explicar o predecir la eficiencia de combustible (mpg) a partir de los caballos de fuerza (hp) de un Vehículo?

  • ¿Hipótesis?

Primer paso separar en base de datos de entrenamiento y de testeo

  • Para ver poder predictivo no podemos usar la misma base de datos
set.seed(2018)
index <- sample(1:nrow(mtcars), size = round(nrow(mtcars)/2))

Train <- mtcars[index, ]

Test <- mtcars[-index, ]

Modelo que quiero usar

\[mpg = \beta_1 hp + \beta_2 hp^2 + c\]

Modelo <- lm(mpg ~ hp + I(hp^2), data = Train)

Explicación vs Predicción

glance(Modelo)
r.squared p.value df
value 0.7736367 6.4e-05 3
Train$Pred <- predict(Modelo, Train)
hp mpg Pred resid
123 17.8 20.35267 2.5526730
205 10.4 12.23662 1.8366218
110 21.0 22.36907 1.3690700
105 18.1 23.19778 5.0977842
180 15.2 13.86906 -1.3309407
95 22.8 24.94384 2.1438410
215 10.4 11.79045 1.3904461
110 21.4 22.36907 0.9690700
245 13.3 11.16094 -2.1390551
180 17.3 13.86906 -3.4309407
91 26.0 25.67535 -0.3246484
113 30.4 21.88602 -8.5139781
65 33.9 30.89104 -3.0089627
150 15.2 16.80289 1.6028950
335 15.0 15.65368 0.6536754
109 21.4 22.53245 1.1324494

Explicación vs Predicción (continuado)

Predicción

library(caret)
Test$Pred <- predict(Modelo, Test)
postResample(pred = Test$Pred, obs = Test$mpg)
##      RMSE  Rsquared       MAE 
## 3.6939878 0.8355489 3.3326321
hp mpg Pred resid
110 21.0 22.36907 1.369070
93 22.8 25.30723 2.507233
175 18.7 14.28417 -4.415825
245 14.3 11.16094 -3.139055
62 24.4 31.54425 7.144252
123 19.2 20.35267 1.152673
180 16.4 13.86906 -2.530941
230 14.7 11.34275 -3.357247
66 32.4 30.67566 -1.724337
52 30.4 33.79844 3.398444
97 21.5 24.58518 3.085176
150 15.5 16.80289 1.302895
175 19.2 14.28417 -4.915825
66 27.3 30.67566 3.375663
264 15.8 11.31235 -4.487653
175 19.7 14.28417 -5.415825

Predicción (cont)

Que pasa al complejizar el modelo

\[mpg = \beta_1 hp + \beta_2 hp^2 + ... + \beta_12 hp^{12} c\]

Sobreajuste

Quiero predecir y no explicar

  • Texto predictivo del celular
  • Auto-corrector
  • Efectos de cambio climático
  • Detección de caras en redes sociales
  • A veces el modelo equivocado puede predecir mejor
  • Como selecciono el modelo con mayor poder predictivo?
    • Maximizo el \(R^2\) de la base de datos de prueba (Test)

Quiero explicar y no predecir

  • Pruebas a hipótesis causales
  • ¿Que causa el cambio climático?
  • Como funciona:
    • Generación de hipótesis (plural)
    • Generación de modelos para cada hipótesis
    • Interpretación de resultados en base a modelos e hipótesis
    • Recomendaciones?

Explicación o Predicción?

AIC

  • Balancea explicación y predicción
  • Castiga el uso de muchos parámetros
  • Menor AIC, mejor modelo

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

  • Corregido

\[AICc = AIC + \frac{2k^2 + 2k}{n-k-1}\]

  • Usualmente una diferencia de 2 en AIC, se considera “Significativa”

Calculo de AICc en R

  • Función AICc en MuMIn
library(MuMIn)
Modelo <- lm(mpg ~ hp + I(hp^2), data = Train)
AICc(Modelo)
## [1] 92.77244
  • MuMIn tiene otros criterios de informacion:
    • BIC
    • CAIFC
    • DIC
    • QAIC

AICc

Ejercicio

Tomando la base de datos mtcars explora la relacion entre AICc, \(R^2\) Exploratorio y \(R^2\) Predictivo.

Para eso genera un data frame con las siguientes columnas:

  • AICc
  • K
  • \(R^2\) Exploratorio
  • \(R^2\) Predictivo
  • Id modelo
  • Hasta 11:30

Discusión artículo

Mensaje final

Predicción Explicación
Relación x e y Asociación Causalidad
Relación función modelos Datos Teoria
Visión Futura Retrospectiva
Varianza Maximizar predicción Minimizar sesgo