Professional Documents
Culture Documents
Diagnostics
6.08.2015
Aims of the next four lectures
I pairs
I reg3d
I coplot
Residual analysis
Choose Model
Fit Model
USE MODEL
What constitutes a bad fit?
Outliers: ...
Independence: ...
> data(cherry.df)
> cherry.lm <- lm(volume~diameter+height,data=cherry.df)
> plot(cherry.lm,which=1)
Residuals vs Fitted
10
31
2
5
Residuals
18
10 20 30 40 50 60 70
Fitted values
lm(volume ~ height + diameter)
Additive models
> library(mgcv)
> cherry.gam <- gam(volume~s(diameter)+s(height),
+ data=cherry.df)
> plot(cherry.gam,residuals=T,pages=1)
Example: Cherry trees
40
40
30
30
s(diameter,2.69)
s(height,1)
20
20
10
10
0
0
20
20
8 10 12 14 16 18 20 65 70 75 80 85
diameter height
Fitting polynomials
y~poly(x,2)
y~poly(x,3)
etc.
Orthogonal polynomials
Y = 0 + 1 p1 (x) + 2 p2 (x)
where
Call:
lm(formula = volume ~ poly(diameter, 2) + height,
data = cherry.df)
---
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 1.56553 6.72218 0.233 0.817603
poly(diameter, 2)1 80.25223 3.07346 26.111 < 2e-16 ***
poly(diameter, 2)2 15.39923 2.63157 5.852 3.13e-06 ***
height 0.37639 0.08823 4.266 0.000218 ***
---
Residual standard error: 2.625 on 27 degrees of freedom
Multiple R-squared: 0.9771, Adjusted R-squared: 0.9745
F-statistic: 383.2 on 3 and 27 DF, p-value: < 2.2e-16
Quadratic equation
Call:
lm(formula = volume ~ diameter + I(diameter^2) + height,
data = cherry.df)
---
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) -9.92041 10.07911 -0.984 0.333729
diameter -2.88508 1.30985 -2.203 0.036343 *
I(diameter^2) 0.26862 0.04590 5.852 3.13e-06 ***
height 0.37639 0.08823 4.266 0.000218 ***
---
Residual standard error: 2.625 on 27 degrees of freedom
Multiple R-squared: 0.9771, Adjusted R-squared: 0.9745
F-statistic: 383.2 on 3 and 27 DF, p-value: < 2.2e-16
Quadratic equation
volume
er
he et
igh am
t di
Splines
1.0
0.8
0.6
y
0.4
0.2
0.0
x
Cherry splines
Call:
lm(formula = volume ~ bs(diameter, knots = knot.points) + height,
data = cherry.df)
---
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) -16.3679 7.4856 -2.187 0.03921 *
bs(diameter, knots = knot.points)1 0.1941 7.9374 0.024 0.98070
bs(diameter, knots = knot.points)2 5.5744 3.1704 1.758 0.09201 .
bs(diameter, knots = knot.points)3 10.7976 3.9798 2.713 0.01240 *
bs(diameter, knots = knot.points)4 31.4053 5.5545 5.654 9.35e-06 ***
bs(diameter, knots = knot.points)5 42.2665 6.1297 6.895 4.97e-07 ***
bs(diameter, knots = knot.points)6 58.6454 4.2781 13.708 1.49e-12 ***
height 0.3970 0.1050 3.780 0.00097 ***
---
Residual standard error: 2.8 on 23 degrees of freedom
Multiple R-squared: 0.9778, Adjusted R-squared: 0.971
F-statistic: 144.4 on 7 and 23 DF, p-value: < 2.2e-16
Cherry splines
0.4
0.2
0.0
x
Cherry splines
80
polynomial
splines
70
60
50
Volume
40
30
20
10
8 10 12 14 16 18 20
Diameter
Example: Tyre abrasion data
I Variables are
Call:
lm(formula = abloss ~ hardness + tensile, data = rubber.df)
---
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 885.1611 61.7516 14.334 3.84e-14 ***
hardness -6.5708 0.5832 -11.267 1.03e-11 ***
tensile -1.3743 0.1943 -7.073 1.32e-07 ***
---
Residual standard error: 36.49 on 27 degrees of freedom
Multiple R-squared: 0.8402, Adjusted R-squared: 0.8284
F-statistic: 71 on 2 and 27 DF, p-value: 1.767e-11
Tyre abrasion data
I Pairs plot
I Conditional plot
I Residual vs. fitted value plot
I Fitting GAMs
Pairs plot tensile vs hardness non-linear
120 140 160 180 200 220 240
90
hardness
80
70
60
50
120 140 160 180 200 220 240
tensile
0.30
abloss
300
0.74 0.30
200
50 100
50 60 70 80 90 50 100 200 300
Coplot Suggestion of non-planarity
Given : hardness
50 60 70 80
120 140 160 180 200 220 240 120 140 160 180 200 220 240
350
250
150
50
abloss
350
250
150
50
tensile
Residuals vs. fitted values weak suggestion of
non-planarity
Residuals vs Fitted
29
50
Residuals
50
22
10
Fitted values
GAMs Quite strong indication of non-planarity
50 100
s(tensile,5.42)
s(hardness,1)
0
0
100
100
120 140 160 180 200 220 240 50 60 70 80 90
tensile hardness
Fitting a fourth degree polynomials
40
transform and how.
30
I The shape could be a
20
s(diameter,2.69)
polynomial...
10
0
10
20
8 10 12 14 16 18 20
diameter
GAM plots and splines
100
transform and how.
50
I The shape could be a
s(tensile,5.42)
polynomial...
0
I ...or a locally smoothed
function.
50
120 140 160 180 200 220 240
tensile
GAM plots and splines
4e+05
which variable we need to
3e+05
transform and how.
2e+05
I The shape could be a
s(medianIncome,3.03)
polynomial...
1e+05
I ...or a locally smoothed
0e+00
function.
1e+05
I But be aware of the
2e+05
distribution of the 0 5 10 15
observations medianIncome
Diagnostic steps
Outliers: ...
Independence: ...
I Theory
I Ladder of powers
I Polynomials
diameter2
volume = height
3 4
Call:
lm(formula = log(volume) ~ log(height) + log(diameter),
data = cherry.df)
---
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) -1.70492 0.88190 -1.933 0.0634 .
log(height) 1.11712 0.20444 5.464 7.81e-06 ***
log(diameter) 1.98265 0.07501 26.432 < 2e-16 ***
---
Residual standard error: 0.08139 on 28 degrees of freedom
Multiple R-squared: 0.9777, Adjusted R-squared: 0.9761
F-statistic: 613.2 on 2 and 28 DF, p-value: < 2.2e-16
Using theory: Cherry trees
0.15
31
0.10
2
5
0.05
0.00
Residuals
Residuals
0.05
0
0.10
5
0.15
16
18 15 18
0.20
10 20 30 40 50 60 70 2.5 3.0 3.5 4.0
50 100
s(tensile,5.42)
s(hardness,1)
0
0
100
100
tensile hardness
Refitting model: Tyre abrasion data
> lm(abloss~hardness+poly(tensile,4),data=rubber.df)
I Usually a lot of trial and error involved
I We have succeeded when
I R 2 improves
I Residual plots show no pattern
Call:
lm(formula = abloss ~ hardness + poly(tensile, 5),
data = rubber.df)
---
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 615.3617 29.8178 20.637 2.44e-16 ***
hardness -6.2608 0.4199 -14.911 2.59e-13 ***
poly(tensile, 5)1 -264.3933 25.0612 -10.550 2.76e-10 ***
poly(tensile, 5)2 23.6148 25.3437 0.932 0.361129
poly(tensile, 5)3 119.9500 24.6356 4.869 6.46e-05 ***
poly(tensile, 5)4 -91.6951 23.6920 -3.870 0.000776 ***
poly(tensile, 5)5 9.3811 23.6684 0.396 0.695495
---
Residual standard error: 23.67 on 23 degrees of freedom
Multiple R-squared: 0.9427, Adjusted R-squared: 0.9278
F-statistic: 63.11 on 6 and 23 DF, p-value: 3.931e-13
Ladder of powers
I In practice this means that the scatter does not depend on the
explanatory variables or the mean of the response.
I This means the big residuals happen when the fitted values
are big.
I Variables are
I Fit model
> lm(educ ~ percap + under18 + urban,data=educ.df)
Pairs plot: Education expenditure data
300 500 700 900 300 340 380
500
educ
400
300
200
900
urban
700
0.32
500
300
percap
5500
0.61 0.63
4500
3500
380
under18
340
Call:
lm(formula = educ ~ urban + percap + under18, data = educ.df)
---
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) -555.92562 123.46634 -4.503 4.56e-05 ***
urban -0.00476 0.05174 -0.092 0.927
percap 0.07236 0.01165 6.211 1.40e-07 ***
under18 1.55134 0.31545 4.918 1.16e-05 ***
---
Residual standard error: 40.53 on 46 degrees of freedom
Multiple R-squared: 0.5902, Adjusted R-squared: 0.5634
F-statistic: 22.08 on 3 and 46 DF, p-value: 5.271e-09
Basic fit, outlier out
Call:
lm(formula = educ ~ urban + percap + under18, data = educ.df,
subset = -50)
---
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) -278.06430 132.61422 -2.097 0.041664 *
urban 0.06624 0.04966 1.334 0.188948
percap 0.04827 0.01220 3.958 0.000266 ***
under18 0.88983 0.33159 2.684 0.010157 *
---
Residual standard error: 35.88 on 45 degrees of freedom
Multiple R-squared: 0.4947, Adjusted R-squared: 0.461
F-statistic: 14.68 on 3 and 45 DF, p-value: 8.365e-07
Residual analysis
> par(mfrow=c(1,2))
> plot(educ50.lm,which=c(1,2))
15 15
2
7 7
Standardized residuals
50
1
Residuals
1
50
10
2
100
10
ScaleLocation ScaleLocation
1.5
10
15 10
1.5
7
15
Standardized residuals
Standardized residuals
14
1.0
1.0
0.5
0.5
0.0
0.0
Y p = 0 + 1 x1 + + k xk
95%
5
logLikelihood
0
5
10
2 1 0 1 2
Uses for Box-Cox plots
5000
3.6
Squared residuals
Log std. errors
3.4
3000
3.2
0 1000
3.0
Call:
lm(formula = educ ~ urban + percap + under18,
data = educ.df, subset = -50)
--
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) -278.06430 132.61422 -2.097 0.041664 *
urban 0.06624 0.04966 1.334 0.188948
percap 0.04827 0.01220 3.958 0.000266 ***
under18 0.88983 0.33159 2.684 0.010157 *
---
Residual standard error: 35.88 on 45 degrees of freedom
Multiple R-squared: 0.4947, Adjusted R-squared: 0.461
F-statistic: 14.68 on 3 and 45 DF, p-value: 8.365e-07
Weighted Model
Call:
lm(formula = educ ~ urban + percap + under18,
data = educ.df[-50,], weights = 1/vars)
--
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) -270.29363 102.61073 -2.634 0.0115 *
urban 0.01197 0.04030 0.297 0.7677
percap 0.05850 0.01027 5.694 8.88e-07 ***
under18 0.82384 0.27234 3.025 0.0041 **
---
Residual standard error: 1.019 on 45 degrees of freedom
Multiple R-squared: 0.629, Adjusted R-squared: 0.6043
F-statistic: 25.43 on 3 and 45 DF, p-value: 8.944e-10
Diagnostic steps
Independence: ...
Outliers: ...
6
2
4
Sample Quantiles
Sample Quantiles
1
2
0
0
2
2
3
3 2 1 0 1 2 3 2 0 2 4 6
10
3
5
Sample Quantiles
Sample Quantiles
10
3
3 2 1 0 1 2 3 10 5 0 5 10
> qqnorm(residuals(cherry.cone))
0.10
> WB.test(cherry.cone)
0.05
Sample Quantiles
0.00
WB test statistic = 0.983
0.05
p = 0.36
0.10
Since p-value large, no evidence
0.15
against normality.
2 1 0 1 2
Theoretical Quantiles
Remedies for Non-normality
I The idea is, on the original scale the model does not fit well,
but on the transformed scale it does.
Independence: ...
Outliers: ...
I A high-leverage outlier
I A low-leverage outlier
40
40
30
30
20
20
y
y
10
10
No highleverage points Lowleverage outlier
No outliers Big residual
0
0
0 2 4 6 8 0 2 4 6 8
x x
40
40
30
30
Highleverage outlier
20
20
y
10
10
Highleverage point
Not an outlier
0
0 2 4 6 8 0 2 4 6 8
x x
Example: The education data (without urban)
High leverage point
550
500
450
400
educ
under18
350
400
380
300
360
340
250
320
300
200
280
3000 3500 4000 4500 5000 5500 6000
percap
An outlier too?
100
6 50
8 12
7
50
45
22
5500
48 13 157
47 2114
23 49
4
50
Residual somewhat extreme
5
9
21 41 42 43
5000
46 10
15 3
9 16 11
3846 4048
residuals(educ.lm)
per capita income
20 40 29 13
5 18 34 36
25
4717 24 26
29 14 1 23
2
0
4500
43 31 37 4144 22
38 2420
19 37 39 3230 27 39
28 28
1735 6
36 33 19 4 49
26
4000
30 3 44 2 11 12
31 1
50
25 8
27 35 16 18
32 42 45
34
3500
33 10
300 320 340 360 380 200 250 300 350 400 450
Fitted values b
y are related to response y by the equation
1
y = H y,
b where H = X XT X XT ,
ybi = hi1 y1 + + hii yi + + hin yn .
6 2942
10 2349
1 1334
4 32 7
37
16
11
24
192830
3 27 25
4043 548
15
38
1446 94535 33 44
4117
20
2 2122
39 31 50
18 47 36 8
12
26
Var(ei ) = (1 hii ) 2 ,
Residuals vs Fitted
8
2
Fitted Line 13
True Line 19
6
Residuals
4
y
1
2
26
0
2
0 2 4 6 8 2 3 4 5 6 7
x Fitted values
Leverage-residual plots
> plot(educ.lm,which=5)
Residuals vs Leverage
50
1
2
7
0.5
Standardized residuals
45 0.5
2
1
Cook's distance
Leverage
lm(educ ~ percap + under18)
Interpreting LR plots
4
Lowleverage Highleverage
Outlier Outlier
2
Standardized residuals
Potential
OK Highleverage
0
Outlier
2
Lowleverage Highleverage
Outlier Outlier
4
leverage
No big studentised residuals, no big HMDs
Fitted Line
True Line
30
3(k+1)/n=0.2
19
30
23
Standardized residuals
20
19
y
0
23
1
10
30
2 Cook's distance
0
x Leverage
One big studentised residuals, no big HMDs
2
Fitted Line
True Line
3(k+1)/n=0.2
19
30
1
30
Standardized residuals
1
20
19 31
y
30
2
10
0.5
3
31 1
4 Cook's distance
0
x Leverage
No big studentised residuals, one big HMDs
Fitted Line
True Line
2
1
30 19
0.5
30
3(k+1)/n=0.2
Standardized residuals
20
19
y
0
31
1
10
0.5
30 1
2
31
Cook's distance
0
x Leverage
One big studentised residuals, one big HMDs
Fitted Line
True Line
5
31
4
30
Standardized residuals
2
20
1
y
0.5
1
3(k+1)/n=0.2
1
8
31
10
1
18 0.5
Cook's distance
0
2 1
x Leverage
Four big studentised residuals, one big HMDs
3
8
Fitted Line
True Line 31
13
31
2
6
Standardized residuals
1
3(k+1)/n=0.2 1
0.5
4
y
0
0.5
1
13
1
2
2
26
26 Cook's distance
0
x Leverage
HMD Summary
I Coefficients
I Fitted Values
I Standard errors
bj bj [i]
dfbetas =
se(bj )
Problematic: when r
k +1
|dffits| > 3 .
nk 1
Coefficient measures: Covariance Ratio and Cooks D
Influence measures of
lm(formula = educ ~ percap + under18, data = educ.df) :
2.5
1.5
50 50 50 50
2.0
2.0
2.0
1.5
1.0
1.5
1.5
dfb.un18
dfb.prcp
DFFITS
dfb.1_
1.0
1.0
1.0
0.5
0.5
0.5
0.5
0.0
0.0
0.0
0.0
0 10 20 30 40 50 0 10 20 30 40 50 0 10 20 30 40 50 0 10 20 30 40 50
0.30
0.25
0.20
10
ABS(COV RATIO1)
1.0
0.20
Cook's D
0.15
Hats
0.15
0.10
0.10
0.5
0.05
0.05
0.00
0.00
0.0
0 10 20 30 40 50 0 10 20 30 40 50 0 10 20 30 40 50
I Delete a small number of points and refit (do not want fitted
regression to be determined by one or two influential points)
Independence: ...
plot(1:length(res),res,xlab="time",ylab="residuals",
type="b")
abline(h=0,lty=2)
Residuals against time: Plot
Autocorrelation = 0.9
0.5
residual
0.0
-1.0 -0.5
0 20 40 60 80 100
time
Autocorrelation = 0.0
0.4
residual
0.0
-0.4
0 20 40 60 80 100
time
Autocorrelation = - 0.9
0.0 0.5 1.0
residual
-1.0
0 20 40 60 80 100
time
Residuals against their predecessor
n <- length(res)
plot(prev.res,plot.res,xlab="previous residual",
ylab="residual")
Residuals against their predecessor: Plot
1.0
0.4
0.5
0.5
previous residual
previous residual
previous residual
0.2
0.0
0.0
0.0
-0.5
-0.2
-0.5
-1.0
-0.4
-1.5
-0.5 0.0 0.5 1.0 -0.4 -0.2 0.0 0.2 0.4 -1.5 -1.0 -0.5 0.0 0.5 1.0
acf(residual(lm.obj))
0 5 10 15 20
Lag
Autocorrelation = 0.0
0.8
ACF
0.4
0.0
0 5 10 15 20
Lag
Autocorrelation = - 0.9
-1.0 -0.5 0.0 0.5 1.0
ACF
0 5 10 15 20
Lag
Remedies
I Time-series modelling
Independence: Correlogram
I Variables are
I The quality and the price depends on the vintage (i.e. the
year the wines are made.)
I The prices are (in 1980 US$, in index form, 1961 = 100).
Bordeaux wines: Their price
80
60
price
40
20
year
Bordeaux wines: Pairs plot
15.0 16.0 17.0 400 600 800
year
temp
17.0
0.29
16.0
15.0
h.rain
250
150
0.059 0.031
50
800
w.rain
600
0.051
0.33 0.27
400
price
20 40 60 80
0.45 0.59 0.45 0.23
Call:
lm(formula = price ~ year + temp + h.rain + w.rain,
data = wine.df)
---
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 1305.52761 597.31137 2.186 0.03977 *
year -0.82055 0.29140 -2.816 0.01007 *
temp 19.25337 3.92945 4.900 6.72e-05 ***
h.rain -0.10121 0.03297 -3.070 0.00561 **
w.rain 0.05704 0.01975 2.889 0.00853 **
---
Residual standard error: 11.69 on 22 degrees of freedom
Multiple R-squared: 0.7369, Adjusted R-squared: 0.6891
F-statistic: 15.41 on 4 and 22 DF, p-value: 3.806e-06
Bordeaux wines: Diagnostic plots
3
8 8
6
20
Standardized residuals
19 19
6
2
Residuals
10
1
0
0
10
0 20 40 60 2 1 0 1 2
3
8 1
1.5
6
19
Standardized residuals
Standardized residuals
19 0.5
2
1.0
1
0
0.5
7
Cook's distance
0.0
Bordeaux Residuals
20
Sample Quantiles
> qqnorm(residuals(wine.lm))
10
> WB.test(wine.lm)
WB test statistic = 0.957
0
p = 0.03
10
2 1 0 1 2
Theoretical Quantiles
Bordeaux wines: Box-Cox routine
95%
10
20
Power = 1/3
logLikelihood
30
40
50
2 1 0 1 2
Bordeaux wines: Transform and refit
Normal QQ Plot
0.04
0.02
Sample Quantiles
> qqnorm(residuals(wine.upd))
> WB.test(wine.upd)
0.00
WB test statistic = 0.988
0.02
p = 0.65
0.04
2 1 0 1 2
Theoretical Quantiles
Bordeaux wines: Re-Checking normality
Call:
lm(formula = price^(-1/3) ~ ., data = wine.df)
---
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) -3.666e+00 1.613e+00 -2.273 0.03317 *
year 2.639e-03 7.870e-04 3.353 0.00288 **
temp -7.051e-02 1.061e-02 -6.644 1.11e-06 ***
h.rain 4.423e-04 8.905e-05 4.967 5.71e-05 ***
w.rain -1.157e-04 5.333e-05 -2.170 0.04110 *
---
Residual standard error: 0.03156 on 22 degrees of freedom
Multiple R-squared: 0.8331, Adjusted R-squared: 0.8028
F-statistic: 27.46 on 4 and 22 DF, p-value: 2.841e-08
Bordeaux wines: Box-Cox revisited
22
95%
20
logLikelihood
Power = 1
18
16
14
2 1 0 1 2
Bordeaux wines: Conclusions on Normality
I residuals/fitted values?
I Pairs
I Added variable plots.
Bordeaux wines: Diagnostics plots revisited
24 24
2
20 20
Standardized residuals
1
0.02
Residuals
0
0.02
1
6
0.06
24
20
24 20 0.5
2
6
Standardized residuals
Standardized residuals
1
0
1
23
Cook's distance
2
0.5
0.20 0.25 0.30 0.35 0.40 0.45 0.0 0.1 0.2 0.3
ALL GOOD
Bordeaux wines: GAM plots
> library(mgcv)
> plot(gam(price^(-1/3)~temp+s(h.rain)+s(w.rain)+year,
data=wine.df))
0.10
0.10
0.05
0.05
s(w.rain,4.87)
s(h.rain,1)
0.00
0.00
0.05
0.05
50 100 150 200 250 300 400 500 600 700 800
h.rain w.rain
Bordeaux wines: Polynomial fit
Call:
lm(formula = price^(-1/3) ~ temp + h.rain + year
+ poly(w.rain, 4), data = wine.df)
---
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) -2.974e+00 1.532e+00 -1.942 0.06715 .
temp -7.478e-02 1.048e-02 -7.137 8.75e-07 ***
h.rain 4.869e-04 8.662e-05 5.622 2.02e-05 ***
year 2.284e-03 7.459e-04 3.062 0.00642 **
poly(w.rain, 4)1 -7.561e-02 3.263e-02 -2.317 0.03180 *
poly(w.rain, 4)2 4.469e-02 3.294e-02 1.357 0.19079
poly(w.rain, 4)3 -2.153e-02 2.945e-02 -0.731 0.47374
poly(w.rain, 4)4 6.130e-02 2.956e-02 2.074 0.05194 .
---
Residual standard error: 0.02931 on 19 degrees of freedom
Multiple R-squared: 0.8757, Adjusted R-squared: 0.8299
F-statistic: 19.13 on 7 and 19 DF, p-value: 2.352e-07
Bordeaux wines: Final fit
Call:
lm(formula = price^(-1/3) ~ ., data = wine.df)
---
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) -3.666e+00 1.613e+00 -2.273 0.03317 *
year 2.639e-03 7.870e-04 3.353 0.00288 **
temp -7.051e-02 1.061e-02 -6.644 1.11e-06 ***
h.rain 4.423e-04 8.905e-05 4.967 5.71e-05 ***
w.rain -1.157e-04 5.333e-05 -2.170 0.04110 *
---
Residual standard error: 0.03156 on 22 degrees of freedom
Multiple R-squared: 0.8331, Adjusted R-squared: 0.8028
F-statistic: 27.46 on 4 and 22 DF, p-value: 2.841e-08
Bordeaux wines: Influential points
dfb.1_ dfb.year dfb.temp
0.3
0.3
dfb.temp
dfb.year
dfb.1_
0.2
0.2
0.1
0.1
0.0
0.0
0 5 10 15 20 25 0 5 10 15 20 25 0 5 10 15 20 25
0.6
0.8
0.4
dfb.w.rn
DFFITS
dfb.h.rn
0.4
0.4
0.2
0.2
0.0
0.0
0.0
0 5 10 15 20 25 0 5 10 15 20 25 0 5 10 15 20 25
8
0.8
4
ABS(COV RATIO1)
0.3
0.6
15
Cook's D
0.2
Hats
0.4
0.1
0.2
0.0
0.0
0 5 10 15 20 25 0 5 10 15 20 25 0 5 10 15 20 25
http://xkcd.com/539/