ECON 4810 Problem Set 6

7.5.1 Municipal expenditure

Download the Municipal Expenditure Dataset, which can be found here (link to csv), and documentation for it can be found here.


1. Estimate a linear regression that explains expenditure using revenues from taxes and fees. Interpret the slope coefficient on this regression (i.e. what does it tell you?)

1) Run a linear regression.

reg1 <- d |>
  lm(formula = expend~revenue)

summary(reg1)
## 
## Call:
## lm(formula = expend ~ revenue, data = d)
## 
## Residuals:
##        Min         1Q     Median         3Q        Max 
## -0.0062887 -0.0008892 -0.0002154  0.0005642  0.0097005 
## 
## Coefficients:
##              Estimate Std. Error t value Pr(>|t|)    
## (Intercept) 0.0060594  0.0001438   42.14   <2e-16 ***
## revenue     0.9252422  0.0104545   88.50   <2e-16 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 0.001533 on 2383 degrees of freedom
## Multiple R-squared:  0.7667, Adjusted R-squared:  0.7666 
## F-statistic:  7833 on 1 and 2383 DF,  p-value: < 2.2e-16

2) Interpret the slope coefficient on this regression.

How can I predict expenditure using revenue?

According to linear regression, the intercept is \(\beta_0 = 0.0060594\) and the slope is \(\beta_1 = 0.9252422\). The formula of linear regression line is: \[Expenditure=\beta_0+\beta_1Revenue+\epsilon_i\]

=> For every 1 increase in revenue, expenditure will increase with 0.9252422.

When revenue is 0, the expenditure will be 0.0060594.

The following is the scatter plot between two variables:

(
  ggplot(d,aes(x=revenue,y=expend))
  +geom_point()
  +geom_abline(slope=0.9252422,intercept=0.0060594)
)


2. Estimate a linear regression that explains expenditure using grants. Interpret the slope coefficient on this regression (i.e. what does it tell you?)

1) Run a linear regression.

reg2<- d |>
  lm(formula = expend~grants)
summary(reg2)
## 
## Call:
## lm(formula = expend ~ grants, data = d)
## 
## Residuals:
##        Min         1Q     Median         3Q        Max 
## -0.0059084 -0.0020772 -0.0004488  0.0014176  0.0160638 
## 
## Coefficients:
##              Estimate Std. Error t value Pr(>|t|)    
## (Intercept) 0.0138850  0.0002603   53.34   <2e-16 ***
## grants      0.8772810  0.0483363   18.15   <2e-16 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 0.002976 on 2383 degrees of freedom
## Multiple R-squared:  0.1214, Adjusted R-squared:  0.1211 
## F-statistic: 329.4 on 1 and 2383 DF,  p-value: < 2.2e-16

2) Interpret the slope coefficient on this regression.

How can I predict expenditure using grants?

According to linear regression, the intercept is \(\beta_0 = 0.0138850\) and the slope is \(\beta_1 = 0.8772810\). The formula of linear regression line is: \[Expenditure=\beta_0+\beta_1Grants+\epsilon_i\]

=> For every 1 increase in grants, expenditure will increase with 0.8772810.

When revenue is 0, the expenditure will be 0.0138850.

The following is the scatter plot between two variables:

(
  ggplot(d,aes(x=grants,y=expend))
  +geom_point()
  +geom_abline(slope=0.8772810,intercept=0.0138850)
)


3. Estimate a linear regression that explains expenditure using both grants and tax/fee revenue. Interpret the slope coefficients on this regression (i.e. what do they tell you?)

1) Run a linear regression.

reg3 <- d |>
  lm(formula = expend~revenue+grants)

summary(reg3)
## 
## Call:
## lm(formula = expend ~ revenue + grants, data = d)
## 
## Residuals:
##        Min         1Q     Median         3Q        Max 
## -0.0055368 -0.0004556 -0.0000129  0.0004618  0.0056042 
## 
## Coefficients:
##              Estimate Std. Error t value Pr(>|t|)    
## (Intercept) 0.0005195  0.0001139   4.561 5.35e-06 ***
## revenue     0.9479915  0.0059783 158.571  < 2e-16 ***
## grants      0.9997218  0.0142428  70.191  < 2e-16 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 0.0008756 on 2382 degrees of freedom
## Multiple R-squared:  0.924,  Adjusted R-squared:  0.9239 
## F-statistic: 1.447e+04 on 2 and 2382 DF,  p-value: < 2.2e-16

