1. Objetivo dels modelos 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 lista, 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(x, y) 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 defecto no lo calcula.
      • Poner confidence (per a l’interval de confiança per a el VALOR MEDIO 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 de confiança, 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 (omitir 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 “llevar” 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.
  • Recorda que una bondat d’ajustament “alta” no significa que les dades segueixen el patró del model lineal

5.6. Adequación 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àficamente:
    • Funció: plot(x):
    • Argument: x: objecte tornat per la funció lm()
    • Torna: 4 figures, de les que interpretem 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\):
        • seguint un patró aleatori (això seria la independencia),
        • sense grans diferències d’amplària vertical (açò seria l’homocedasticidad)
      • Normal Q-Q: gràfica de quantiles (dels residus, respecte dels quantiles teòrics baix normalitat). Si el model lineal és adequat, s’espera un núvol de punts ajustat a la diagonal (açò seria la normalitat)

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?
# ací el teu codi

ACÍ ELS TEUS COMENTARIS

  1. Escriu els intervals de confiança al 99% 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 5%, que l’ordenada a l’origen val 0?
# ací el teu codi

ACÍ ELS TEUS COMENTARIS

  1. Suposant correcte el model lineal, es pot rebutjar, estadísticament i usant una significació del 5%, 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 incompatibles 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.
# 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 INDEPENDIENT que menys semble influir sobre mpg (és a dir, aquella amb MAJOR \(p\)-valor associat), sempre que hi haja alguna amb \(p\)-valor 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, LLEVANT LA VARIABLE INDEPENDIENT, amb MAJOR \(p\)-valor associat, sempre que hi haja alguna amb \(p\)-valor superior a \(0.05\), i partint del model anterior. 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 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.
# 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 arriba al grau màxim, i que per tant es pot buscar un de grau menor? Perquè?
# ací el teu codi

ACÍ ELS TEUS COMENTARIS

  1. Repeteix l’apartado 1, baixant el grau del polinomi, mentre l’apartat 2 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 avall (modificant el paràmetro eval=TRUE del bloque) 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.
# 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=) # fa 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 el mateix pla.
# CANVIA EL PARÀMETRE eval D'AQUEST BLOC A TRUE per a COMPILAR !
# completa el que falta
plot(???)   # mostra en gráfica
abline(???, col='red') # recta de regressió
abline(a=???, b=???, col='green') # "verdadera" recta
  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