Introdução

É uma investigação sobre os efeitos de processos anti-dumping sobre importações americanas de bário da China (ver enunciado em Wooldridge (2006, p.325)). A presença de sazonalidade pode estar desestabilizando as séries e induzindo a regressão espúria devido à não-estacionariedade causada pelas sazonalidades

script MOHR

# Ver também HEISS (p.177), e 
# MOHR (https://www.r-econometrics.com/reproduction/wooldridge/wooldridge10/)


# https://www.r-econometrics.com/reproduction/wooldridge/wooldridge10/
library(wooldridge)
data("barium")
#esquisse::esquisser()

# Plot de lchnimp
library(ggplot2)

ggplot(barium) +
 aes(x = t, y = lchnimp) +
 geom_line(size = 1L, colour = "#0c4c8a") +
 theme_minimal()

# regressão com dummies sazonais
lm.10.11 <- lm(lchnimp ~ lchempi + lgas + lrtwex + befile6 + affile6 + afdec6 +
                 feb + mar + apr + may + jun + jul + aug + sep + oct + nov + dec, 
               data = barium)
# regressão sem dummies sazonais
lm.10.11res <- lm(lchnimp ~ lchempi + lgas + lrtwex + befile6 + affile6 + afdec6, 
                  data = barium)

anova(lm.10.11, lm.10.11res)
## Analysis of Variance Table
## 
## Model 1: lchnimp ~ lchempi + lgas + lrtwex + befile6 + affile6 + afdec6 + 
##     feb + mar + apr + may + jun + jul + aug + sep + oct + nov + 
##     dec
## Model 2: lchnimp ~ lchempi + lgas + lrtwex + befile6 + affile6 + afdec6
##   Res.Df    RSS  Df Sum of Sq      F Pr(>F)
## 1    113 40.844                            
## 2    124 44.247 -11   -3.4032 0.8559 0.5852

Nesse caso, Mohr fez um teste conjunto dos dois modelos, um restrito (lm.10.11res) e outro irrestrito. A Pr(>F)=0.5852 indicou que as dummies sazonais são não significativas.

script HEISS

# http://www.urfie.net/downloads10.html
#

data(barium, package='wooldridge')

# Imports from China: Variable "chnimp" from data frame "data"
# Monthly time series starting Feb. 1978
impts <- ts(barium$chnimp, start=c(1978,2), frequency=12)

# plot time series
plot(impts)

Example-10-11.R

library(dynlm);library(lmtest);library(car);library(foreign)
data(barium, package='wooldridge')

# Define monthly time series beginning in Feb. 1978
tsdata <- ts(barium, start=c(1978,2), frequency=12)

res <- dynlm(log(chnimp) ~ log(chempi)+log(gas)+log(rtwex)+befile6+
               affile6+afdec6+ season(tsdata) , data=tsdata )
coeftest(res)
## 
## t test of coefficients:
## 
##                     Estimate Std. Error t value  Pr(>|t|)    
## (Intercept)       16.7792155 32.4286452  0.5174   0.60587    
## log(chempi)        3.2650621  0.4929302  6.6238 1.236e-09 ***
## log(gas)          -1.2781403  1.3890083 -0.9202   0.35944    
## log(rtwex)         0.6630453  0.4713037  1.4068   0.16222    
## befile6            0.1397028  0.2668075  0.5236   0.60158    
## affile6            0.0126324  0.2786866  0.0453   0.96393    
## afdec6            -0.5213004  0.3019499 -1.7264   0.08700 .  
## season(tsdata)Feb -0.4177110  0.3044444 -1.3720   0.17277    
## season(tsdata)Mar  0.0590520  0.2647307  0.2231   0.82389    
## season(tsdata)Apr -0.4514830  0.2683864 -1.6822   0.09529 .  
## season(tsdata)May  0.0333090  0.2692425  0.1237   0.90176    
## season(tsdata)Jun -0.2063315  0.2692515 -0.7663   0.44509    
## season(tsdata)Jul  0.0038366  0.2787666  0.0138   0.98904    
## season(tsdata)Aug -0.1570645  0.2779927 -0.5650   0.57320    
## season(tsdata)Sep -0.1341605  0.2676556 -0.5012   0.61718    
## season(tsdata)Oct  0.0516925  0.2668512  0.1937   0.84675    
## season(tsdata)Nov -0.2462599  0.2628271 -0.9370   0.35077    
## season(tsdata)Dec  0.1328376  0.2714234  0.4894   0.62550    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
# teste de restrição
linearHypothesis(res, c("season(tsdata)Feb","season(tsdata)Mar",
                        "season(tsdata)Apr","season(tsdata)May",
                        "season(tsdata)Jun","season(tsdata)Jul",
                        "season(tsdata)Aug","season(tsdata)Sep",
                        "season(tsdata)Oct","season(tsdata)Nov",
                        "season(tsdata)Dec"), 
                 c(0,0,0,0,0,0,0,0,0,0,0))
## Linear hypothesis test
## 
## Hypothesis:
## season(tsdata)Feb = 0
## season(tsdata)Mar = 0
## season(tsdata)Apr = 0
## season(tsdata)May = 0
## season(tsdata)Jun = 0
## season(tsdata)Jul = 0
## season(tsdata)Aug = 0
## season(tsdata)Sep = 0
## season(tsdata)Oct = 0
## season(tsdata)Nov = 0
## season(tsdata)Dec = 0
## 
## Model 1: restricted model
## Model 2: log(chnimp) ~ log(chempi) + log(gas) + log(rtwex) + befile6 + 
##     affile6 + afdec6 + season(tsdata)
## 
##   Res.Df    RSS Df Sum of Sq      F Pr(>F)
## 1    124 44.247                           
## 2    113 40.844 11    3.4032 0.8559 0.5852
car::linearHypothesis(res,c("season(tsdata)Feb"),c(0))
## Linear hypothesis test
## 
## Hypothesis:
## season(tsdata)Feb = 0
## 
## Model 1: restricted model
## Model 2: log(chnimp) ~ log(chempi) + log(gas) + log(rtwex) + befile6 + 
##     affile6 + afdec6 + season(tsdata)
## 
##   Res.Df    RSS Df Sum of Sq      F Pr(>F)
## 1    114 41.524                           
## 2    113 40.844  1   0.68043 1.8825 0.1728