Homework 3 Solutions

Ch. 9, Coding Question 1

# load data
library(Ecdat)
data("Airq", package = "Ecdat")

# a) estimate mean rainfall
ybar <- mean(Airq$rain)
ybar
[1] 36.078
# b) standard error
V <- var(Airq$rain)
n <- nrow(Airq)
se <- sqrt(V) / sqrt(n)
se
[1] 2.462628
# c) t-statistic
h0 <- 25
t <- (ybar - h0) / se
t
[1] 4.498446

Since \(|t| > 1.96\), we would reject \(H_0\) at the 5% significance level.

# d) p-value
pval <- 2 * pnorm(-abs(t))
pval
[1] 6.845183e-06

There is virtually a 0 percent chance of getting a t-statistic this large in absolute value if the null hypotheses were true.

# e) confidence interval
ciL <- ybar - 1.96 * se
ciU <- ybar + 1.96 * se
paste0("[", round(ciL, 3), ", ", round(ciU, 3), "]")
[1] "[31.251, 40.905]"
# f) summary statistics
library(modelsummary)
datasummary_balance(~coas, Airq)
no (N=9) yes (N=21)
Mean Std. Dev. Mean Std. Dev. Diff. in Means Std. Error
airq 125.3 10.5 95.9 28.7 -29.5 7.2
vala 4118.2 5909.8 4218.6 4136.7 100.4 2166.9
rain 32.3 7.6 37.7 15.2 5.4 4.2
dens 1706.4 3014.6 1738.1 2821.2 31.7 1178.5
medi 6290.3 10065.4 10842.2 13396.8 4551.9 4450.1

Ch. 9, Extra Question 4

  1. Since \(n\) grows slower than \(\sqrt{n}\), \(n \left(\frac{1}{n}\sum_{i=1}^n (Y_i - \mathbb{E}[Y])\right)\) diverges as \(n \rightarrow \infty\).

    To see this, recall that \(\displaystyle \sqrt{n}\left(\frac{1}{n} \sum_{i=1}^n (Y_i - \mathbb{E}[Y])\right) \rightarrow \mathcal{N}\big(0,\mathrm{var}(Y)\big)\), and we have that \[\begin{align*} n \left(\frac{1}{n}\sum_{i=1}^n (Y_i - \mathbb{E}[Y])\right) &= \sqrt{n}\underbrace{\left[\sqrt{n}\left(\frac{1}{n} \sum_{i=1}^n (Y_i - \mathbb{E}[Y])\right)\right]}_{\rightarrow \mathcal{N}\big(0,\mathrm{var}(Y)\big)} \end{align*}\] Thus, \(n \left(\displaystyle \frac{1}{n}\sum_{i=1}^n (Y_i - \mathbb{E}[Y])\right)\) is equal to \(\sqrt{n}\) (which goes to \(\infty\) as \(n \rightarrow \infty\)) times a term that behaves like a draw from a normal distribution. Therefore, it diverges (i.e., the absolute value goes to infinity as \(n \rightarrow \infty\)) as \(n \rightarrow \infty\).

  2. Since \(n^{1/3}\) grows slower than \(\sqrt{n}\), \(n^{1/3} \left(\displaystyle \frac{1}{n}\sum_{i=1}^n (Y_i - \mathbb{E}[Y])\right)\) converges to 0 as \(n \rightarrow \infty\)

    You can see this using a similar argument as in part (a). Notice that \[\begin{align*} n^{1/3} \left(\frac{1}{n}\sum_{i=1}^n (Y_i - \mathbb{E}[Y])\right) &= \frac{1}{n^{1/6}} \underbrace{\left[\sqrt{n}\left(\frac{1}{n} \sum_{i=1}^n (Y_i - \mathbb{E}[Y])\right)\right]}_{\rightarrow \mathcal{N}\big(0,\mathrm{var}(Y)\big)} \end{align*}\] Thus, \(n^{1/3} \left(\displaystyle \frac{1}{n}\sum_{i=1}^n (Y_i - \mathbb{E}[Y])\right)\) is the the product of \(\dfrac{1}{n^{1/6}} \rightarrow 0\) as \(n \rightarrow \infty\) and a term that behaves like a draw from a normal distribution. It converges to 0 because of the \(\dfrac{1}{n^{1/6}}\) term.

Ch. 12, Coding Question 1

# a)
data(Caschool, package = "Ecdat")
reg <- lm(testscr ~ str + avginc + elpct, data = Caschool)
summary(reg)

Call:
lm(formula = testscr ~ str + avginc + elpct, data = Caschool)

Residuals:
    Min      1Q  Median      3Q     Max 
-42.800  -6.862   0.275   6.586  31.199 

Coefficients:
             Estimate Std. Error t value Pr(>|t|)    
(Intercept) 640.31550    5.77489 110.879   <2e-16 ***
str          -0.06878    0.27691  -0.248    0.804    
avginc        1.49452    0.07483  19.971   <2e-16 ***
elpct        -0.48827    0.02928 -16.674   <2e-16 ***
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Residual standard error: 10.35 on 416 degrees of freedom
Multiple R-squared:  0.7072,    Adjusted R-squared:  0.7051 
F-statistic: 334.9 on 3 and 416 DF,  p-value: < 2.2e-16

avginc and elpct are statistically different from 0 while str is not statistically different 0. We can tell by comparing (the absolute value of) the t-statistics in the column labeled “t value” to to 1.96. The ones that are larger in magnitude are statistically different from 0.

# b)
mean(Caschool$testscr)
[1] 654.1565

The average test score in the data is a little over 654.

# c)
predict(reg, newdata = data.frame(str = 20, avginc = 30, elpct = 10))
       1 
678.8928 

The predicted value here is somewhat higher than the overall sample average from part (b).

# d)
predict(reg, newdata = data.frame(str = 15, avginc = 30, elpct = 10))
       1 
679.2367 

The predicted value here is almost the same (slightly bigger) than in part (c). The reason for this is that the estimated coefficient on str from the original regression is very small — this means that changing the student teacher ratio by 5 does not change the predicted value very much.

Ch. 12, Extra Question 1

On average, people with one more year of education earn \(\beta_1\) more.

Ch. 12, Extra Question 2

On average people with one more year of education earn \(\beta_1\) more, holding experience and sex constant.