Nachdem Sie das Modell angepasst haben, können Sie vorhergesagte Fehler als Variable verwenden, um sie mit den anderen zu vergleichen, indem Sie die für sie bedeutsamen Standardtechniken verwenden. Es hat den Vorteil, dass es eine kontinuierliche Variable ist, sodass Sie auch kleine Unterschiede erkennen können. Zum Beispiel werden die Leute den Unterschied zwischen einer erwarteten Anzahl von Fehlern von 1,4 und 0,6 verstehen, obwohl beide auf eins runden.
Als Beispiel dafür, wie der vorhergesagte Wert von zwei Variablen abhängt, können Sie ein Konturdiagramm der Zeit v. Komplexität als die beiden Achsen sowie Farbe und Konturen erstellen, um die vorhergesagten Fehler anzuzeigen. und überlagern Sie die tatsächlichen Datenpunkte.
Die folgende Darstellung muss etwas poliert und mit einer Legende versehen werden, könnte aber ein Ausgangspunkt sein.
Eine Alternative ist das hinzugefügte variable Diagramm oder das partielle Regressionsdiagramm, das aus einer traditionellen Gaußschen Antwortregression besser bekannt ist. Diese sind in der Fahrzeugbibliothek implementiert. Effektiv zeigen sie die Beziehung zwischen dem, was von der Antwort übrig bleibt, und dem, was von einer der erklärenden Variablen übrig bleibt, nachdem der Rest der erklärenden Variablen ihren Beitrag sowohl zur Antwort als auch zu den erklärenden Variablen entfernt hat. Nach meiner Erfahrung finden die meisten nicht statistischen Zielgruppen diese etwas schwer einzuschätzen (könnte natürlich durch meine schlechten Erklärungen).
#--------------------------------------------------------------------
# Simulate some data
n<-200
time <- rexp(n,.01)
complexity <- sample(1:5, n, prob=c(.1,.25,.35,.2,.1), replace=TRUE)
trueMod <- exp(-1 + time*.005 + complexity*.1 + complexity^2*.05)
defects <- rpois(n, trueMod)
cbind(trueMod, defects)
#----------------------------------------------------------------------
# Fit model
model <- glm(defects~time + poly(complexity,2), family=poisson)
# all sorts of diagnostic checks should be done here - not shown
#---------------------------------------------------------------------
# Two variables at once in a contour plot
# create grid
gridded <- data.frame(
time=seq(from=0, to=max(time)*1.1, length.out=100),
complexity=seq(from=0, to=max(complexity)*1.1, length.out=100))
# create predicted values (on the original scale)
yhat <- predict(model, newdata=expand.grid(gridded), type="response")
# draw plot
image(gridded$time, gridded$complexity, matrix(yhat,nrow=100, byrow=FALSE),
xlab="Time", ylab="Complexity", main="Predicted average number of defects shown as colour and contours\n(actual data shown as circles)")
contour(gridded$time, gridded$complexity, matrix(yhat,nrow=100, byrow=FALSE), add=TRUE, levels=c(1,2,4,8,15,20,30,40,50,60,70,80,100))
# Add the original data
symbols(time, complexity, circles=sqrt(defects), add=T, inches=.5)
#--------------------------------------------------------------------
# added variable plots
library(car)
avPlots(model, layout=c(1,3))