Assessing model fit Correlation and Regression How well does our - - PowerPoint PPT Presentation

assessing model fit
SMART_READER_LITE
LIVE PREVIEW

Assessing model fit Correlation and Regression How well does our - - PowerPoint PPT Presentation

CORRELATION AND REGRESSION Assessing model fit Correlation and Regression How well does our textbook model fit? > ggplot(data = textbooks, aes(x = amazNew, y = uclaNew)) + geom_point() + geom_smooth(method = "lm", se = FALSE)


slide-1
SLIDE 1

CORRELATION AND REGRESSION

Assessing model fit

slide-2
SLIDE 2

Correlation and Regression

How well does our textbook model fit?

> ggplot(data = textbooks, aes(x = amazNew, y = uclaNew)) + geom_point() + geom_smooth(method = "lm", se = FALSE)

slide-3
SLIDE 3

Correlation and Regression

How well does our possum model fit?

> ggplot(data = possum, aes(y = totalL, x = tailL)) + geom_point() + geom_smooth(method = "lm", se = FALSE)

slide-4
SLIDE 4

Correlation and Regression

Sums of squared deviations

slide-5
SLIDE 5

Correlation and Regression

SSE

> library(broom) > mod_possum <- lm(totalL ~ tailL, data = possum) > mod_possum %>% augment() %>% summarize(SSE = sum(.resid^2), SSE_also = (n() - 1) * var(.resid)) SSE SSE_also 1 1301 1301

slide-6
SLIDE 6

Correlation and Regression

RMSE

slide-7
SLIDE 7

Correlation and Regression

Residual standard error (possums)

> summary(mod_possum) Call: lm(formula = totalL ~ tailL, data = possum) Residuals: Min 1Q Median 3Q Max

  • 9.210 -2.326 0.179 2.777 6.790

Coefficients: Estimate Std. Error t value Pr(>|t|) (Intercept) 41.04 6.66 6.16 1.4e-08 tailL 1.24 0.18 6.93 3.9e-10 Residual standard error: 3.57 on 102 degrees of freedom Multiple R-squared: 0.32, Adjusted R-squared: 0.313 F-statistic: 48 on 1 and 102 DF, p-value: 3.94e-10

slide-8
SLIDE 8

Correlation and Regression

Residual standard error (textbooks)

> lm(uclaNew ~ amazNew, data = textbooks) %>% summary() Call: lm(formula = uclaNew ~ amazNew, data = textbooks) Residuals: Min 1Q Median 3Q Max

  • 34.78 -4.57 0.58 4.01 39.00

Coefficients: Estimate Std. Error t value Pr(>|t|) (Intercept) 0.9290 1.9354 0.48 0.63 amazNew 1.1990 0.0252 47.60 <2e-16 Residual standard error: 10.5 on 71 degrees of freedom Multiple R-squared: 0.97, Adjusted R-squared: 0.969 F-statistic: 2.27e+03 on 1 and 71 DF, p-value: <2e-16

slide-9
SLIDE 9

CORRELATION AND REGRESSION

Let’s practice!

slide-10
SLIDE 10

CORRELATION AND REGRESSION

Comparing model fits

slide-11
SLIDE 11

Correlation and Regression

How well does our textbook model fit?

> ggplot(data = textbooks, aes(x = amazNew, y = uclaNew)) + geom_point() + geom_smooth(method = "lm", se = FALSE)

slide-12
SLIDE 12

Correlation and Regression

How well does our possum model fit?

> ggplot(data = possum, aes(y = totalL, x = tailL)) + geom_point() + geom_smooth(method = "lm", se = FALSE)

slide-13
SLIDE 13

Correlation and Regression

  • For all observations…

Null (average) model

slide-14
SLIDE 14

Correlation and Regression

Visualization of null model

slide-15
SLIDE 15

Correlation and Regression

SSE, null model

> mod_null <- lm(totalL ~ 1, data = possum) > mod_null %>% augment(possum) %>% summarize(SST = sum(.resid^2)) SST 1 1914

slide-16
SLIDE 16

Correlation and Regression

SSE, our model

> mod_possum <- lm(totalL ~ tailL, data = possum) > mod_possum %>% augment() %>% summarize(SSE = sum(.resid^2)) SSE 1 1301

slide-17
SLIDE 17

Correlation and Regression

Coefficient of determination

slide-18
SLIDE 18

Correlation and Regression

  • For simple linear regression…

Connection to correlation

slide-19
SLIDE 19

Correlation and Regression

Summary

> summary(mod_possum) Call: lm(formula = totalL ~ tailL, data = possum) Residuals: Min 1Q Median 3Q Max

  • 9.210 -2.326 0.179 2.777 6.790

Coefficients: Estimate Std. Error t value Pr(>|t|) (Intercept) 41.04 6.66 6.16 1.4e-08 tailL 1.24 0.18 6.93 3.9e-10 Residual standard error: 3.57 on 102 degrees of freedom Multiple R-squared: 0.32, Adjusted R-squared: 0.313 F-statistic: 48 on 1 and 102 DF, p-value: 3.94e-10

