आपके द्वारा मॉडल फिट करने के बाद, जो भी मानक तकनीक उनके लिए सार्थक हैं, उनकी तुलना करने के लिए एक चर के रूप में अनुमानित दोषों का उपयोग क्यों नहीं किया जाता है? यह एक निरंतर परिवर्तनशील होने का लाभ है जिससे आप छोटे अंतर भी देख सकते हैं। उदाहरण के लिए, लोग 1.4 और 0.6 के दोषों की अपेक्षित संख्या के बीच के अंतर को समझेंगे, भले ही वे दोनों एक दौर में हों।
एक उदाहरण के लिए कि अनुमानित मूल्य दो चर पर निर्भर करता है, आप समय v का एक समोच्च साजिश कर सकते हैं। दो कुल्हाड़ियों और रंग और आकृति के रूप में जटिलता अनुमानित दोष दिखाने के लिए; और शीर्ष पर वास्तविक डेटा बिंदुओं को अतिरंजित करें।
नीचे दिए गए कथानक को कुछ चमकाने और एक किंवदंती की आवश्यकता है लेकिन एक प्रारंभिक बिंदु हो सकता है।
एक विकल्प जोड़ा गया चर भूखंड या आंशिक प्रतिगमन भूखंड है, जो एक पारंपरिक गाऊसी प्रतिक्रिया प्रतिगमन से अधिक परिचित है। इन्हें कार लाइब्रेरी में लागू किया गया है। प्रभावी रूप से शो के बीच संबंध क्या प्रतिक्रिया के बाकी है और व्याख्यात्मक चर में से एक से क्या बचा है, बाकी व्याख्यात्मक चर के बाद प्रतिक्रिया और व्याख्यात्मक चर दोनों के लिए अपना योगदान दिया है। मेरे अनुभव में अधिकांश गैर-सांख्यिकीय दर्शकों को सराहना करना थोड़ा मुश्किल लगता है (मेरे खराब स्पष्टीकरण द्वारा, निश्चित रूप से)।
#--------------------------------------------------------------------
# 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))