lm(formula, data)
: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)$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)plot(x, y)
de les dades,abline(obj)
, on obj
es l’objecte tornat per lm()
.predict(obj, newdata, interval, level)
: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.
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 demanatconfint(obj, parm, level)
:obj
: objecte tornat per la funció lm()
parm
: noms dels paràmetres (omitir per a que isquen tots)level
: nivell de confiançasummary(obj)
:obj
: l’objecte tornat per la funció lm()
(Intercept)
, etc.), i una primera columna amb l’estimació, i l’última columna amb el \(p\)-valor de cada contrast.Multiple R-squared
: l’original, denotat per \(R^2\)
Adjusted R-squared
: l’ajustat, denotado per \(\overline{R}^2\)
plot(x)
:x
: objecte tornat per la funció lm()
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\):
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)Usant les dades women
, que emmagatzemen promedis de pesos de dones americanes amb alçades determinades.
data(women) # açò carrega les dades
# ací el teu codi
ACÍ ELS TEUS COMENTARIS
# ací el teu codi
L’equació de la recta de regressió es… CONTINUA AQUÍ
# ací el teu codi
ACÍ ELS TEUS COMENTARIS
# ací el teu codi
ACÍ ELS TEUS COMENTARIS
# ací el teu codi
ACÍ ELS TEUS COMENTARIS
# ací el teu codi
ACÍ ELS TEUS COMENTARIS
# ací el teu codi
ACÍ ELS TEUS COMENTARIS
# ací el teu codi
ACÍ ELS TEUS COMENTARIS
# ací el teu codi
ACÍ ELS TEUS COMENTARIS
Usant les dades mtcars
:
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\) = …
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\) = …
# 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
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.
x = read.table(file='colesterol.txt', header=TRUE)
# ací el teu codi
ACÍ ELS TEUS COMENTARIS
# ací el teu codi
ACÍ ELS TEUS COMENTARIS
# ací el teu codi
ACÍ ELS TEUS COMENTARIS
# ací el teu codi
ACÍ ELS TEUS COMENTARIS
# ací el teu codi
ACÍ ELS TEUS COMENTARIS
# ací el teu codi
ACÍ ELS TEUS COMENTARIS
Completa el bloc de codi de més avall (modificant el paràmetro eval=TRUE
del bloque) per a realitzar el següent:
# 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)
# 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 …
# 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
# ací el teu codi
\(R^2\) = …
# ací el teu codi
ACÍ ELS TEUS COMENTARIS
# ací el teu codi
ACÍ ELS TEUS COMENTARIS
# ací el teu codi
ACÍ ELS TEUS COMENTARIS