slide-20
SLIDE 20

Correlation and Regression

Over-reliance on R-squared

"Essentially, all models are wrong, but some are useful."

  • George Box
slide-21
SLIDE 21

CORRELATION AND REGRESSION

Let’s practice!

slide-22
SLIDE 22

CORRELATION AND REGRESSION

Unusual points

slide-23
SLIDE 23

Correlation and Regression

Unusual points

> regulars <- mlbBat10 %>% filter(AB > 400) > ggplot(data = regulars, aes(x = SB, y = HR)) + geom_point() + geom_smooth(method = "lm", se = 0)

Jose Bautista Juan Pierre

slide-24
SLIDE 24

Correlation and Regression

Leverage

slide-25
SLIDE 25

Correlation and Regression

Leverage computations

> library(broom) > mod <- lm(HR ~ SB, data = regulars) > mod %>% augment() %>% arrange(desc(.hat)) %>% select(HR, SB, .fitted, .resid, .hat) %>% head() HR SB .fitted .resid .hat 1 1 68 2.383 -1.383 0.13082 2 2 52 6.461 -4.461 0.07034 3 5 50 6.971 -1.971 0.06417 4 19 47 7.736 11.264 0.05550 5 5 47 7.736 -2.736 0.05550 6 1 42 9.010 -8.010 0.04261

Juan Pierre

slide-26
SLIDE 26

Correlation and Regression

Consider Rickey Henderson…

Rickey Henderson Juan Pierre

slide-27
SLIDE 27

Correlation and Regression

Influence via Cook's distance

> mod <- lm(HR ~ SB, data = regulars_plus) > mod %>% augment() %>% arrange(desc(.cooksd)) %>% select(HR, SB, .fitted, .resid, .hat, .cooksd) %>% head() HR SB .fitted .resid .hat .cooksd 1 28 65 5.770 22.230 0.105519 0.33430 2 54 9 17.451 36.549 0.006070 0.04210 3 34 26 13.905 20.095 0.013150 0.02797 4 19 47 9.525 9.475 0.049711 0.02535 5 39 0 19.328 19.672 0.010479 0.02124 6 42 14 16.408 25.592 0.006061 0.02061

Henderson

slide-28
SLIDE 28

CORRELATION AND REGRESSION

Let’s practice!

slide-29
SLIDE 29

CORRELATION AND REGRESSION

Dealing with outliers

slide-30
SLIDE 30

Correlation and Regression

Dealing with outliers

> ggplot(data = regulars_plus, aes(x = SB, y = HR)) + geom_point() + geom_smooth(method = "lm", se = 0)

slide-31
SLIDE 31

Correlation and Regression

The full model

> coef(lm(HR ~ SB, data = regulars_plus)) (Intercept) SB 19.3282 -0.2086

slide-32
SLIDE 32

Correlation and Regression

Removing outliers that don't fit

  • What is the justification?
  • How does the scope of inference change?

> regulars <- regulars_plus %>% filter(!(SB > 60 & HR > 20)) # remove Henderson > coef(lm(HR ~ SB, data = regulars)) (Intercept) SB 19.7169 -0.2549

slide-33
SLIDE 33

Correlation and Regression

Removing outliers that do fit

> regulars_new <- regulars %>% filter(SB < 60) # remove Pierre > coef(lm(HR ~ SB, data = regulars_new)) (Intercept) SB 19.6870 -0.2514

  • What is the justification?
  • How does the scope of inference change?
slide-34
SLIDE 34

CORRELATION AND REGRESSION

Let’s practice!

slide-35
SLIDE 35

CORRELATION AND REGRESSION

Conclusion

slide-36
SLIDE 36

Correlation and Regression

Graphical: scaerplots

slide-37
SLIDE 37

Correlation and Regression

Numerical: correlation

slide-38
SLIDE 38

Correlation and Regression

Numerical: correlation

slide-39
SLIDE 39

Correlation and Regression

Modular: linear regression

slide-40
SLIDE 40

Correlation and Regression

Focus on interpretation

slide-41
SLIDE 41

Correlation and Regression

Objects and formulas

> summary(mod) Call: lm(formula = uclaNew ~ amazNew, data = textbooks) Residuals: Min 1Q Median 3Q Max

  • 34.78 -4.57 0.58 4.01 39.00

Coefficients: Estimate Std. Error t value Pr(>|t|) (Intercept) 0.9290 1.9354 0.48 0.63 amazNew 1.1990 0.0252 47.60 <2e-16 Residual standard error: 10.5 on 71 degrees of freedom Multiple R-squared: 0.97, Adjusted R-squared: 0.969 F-statistic: 2.27e+03 on 1 and 71 DF, p-value: <2e-16

slide-42
SLIDE 42

Correlation and Regression

Model fit

slide-43
SLIDE 43

CORRELATION AND REGRESSION

Thanks!