##---------------------------------------------## ## Script for Part 2a: Regression Diagnostics ## ## John Fox ## ## Applied Statistics With R ## ## WU Wien ## ## May/June 2006 ## ##---------------------------------------------## # Leverage, Outliers, Influence: Davis's data library(car) data(Davis) attach(Davis) scatterplot(repwt ~ weight | sex, smooth=FALSE) summary(lm(repwt ~ weight*sex)) scatterplot(weight ~ repwt | sex, smooth=FALSE) summary(lm(weight ~ repwt*sex)) detach(Davis) # Duncan's regression scatterplot.matrix(~ prestige + income + education, data=Duncan, cex=2) mod.duncan <- lm(prestige ~ income + education, data=Duncan) influence.plot(mod.duncan) av.plots(mod.duncan) mod.duncan.2 <- update(mod.duncan, subset=-which.names(c("minister", "conductor"), Duncan)) summary(mod.duncan.2) # Non-normal errors: SLID data SLID <- read.table(file.choose(), header=TRUE) some(SLID) attach(SLID) mod.slid <- lm(compositeHourlyWages ~ age + sex + yearsEducation) summary(mod.slid) plot(density(rstudent(mod.slid))) qq.plot(mod.slid, simulate=TRUE, line="none", labels=FALSE) mod.slid.2 <- lm(log2(compositeHourlyWages) ~ age + sex + yearsEducation, data=SLID) summary(mod.slid.2) plot(density(rstudent(mod.slid.2))) qq.plot(mod.slid.2, simulate=TRUE, line="none", labels=FALSE) # Non-constant error variance: SLID data plot(fitted(mod.slid), rstudent(mod.slid)) plot(fitted(mod.slid.2), rstudent(mod.slid.2)) sqrt(diag(vcov(mod.slid))) # std. errors sqrt(diag(hccm(mod.slid))) # adjusted std. errors round(sqrt(diag(hccm(mod.slid)))/sqrt(diag(vcov(mod.slid))), 2) sqrt(diag(vcov(mod.slid.2))) # std. errors sqrt(diag(hccm(mod.slid.2))) # adjusted std. errors round(sqrt(diag(hccm(mod.slid.2)))/sqrt(diag(vcov(mod.slid.2))), 2) # Nonlinearity: SLID data cr.plots(mod.slid.2) mod.slid.3 <- lm(log2(compositeHourlyWages) ~ poly(age, 2, raw=TRUE) + sex + I(yearsEducation^2), data=SLID) summary(mod.slid.3) cr.plots(mod.slid.3) library(effects) plot(all.effects(mod.slid.3), ask=FALSE) # (generalized) variance-inflation factors vif(mod.slid.3)