Skip to contents

Time 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")