The Data

download.file("http://www.openintro.org/stat/data/mlb11.RData", destfile = "mlb11.RData")
load("mlb11.RData")

Exercise 1: What type of plot would you use to display the relationship between runs and one of the other numerical variables? Plot this relationship using the variable at_bats as the predictor. Does the relationship look linear? If you knew a team’s at_bats, would you be comfortable using a linear model to predict the number of runs?

library(ggplot2)
ggplot(data = mlb11, aes(x = at_bats, y = runs)) +
  geom_line()

The relationship does not look remotely linear. I would not be comfortable using at bats as a predictor for the number of runs.

cor(mlb11$runs, mlb11$at_bats)
## [1] 0.610627

Exercise 2: Looking at your plot from the previous exercise, describe the relationship between these two variables. Make sure to discuss the form, direction, and strength of the relationship as well as any unusual observations.

There is a general upward correlation between the at bats and the # of runs scored. It’s not a strong correlation, in that the data is not at all linear, but generally speaking the more at bats, the more runs scored.

plot_ss(x = mlb11$at_bats, y = mlb11$runs)

## Click two points to make a line.
                                
## Call:
## lm(formula = y ~ x, data = pts)
## 
## Coefficients:
## (Intercept)            x  
##  -2789.2429       0.6305  
## 
## Sum of Squares:  123721.9
plot_ss(x = mlb11$at_bats, y = mlb11$runs, showSquares = TRUE)

## Click two points to make a line.
                                
## Call:
## lm(formula = y ~ x, data = pts)
## 
## Coefficients:
## (Intercept)            x  
##  -2789.2429       0.6305  
## 
## Sum of Squares:  123721.9

Exercise 3: Using plot_ss, choose a line that does a good job of minimizing the sum of squares. Run the function several times. What was the smallest sum of squares that you got? How does it compare to your neighbors?

a: Sum of Squares: 196979

b: Sum of Squares: 144939.5

c: Sum of Squares: 143121.1

The Linear Model

m1 <- lm(runs ~ at_bats, data = mlb11)
summary(m1)
## 
## Call:
## lm(formula = runs ~ at_bats, data = mlb11)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -125.58  -47.05  -16.59   54.40  176.87 
## 
## Coefficients:
##               Estimate Std. Error t value Pr(>|t|)    
## (Intercept) -2789.2429   853.6957  -3.267 0.002871 ** 
## at_bats         0.6305     0.1545   4.080 0.000339 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 66.47 on 28 degrees of freedom
## Multiple R-squared:  0.3729, Adjusted R-squared:  0.3505 
## F-statistic: 16.65 on 1 and 28 DF,  p-value: 0.0003388

Exercise 4: Fit a new model that uses home runs to predict runs. Using the estimates from the R output, write the equation of the regression line. What does the slope tell us in the context of the relationship between success of a team and its home runs?

m2 <- lm(runs ~ homeruns, data = mlb11)
summary(m2)
## 
## Call:
## lm(formula = runs ~ homeruns, data = mlb11)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -91.615 -33.410   3.231  24.292 104.631 
## 
## Coefficients:
##             Estimate Std. Error t value Pr(>|t|)    
## (Intercept) 415.2389    41.6779   9.963 1.04e-10 ***
## homeruns      1.8345     0.2677   6.854 1.90e-07 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 51.29 on 28 degrees of freedom
## Multiple R-squared:  0.6266, Adjusted R-squared:  0.6132 
## F-statistic: 46.98 on 1 and 28 DF,  p-value: 1.9e-07

y= 415.2389 +0.631∗at bats. Generally speaking, more at bats= more home runs

Prediction and Prediction Errors

plot(mlb11$runs ~ mlb11$at_bats)
abline(m1)

Exercise 5: If a team manager saw the least squares regression line and not the actual data, how many runs would he or she predict for a team with 5,578 at-bats? Is this an overestimate or an underestimate, and by how much? In other words, what is the residual for this prediction?

They would potentially predict just over 700 runs. This is an overestimation- the actual amount of runs is closer to 670, and the difference is 30-50 runs.

Model Diagnostics

plot(m1$residuals ~ mlb11$at_bats)
abline(h = 0, lty = 3)  

# adds a horizontal dashed line at y = 0

Exercise 6: Is there any apparent pattern in the residuals plot? What does this indicate about the linearity of the relationship between runs and at-bats?

There is no real pattern in the residuals plot. This indicates there is no real linearity between runs and at-bats. They are somewhat evenly spread out on the plot, but aside from that no pattern is evident.

hist(m1$residuals)

qqnorm(m1$residuals)
qqline(m1$residuals) 

Exercise 7: Based on the histogram and the normal probability plot, does the nearly normal residuals condition appear to be met?

Yes, the nearly normal residuals condition does appear to be met, based both on the histogram and the probability plot.

Exercise 8: Based on the plot in (1), does the constant variability condition appear to be met?

Based on the plot in Exercise 1, I would say that the constant variability condition has been met. The residuals stay largely constant in their distance away from the regression line.