1. Objetiu dels models de regressió

2. El model de regressió lineal simple \(Y = \beta_0 + \beta_1 X + \text{N}(0, \sigma^2)\)

3. El model de regressió lineal múltiple \(Y = \beta_0 + \beta_1 X_1 + \cdots + \beta_p X_p + \text{N}(0, \sigma^2)\)

4. Models de regressió no lineal a partir del model lineal

5. El model de regressió lineal amb R

5.1. Estimació de paràmetres (equació de la funció de regressió)

  • Funció lm(formula, data):
  • Arguments:
    • formula: expressió del tipus y ~ x o y ~ x1 + x2 + ... + xp que indica quina variable (y) depén de quines (x o bé x1, x2, etc.)
    • data: full de dades que conté les columnes implicades (o no ficar res si les dades estan en vectors)
  • Torna: un objecte especial de tipus llista, amb moltes components, entre altres:
    • $coefficients: vector etiquetat amb els paràmetres \(\hat{\beta}_0\), \(\hat{\beta}_1\), etc. Amb ells es pot “escriure” la funció de regressió \(\hat{Y} = \hat{\beta}_0 + \hat{\beta}_1 X\), etc.
    • $fitted.values: \(\hat{y}_i\), prediccions d’\(Y\) per a les dades de la mostra
    • $residuals: residus en la mostra (\(y_i - \hat{y}_i\), observades menys predites)
  • Gràfica de la recta de regressió: si és regressió SIMPLE, es pot dibuixar la recta de regressió junt a les dades:
    • Primer un plot() de les dades,
    • Després abline(obj), on obj es l’objecte tornat per lm().

5.2. Predicció d’\(Y\) i estimació d’\(E(Y)\), amb els seus intervals de confiança

  • Funció: predict(obj, newdata, interval, level):
  • Arguments:
    • obj: objecte tornat per la funció lm()
    • newdata: full de dades amb valors de les variables independents. Deu portar columnes etiquetades com les variables independents usades en la funció lm(). Per exemple, data.frame(x=5) o bé data.frame(x1=5, x2=3)
    • interval: per defecte no el calcula.
      • Posar "confidence" (per a l’interval de confiança per al VALOR MITJÀ, o ESPERANÇA, d’\(Y\)) o bé
      • "prediction" (per a l’interval de confiança per a la PREDICCIÓ d’\(Y\))
    • level: nivell de confiança de l’interval, si s’ha demanat
  • Torna: un vector etiquetat, amb les prediccions d’\(Y\) (que coincideixen amb les estimacions de \(E(Y)\)), i els intervals de confiança (si s’han demanat)

5.3. Intervals de confiança per als paràmetres \(\beta\)’s del model

  • Funcióconfint(obj, parm, level):
  • Arguments:
    • obj: objecte tornat per la funció lm()
    • parm: noms dels paràmetres (ometre per a que isquen tots)
    • level: nivell de confiança
  • Torna: una matriu amb cada fila corresponent a un paràmetre