2) Interpret the slope coefficient on this regression.

How can I predict expenditure using grants?

According to linear regression, the intercept is \(\beta_0 = 0.0005195\), the slope of grants is \(\beta_1 = 0.9997218\), and the slope of revenue is \(\beta_2 = 0.9479915\). The formula of linear regression line will be slightly different like this: \[Expenditure=\beta_0+\beta_1Grants+\beta_2Revenue+\epsilon_i\]

=> When revenue is fixed, for every 1 increase in grants, expenditure will increase with 0.9997218. When grants is fixed, for every 1 increase in revenue, expenditure will increase with 0.9479915.

When both revenue and grants are 0, the expenditure will be 0.0005195.

The following is the scatter plot between expend and the two variables:

(
  ggplot(d,aes(x=grants+revenue,y=expend))
  +geom_point()
  +geom_smooth(formula="y~x",method="lm")
)


4. If local governments treated revenue from grants the same as revenue from taxes and fees, what would you expect to see in the coefficients you estimated in part (3)? The coefficients would be expected to be identical with each other.

d2 <- d |>
  mutate(new_rev=revenue+grants)

reg4 <- d2 |>
  lm(formula = expend~new_rev)

summary(reg4)
## 
## Call:
## lm(formula = expend ~ new_rev, data = d2)
## 
## Residuals:
##        Min         1Q     Median         3Q        Max 
## -0.0055887 -0.0004596 -0.0000088  0.0004598  0.0056147 
## 
## Coefficients:
##              Estimate Std. Error t value Pr(>|t|)    
## (Intercept) 0.0006594  0.0001065   6.191 7.04e-10 ***
## new_rev     0.9550111  0.0056265 169.733  < 2e-16 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 0.0008776 on 2383 degrees of freedom
## Multiple R-squared:  0.9236, Adjusted R-squared:  0.9236 
## F-statistic: 2.881e+04 on 1 and 2383 DF,  p-value: < 2.2e-16
(
  ggplot(d2,aes(x=new_rev,y=expend))
  +geom_point()
  +geom_smooth(formula="y~x",method="lm")
)

5. Discuss a variable that does not appear in the dataset that, if it were included, would help you to better identify the causal effect of revenue on expenditure.

party, policy, population size Especially, Party variable would help to analyze the potential differences in spending priorities and fiscal policies based on the governing party’s ideology.


6. Plot the relationship between revenue and grants. Do you see anything in this plot that means you should worry about your results above?

(
  ggplot(d,aes(x=revenue,y=grants))
  +geom_point()
  +geom_smooth(formula="y~x",method="lm")
)

cov(d$expend, d$grants)
## [1] 1.394924e-06

The relationship between grants and revenue is not linear. If they are linearly related, the significant error will be higher.

————————————————————————

stargazer(reg1,reg2,reg3,reg4,type = 'text')
## 
## ===================================================================================================================================
##                                                                   Dependent variable:                                              
##                     ---------------------------------------------------------------------------------------------------------------
##                                                                         expend                                                     
##                                 (1)                        (2)                        (3)                          (4)             
## -----------------------------------------------------------------------------------------------------------------------------------
## revenue                      0.925***                                               0.948***                                       
##                               (0.010)                                               (0.006)                                        
##                                                                                                                                    
## grants                                                  0.877***                    1.000***                                       
##                                                          (0.048)                    (0.014)                                        
##                                                                                                                                    
## new_rev                                                                                                          0.955***          
##                                                                                                                  (0.006)           
##                                                                                                                                    
## Constant                     0.006***                   0.014***                    0.001***                     0.001***          
##                              (0.0001)                   (0.0003)                    (0.0001)                     (0.0001)          
##                                                                                                                                    
## -----------------------------------------------------------------------------------------------------------------------------------
## Observations                   2,385                      2,385                      2,385                        2,385            
## R2                             0.767                      0.121                      0.924                        0.924            
## Adjusted R2                    0.767                      0.121                      0.924                        0.924            
## Residual Std. Error      0.002 (df = 2383)          0.003 (df = 2383)          0.001 (df = 2382)            0.001 (df = 2383)      
## F Statistic         7,832.627*** (df = 1; 2383) 329.405*** (df = 1; 2383) 14,474.980*** (df = 2; 2382) 28,809.320*** (df = 1; 2383)
## ===================================================================================================================================
## Note:                                                                                                   *p<0.1; **p<0.05; ***p<0.01