US Macroeconomic Data (1950–2000, Greene)
USMacroG.RdTime series data on 12 US macroeconomic variables for 1950–2000.
Usage
data("USMacroG")Format
A quarterly multiple time series from 1950(1) to 2000(4) with 12 variables.
- gdp
Real gross domestic product (in billion USD),
- consumption
Real consumption expenditures,
- invest
Real investment by private sector,
- government
Real government expenditures,
- dpi
Real disposable personal income,
- cpi
Consumer price index,
- m1
Nominal money stock,
- tbill
Quarterly average of month end 90 day treasury bill rate,
- unemp
Unemployment rate,
- population
Population (in million), interpolation of year end figures using constant growth rate per quarter,
- inflation
Inflation rate,
- interest
Ex post real interest rate (essentially,
tbill - inflation).
Source
Online complements to Greene (2003). Table F5.1.
https://pages.stern.nyu.edu/~wgreene/Text/tables/tablelist5.htm
References
Greene, W.H. (2003). Econometric Analysis, 5th edition. Upper Saddle River, NJ: Prentice Hall.
Examples
## data and trend as used by Greene (2003)
data("USMacroG")
ltrend <- 1:nrow(USMacroG) - 1
## Example 6.1
## Table 6.1
library("dynlm")
fm6.1 <- dynlm(log(invest) ~ tbill + inflation + log(gdp) + ltrend, data = USMacroG)
fm6.3 <- dynlm(log(invest) ~ I(tbill - inflation) + log(gdp) + ltrend, data = USMacroG)
summary(fm6.1)
#>
#> Time series regression with "ts" data:
#> Start = 1950(2), End = 2000(4)
#>
#> Call:
#> dynlm(formula = log(invest) ~ tbill + inflation + log(gdp) +
#> ltrend, data = USMacroG)
#>
#> Residuals:
#> Min 1Q Median 3Q Max
#> -0.22313 -0.05540 -0.00312 0.04246 0.31989
#>
#> Coefficients:
#> Estimate Std. Error t value Pr(>|t|)
#> (Intercept) -9.134091 1.366459 -6.684 2.3e-10 ***
#> tbill -0.008598 0.003195 -2.691 0.00774 **
#> inflation 0.003306 0.002337 1.415 0.15872
#> log(gdp) 1.930156 0.183272 10.532 < 2e-16 ***
#> ltrend -0.005659 0.001488 -3.803 0.00019 ***
#> ---
#> Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
#>
#> Residual standard error: 0.08618 on 198 degrees of freedom
#> (1 observation deleted due to missingness)
#> Multiple R-squared: 0.9798, Adjusted R-squared: 0.9793
#> F-statistic: 2395 on 4 and 198 DF, p-value: < 2.2e-16
#>
summary(fm6.3)
#>
#> Time series regression with "ts" data:
#> Start = 1950(2), End = 2000(4)
#>
#> Call:
#> dynlm(formula = log(invest) ~ I(tbill - inflation) + log(gdp) +
#> ltrend, data = USMacroG)
#>
#> Residuals:
#> Min 1Q Median 3Q Max
#> -0.227897 -0.054542 -0.002435 0.039993 0.313928
#>
#> Coefficients:
#> Estimate Std. Error t value Pr(>|t|)
#> (Intercept) -7.907158 1.200631 -6.586 3.94e-10 ***
#> I(tbill - inflation) -0.004427 0.002270 -1.950 0.05260 .
#> log(gdp) 1.764062 0.160561 10.987 < 2e-16 ***
#> ltrend -0.004403 0.001331 -3.308 0.00111 **
#> ---
#> Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
#>
#> Residual standard error: 0.0867 on 199 degrees of freedom
#> (1 observation deleted due to missingness)
#> Multiple R-squared: 0.9794, Adjusted R-squared: 0.9791
#> F-statistic: 3154 on 3 and 199 DF, p-value: < 2.2e-16
#>
deviance(fm6.1)
#> [1] 1.470565
deviance(fm6.3)
#> [1] 1.495811
vcov(fm6.1)[2,3]
#> [1] -3.717454e-06
## F test
linearHypothesis(fm6.1, "tbill + inflation = 0")
#>
#> Linear hypothesis test:
#> tbill + inflation = 0
#>
#> Model 1: restricted model
#> Model 2: log(invest) ~ tbill + inflation + log(gdp) + ltrend
#>
#> Res.Df RSS Df Sum of Sq F Pr(>F)
#> 1 199 1.4958
#> 2 198 1.4706 1 0.025246 3.3991 0.06673 .
#> ---
#> Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
## alternatively
anova(fm6.1, fm6.3)
#> Analysis of Variance Table
#>
#> Model 1: log(invest) ~ tbill + inflation + log(gdp) + ltrend
#> Model 2: log(invest) ~ I(tbill - inflation) + log(gdp) + ltrend
#> Res.Df RSS Df Sum of Sq F Pr(>F)
#> 1 198 1.4706
#> 2 199 1.4958 -1 -0.025246 3.3991 0.06673 .
#> ---
#> Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
## t statistic
sqrt(anova(fm6.1, fm6.3)[2,5])
#> [1] 1.843672
## Example 8.2
## Ct = b0 + b1*Yt + b2*Y(t-1) + v
fm1 <- dynlm(consumption ~ dpi + L(dpi), data = USMacroG)
## Ct = a0 + a1*Yt + a2*C(t-1) + u
fm2 <- dynlm(consumption ~ dpi + L(consumption), data = USMacroG)
## Cox test in both directions:
coxtest(fm1, fm2)
#> Cox test
#>
#> Model 1: consumption ~ dpi + L(dpi)
#> Model 2: consumption ~ dpi + L(consumption)
#> Estimate Std. Error z value Pr(>|z|)
#> fitted(M1) ~ M2 -284.908 0.01862 -15304.2817 < 2.2e-16 ***
#> fitted(M2) ~ M1 1.491 0.42735 3.4894 0.0004842 ***
#> ---
#> Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
## ...and do the same for jtest() and encomptest().
## Notice that in this particular case two of them are coincident.
jtest(fm1, fm2)
#> J test
#>
#> Model 1: consumption ~ dpi + L(dpi)
#> Model 2: consumption ~ dpi + L(consumption)
#> Estimate Std. Error t value Pr(>|t|)
#> M1 + fitted(M2) 1.0145 0.01614 62.8605 < 2.2e-16 ***
#> M2 + fitted(M1) -10.6766 1.48542 -7.1876 1.299e-11 ***
#> ---
#> Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
encomptest(fm1, fm2)
#> Encompassing test
#>
#> Model 1: consumption ~ dpi + L(dpi)
#> Model 2: consumption ~ dpi + L(consumption)
#> Model E: consumption ~ dpi + L(dpi) + L(consumption)
#> Res.Df Df F Pr(>F)
#> M1 vs. ME 199 -1 3951.448 < 2.2e-16 ***
#> M2 vs. ME 199 -1 51.661 1.299e-11 ***
#> ---
#> Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
## encomptest could also be performed `by hand' via
fmE <- dynlm(consumption ~ dpi + L(dpi) + L(consumption), data = USMacroG)
waldtest(fm1, fmE, fm2)
#> Wald test
#>
#> Model 1: consumption ~ dpi + L(dpi)
#> Model 2: consumption ~ dpi + L(dpi) + L(consumption)
#> Model 3: consumption ~ dpi + L(consumption)
#> Res.Df Df F Pr(>F)
#> 1 200
#> 2 199 1 3951.448 < 2.2e-16 ***
#> 3 200 -1 51.661 1.299e-11 ***
#> ---
#> Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
## More examples can be found in:
## help("Greene2003")