5.4. ¿\(\beta_i = 0\)? Contrastos d’hipótesis sobre la pressumpta nul.litat dels paràmetres (per a “excloure” variables innecesàries del model lineal, que no afecten significativament al valor d’\(Y\))

  • El contrast \(\left\{ \begin{array}{rl} H_0: & \beta_i = 0 \\ H_1: & \beta_i \neq 0 \end{array} \right.\) permet decidir si excloure eixa variable del model (ja que si \(\beta_i = 0\), la variable \(X_i\) no produeix canvis en \(Y\), al estar multiplicada per \(0\))
  • Funciósummary(obj):
  • Argument: obj: l’objecte tornat per la funció lm()
  • Torna: per pantalla, entre altres informacions, una taula amb una fila per a cada paràmetre (\(\beta_0 =\) (Intercept), etc.), i una primera columna amb l’estimació, i l’última columna amb el \(p\)-valor de cada contrast.

5.5. Bondad d’ajustament

  • El coeficient R-quadrat mesura la bondat de l’ajustament del model lineal al núvol de punts, però HI HA DOS VERSIONS:
    • Multiple R-squared: l’original, denotat per \(R^2\)
      • El seu valor està sempre entre \(0\) i \(1\).
      • A major valor, millor ajustament
      • S’usa amb regressió SIMPLE.
    • Adjusted R-squared: l’ajustat, denotado per \(\overline{R}^2\)
      • El seu valor NO SEMPRE està entre \(0\) i \(1\).
      • A major valor, millor ajustament
      • S’usa més amb regressió MÚLTIPLE, perquè permet comparar la bondat d’ajustament de models amb distinta quantitat de variables independents.
  • Apareixen en demanar un summary() de la regressió feta
  • Recorda que una bondat d’ajustament “alta” no significa que les dades segueixen el patró del model lineal

5.6. Adequació del model

  • Una vegada ajustat el model, és imprescindible verificar que les dades segueixen el patró del model lineal.
    • Normalitat: errors segueixen el model normal
    • Homocedasticidad: errors tenen mateixa variància
    • Independència: errors independents entre sí, i també dels valors de les \(X\)’s
  • Se sol resoldre gràficament:
    • Funció: plot(x):
    • Argument: x: objecte tornat per la funció lm()
    • Torna: 4 figures, de les que aprofitem dues:
      • Residuals versus Fitted: Residus en funció de valors predits. Si el model lineal és adequat, s’espera un núvol de residus, d’esquerra a dreta, al voltant d’una franja horitzontal a nivell \(0\) amb les següents característiques:
        • Seguint un patró aleatori (això seria la independencia): la línia roja marca una tendència horitzontal sense grans canvis. Si no, fallaria la independència dels errors.
        • Sense grans diferències d’amplària vertical (açò seria l’homocedasticidad): els punts s’allunyen de la línia horitzontal de manera similar d’esquerra a dreta. Si no, fallaria la variància constant.
      • Normal Q-Q: gràfica de quantils (dels residus, respecte dels quantils teòrics de la normal). Si el model lineal és adequat, s’espera un núvol de punts ajustat a la diagonal (açò seria la normalitat). Si no, estaria fallant la normalitat dels errors.
  • En que falle una de les característiques “estrepitosament”, el model lineal es deuria descartar, i es deurien buscar altres models alternatius (tal volta, un model lineal amb les variables transformades, o incloent més variables).

6. Exercicis d’avaluació

Problema 1 (25%)

Usant les dades women, que emmagatzemen promedis de pesos de dones americanes amb alçades determinades.

  1. Realitza la gràfica de pes vs alçada (pes en funció de l’alçada) i indica si la relació lineal sembla raonable o sospitosament descabellada.
data(women) # açò carrega les dades
# ací el teu codi

ACÍ ELS TEUS COMENTARIS

  1. Escriu l’equació de la recta de regressió que ajusta les dades.
# ací el teu codi

L’equació de la recta de regressió es… CONTINUA AQUÍ

  1. Suposant correcte el model lineal, es pot rebutjar, estadísticament i usant una significació del 5%, que el pes depén de l’altura? (és a dir, que la pendent és distinta de \(0\))
# ací el teu codi

ACÍ ELS TEUS COMENTARIS

  1. Escriu els intervals de confiança al 90% per als vertaders valors de l’ordenada a l’origen (intercept) i la pendent.
# ací el teu codi

ACÍ ELS TEUS COMENTARIS

  1. Suposant correcte el model lineal, es pot rebutjar, estadísticament i usant una significació del 10%, que l’ordenada a l’origen val \(-100\)? (Ajuda: fes l’IC.)
# ací el teu codi

ACÍ ELS TEUS COMENTARIS

  1. Aporta un indicador de la bondat de l’ajustament de les dades a la recta i interpreta’l.
# ací el teu codi

ACÍ ELS TEUS COMENTARIS

  1. Pronostica el pes (en lliures) d’una dona de 74 polçades, i acompanya’l amb un interval de confiança al 80%.
# ací el teu codi

ACÍ ELS TEUS COMENTARIS

  1. Les dades són compatibles amb les hipótesis del model de regressió lineal? Usa les dues gràfiques habituals, i comenta el compliment o no de les tres hipòtesis que necessita el model lineal. En cas negatiu, proposa un model alternatiu (només de paraula, sense usar el R).
# ací el teu codi

ACÍ ELS TEUS COMENTARIS

Problema 2 (25%)

Usant les dades mtcars:

  1. Escriu l’equació de regressió de la columna mpg sobre totes les demés, i anota el valor dels dos coeficients de bondat d’ajustament.
data(mtcars) # açò carrega les dades
# ací el teu codi

L’equació es …. Els coeficients de bondat d’ajustament són \(R^2\) = … i \(\overline{R}^2\) = …

  1. Repeteix l’apartat anterior, LLEVANT LA VARIABLE INDEPENDENT que menys semble influir sobre mpg (és a dir, aquella amb MAJOR \(p\)-valor associat, sempre que siga superior a \(0.05\)). Escriu l’equació i els dos coeficients de bondat d’ajustament.
# ací el teu codi

Llevem la variable … i l’equació és …. Els coeficients de bondat d’ajustament són \(R^2\) = … i \(\overline{R}^2\) = …

  1. Repeteix l’apartat anterior partint del model anterior, i LLEVANT DEL MODEL LA VARIABLE INDEPENDENT, amb MAJOR \(p\)-valor associat (sempre que siga superior a \(0.05\)). Escriu TOTES les equacions que vagen eixint, junt als seus dos coeficients de bondat d’ajustament.
# ací el teu codi

Llevem la variable … i l’equació és …. Els coeficients de bondat d’ajustament són \(R^2\) = … i \(\overline{R}^2\) = …

Repetir fins que no hi haja VARIABLES INDEPENDENTS amb p-valors majors que 0.05

Problema 3 (25%)

Suposem que es pretén analitzar l’efecte d’un medicament sobre el nivell de colesterol en sang. S’experimenta amb pacients de característiques molt similars, administrant distintes dosis del medicament a cadascun. Usa el model de regressió lineal múltiple per a ajustar les dades del fitxer colesterol.txt a un model polinòmic de fins a grau 4.

  1. Representa el núvol de punts de les dades.
x = read.table(file='colesterol.txt', header=TRUE)
# ací el teu codi

ACÍ ELS TEUS COMENTARIS

  1. Escriu l’equació del polinomi de regressió de grau 4 per mínims quadrats. (AJUDA: DEFINIR UN NOU FULL DE DADES AMB LES COLUMNES de x i NOVES COLUMNES QUE SIGUEN POTÈNCIES DE x$dosis, I APLICAR LA REGRESSIÓ MÚLTIPLE AMB ELL)
# ací el teu codi

ACÍ ELS TEUS COMENTARIS

  1. Segons les dades i usant una significació del 5%, es pot admetre que el polinomi de la regressió no necessita arribar al grau màxim (4), i que per tant es pot buscar un de grau menor? Perquè?
# ací el teu codi

ACÍ ELS TEUS COMENTARIS

  1. Repeteix l’apartat 1, abaixant el grau del polinomi, mentre l’apartat anterior siga tenint resposta afirmativa.
# ací el teu codi

ACÍ ELS TEUS COMENTARIS

  1. Una vegada trobat el grau per al qual no hi ha arguments estadístics que permetan “baixar”, realitza la predicció del possible valor d’Y per a X = “últimes dues xifres del teu DNI”, i escriu l’interval de confiança al 90% per a eixa predicció.
# ací el teu codi

ACÍ ELS TEUS COMENTARIS

  1. Copia les gràfiques que permeten avaluar l’adequació del model de regressió lineal, i interpreta-les.
# ací el teu codi

ACÍ ELS TEUS COMENTARIS

Problema 4 (25%)

Completa el bloc de codi de més endavall (modificant el paràmetre eval=TRUE del bloc) per a realitzar el següent:

  1. Defineix un full de dades amb 500 dades del model de regressió lineal \(Y = 60.5 + 32.1X + N(\mu=0,\sigma^2=50)\), on \(X\) són dades del model uniforme entre \(0.0\) i \(3.0\). Usa una llavor per a poder recompilar sense que canvien les dades. (AJUDA: VEURE SECCIÓ 2)
# CANVIA EL PARÀMETRE eval D'AQUEST BLOC A TRUE per a COMPILAR !
# completa el que falta
set.seed(???)            # ficar llavor
xi = runif(500, 0, 3)    # 500 mostrejos de la X
ei =                     # 500 mostrejos de l'error (normal)
yi =                     # valors d'Y a partir de la fòrmula del model
xx = data.frame(X=xi, Y=yi) # mostra conjunta (en full de dades)
  1. Escriu la recta de regressió d’\(Y\) sobre \(X\) estimada: \(\hat{Y} = \hat{\beta}_0 + \hat{\beta}_1 X\).
# CANVIA EL PARÀMETRE eval D'AQUEST BLOC A TRUE per a COMPILAR !
# completa el que falta
recta = lm(formula=, data=) # fer la regressió

L’equació de la recta de regressió es …

  1. Representa les dades \((X,Y)\), la recta de regressió, i la “vertadera recta” en la mateixa gràfica.
# CANVIA EL PARÀMETRE eval D'AQUEST BLOC A TRUE per a COMPILAR !
# completa el que falta
plot(???)   # gràfica de les dades de la mostra
abline(a=???, b=???, col='green') # "verdadera" recta que genera les dades
abline(???, col='red') # recta de regressió calculada
  1. Calcula la \(R^2\) per a aquestes dades.
# ací el teu codi

\(R^2\) = …

  1. Representa les dues gràfiques que serveixen per a justificar l’adequació del model, i comenta en funció d’allò observat en elles.
# ací el teu codi

ACÍ ELS TEUS COMENTARIS

  1. Escriu l’interval de confiança al 90% per a la predicció d’Y quan \(X=2\).
# ací el teu codi

ACÍ ELS TEUS COMENTARIS

  1. Realitza 1000 simulacions d’Y per a \(X=2\), i calcula el percentatge d’eixes simulacions que entren dins de l’interval de confiança calculat en l’apartat anterior.
# ací el teu codi

ACÍ ELS TEUS COMENTARIS