## DIAGNOSTICA DEL MODELLO ## un modello 'perfetto' predittore = 10 * runif(100) risposta = predittore + rnorm(100) modello = lm (risposta ~ predittore) plot(predittore, risposta, col = "orange", pch = 19) abline(modello, col = "blue", lwd = 2, lty = 2) par(mfrow = c(2,2)) plot(modello) ## un modello 'buono' attach(anscombe) predittore = x1 risposta = y1 modello = lm (risposta ~ predittore) plot(predittore, risposta, col = "orange", pch = 19) abline(modello, col = "blue", lwd = 2, lty = 2) par(mfrow = c(2,2)) plot(modello) # i residui non hanno media nulla predittore = x2 risposta = y2 modello = lm (risposta ~ predittore) plot(predittore, risposta, col = "orange", pch = 19) abline(modello, col = "blue", lwd = 2, lty = 2) par(mfrow = c(2,2)) plot(modello) # i residui hanno un 'drift' # il punto numero 3 ha forza di leva predittore = x3 risposta = y3 modello = lm (risposta ~ predittore) plot(predittore, risposta, col = "orange", pch = 19) abline(modello, col = "blue", lwd = 2, lty = 2) par(mfrow = c(2,2)) plot(modello) # i residui 'non sono caotici' predittore = x4 risposta = y4 modello = lm (risposta ~ predittore) plot(predittore, risposta, col = "orange", pch = 19) abline(modello, col = "blue", lwd = 2, lty = 2) par(mfrow = c(2,2)) plot(modello) # la varianza dei residui non e' costante set.seed(124) predittore = seq(from = .5, to = 3, length.out = 101) errore = rnorm(101) risposta = predittore + errore/predittore modello = lm (risposta ~ predittore) plot(predittore, risposta, col = "orange", pch = 19) abline(modello, col = "blue", lwd = 2, lty = 2) par(mfrow = c(2,2)) plot(modello)