Aula 1 - Introdução à Econometria

Autor

João Ricardo F. de Lima

Data de Publicação

4 de agosto de 2025


Econometria

Econometria é baseada no desenvolvimento de métodos estatísticos para estimar relações econômicas, testar teorias, avaliar e implementar políticas de governo e de negócios

O campo mais comum de uso da Econometria é a previsão de importantes variáveis macroeconômicas, como juros, inflação, PIB, etc.

Contudo, a Econometria pode ser utilizada em diversas outras áreas que não tem relação com previsão de variáveis macro. Um exemplo seria estimar os efeitos de gastos com educação sobre os índices de criminalidade em municípios de um estado.


Passos na análise econômica empírica

Análise empírica é aquela que usa dados para testar uma teoria ou estimar uma relação. Para realizar esta análise é preciso seguir alguns passos:

  • Afirmação da teoria ou hipótese econômica
  • Especificação do modelo matemático (equação)
  • Especificação do modelo econométrico
  • Obtenção dos dados
  • Estimação dos parâmetros do modelo econométrico
  • Teste de hipóteses
  • Previsão
  • Uso do Modelo para elaboração de Políticas públicas ou Empresas


As Estruturas de Dados

  1. Corte transversal (seção cruzada): amostra de indivíduos, consumidores, empresas, países, etc., tomada em um instante do tempo;

  2. Série Temporal: observações sobre uma variável ou muitas variáveis ao longo do tempo;

  3. Cortes transversais independentes agrupados: tem características tanto de corte transversal quanto de série temporal. Ocorre quando se agrupa cortes transversais coletados em diferentes instantes do tempo;

  4. Dados em Painel (longitudinais): consiste em uma série temporal para cada registro do corte transversal do conjunto de dados. Em outras palavras, modelos de regressão com dados em painel são os que estudam o mesmo grupo de “entidades” ao longo do tempo.


Exemplos no R

Carregamento dos Pacotes

library(wooldridge)
library(dplyr)
library(rstatix)

Exemplo de uma base com Seção Cruzada

data('wage1')
dados1 <- wage1[,c(1:8)]
glimpse(dados1)
Rows: 526
Columns: 8
$ wage     <dbl> 3.10, 3.24, 3.00, 6.00, 5.30, 8.75, 11.25, 5.00, 3.60, 18.18,…
$ educ     <int> 11, 12, 11, 8, 12, 16, 18, 12, 12, 17, 16, 13, 12, 12, 12, 16…
$ exper    <int> 2, 22, 2, 44, 7, 9, 15, 5, 26, 22, 8, 3, 15, 18, 31, 14, 10, …
$ tenure   <int> 0, 2, 0, 28, 2, 8, 7, 3, 4, 21, 2, 0, 0, 3, 15, 0, 0, 10, 0, …
$ nonwhite <int> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0…
$ female   <int> 1, 1, 0, 0, 0, 0, 0, 1, 1, 0, 1, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1…
$ married  <int> 0, 1, 0, 1, 1, 1, 0, 0, 0, 1, 0, 0, 1, 0, 1, 1, 1, 0, 1, 1, 0…
$ numdep   <int> 2, 3, 2, 0, 1, 0, 0, 0, 2, 0, 0, 0, 2, 0, 1, 1, 0, 0, 3, 0, 0…
kable(head(dados1, 10)) %>% 
  kable_styling(full_width=TRUE, position = "center")
wage educ exper tenure nonwhite female married numdep
3.10 11 2 0 0 1 0 2
3.24 12 22 2 0 1 1 3
3.00 11 2 0 0 0 0 2
6.00 8 44 28 0 0 1 0
5.30 12 7 2 0 0 1 1
8.75 16 9 8 0 0 1 0
11.25 18 15 7 0 0 0 0
5.00 12 5 3 0 1 0 0
3.60 12 26 4 0 1 0 2
18.18 17 22 21 0 0 1 0



Esta base de dados possui 526 observações e 8 variáveis no total.

Exemplo de uma base com Série Temporal

data('intdef')
dados2 <- intdef[,c(1:6)]
glimpse(dados2)
Rows: 56
Columns: 6
$ year <int> 1948, 1949, 1950, 1951, 1952, 1953, 1954, 1955, 1956, 1957, 1958,…
$ i3   <dbl> 1.04, 1.10, 1.22, 1.55, 1.77, 1.93, 0.95, 1.75, 2.66, 3.27, 1.84,…
$ inf  <dbl> 8.1, -1.2, 1.3, 7.9, 1.9, 0.8, 0.7, -0.4, 1.5, 3.3, 2.8, 0.7, 1.7…
$ rec  <dbl> 16.2, 14.5, 14.4, 16.1, 19.0, 18.7, 18.5, 16.5, 17.5, 17.7, 17.3,…
$ out  <dbl> 11.6, 14.3, 15.6, 14.2, 19.4, 20.4, 18.8, 17.3, 16.5, 17.0, 17.9,…
$ def  <dbl> -4.6000004, -0.1999998, 1.2000008, -1.9000006, 0.3999996, 1.69999…
kable(head(dados2, 10), align='cccccc', col.names = c("Ano", "Taxa Tesouro 3 meses", "Taxa Inflação", "Receitas %PIB", "Despesas %PIB", "REC-DESP")) %>% 
  kable_styling(full_width=TRUE, position = "center")
Ano Taxa Tesouro 3 meses Taxa Inflação Receitas %PIB Despesas %PIB REC-DESP
1948 1.04 8.1 16.2 11.6 -4.6000004
1949 1.10 -1.2 14.5 14.3 -0.1999998
1950 1.22 1.3 14.4 15.6 1.2000008
1951 1.55 7.9 16.1 14.2 -1.9000006
1952 1.77 1.9 19.0 19.4 0.3999996
1953 1.93 0.8 18.7 20.4 1.6999989
1954 0.95 0.7 18.5 18.8 0.2999992
1955 1.75 -0.4 16.5 17.3 0.7999992
1956 2.66 1.5 17.5 16.5 -1.0000000
1957 3.27 3.3 17.7 17.0 -0.7000008

Análise dos Dados

Estatística Descritiva

Variáveis Amostra Média Desvio Padrão
i3 56 4.908 2.868
inf 56 3.884 3.040
rec 56 17.923 1.203
out 56 19.525 2.308
def 56 1.602 2.109

Gráfico

dados2<-ts(dados2, start = 1948)
plot(dados2[,3], xlab='anos', ylab='Percentual', main='Evolução da Taxa de Inflação - EUA')

Exemplo de uma base com Corte Transversal Agrupado

data('hprice3')
dados3 <- hprice3[,c(1:8)]
glimpse(dados3)
Rows: 321
Columns: 8
$ year  <int> 1978, 1978, 1978, 1978, 1978, 1978, 1978, 1978, 1978, 1978, 1978…
$ age   <int> 48, 83, 58, 11, 48, 78, 22, 78, 42, 41, 78, 38, 18, 32, 18, 58, …
$ agesq <dbl> 2304, 6889, 3364, 121, 2304, 6084, 484, 6084, 1764, 1681, 6084, …
$ nbh   <int> 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 0, 0, 0, 0, 4, 4, 4, 4, 4, 4, 4…
$ cbd   <dbl> 3000, 4000, 4000, 4000, 4000, 3000, 4000, 3000, 3000, 3000, 1000…
$ inst  <dbl> 1000, 1000, 1000, 1000, 2000, 2000, 2000, 2000, 2000, 2000, 4000…
$ linst <dbl> 6.9078, 6.9078, 6.9078, 6.9078, 7.6009, 7.6009, 7.6009, 7.6009, …
$ price <dbl> 60000, 40000, 34000, 63900, 44000, 46000, 56000, 38500, 60500, 5…
kable(dados3[c(175:185),]) %>% 
  kable_styling(full_width=TRUE, position = "center")
year age agesq nbh cbd inst linst price
175 1978 0 0 0 14000 14000 9.5468 121000
176 1978 0 0 0 14000 13000 9.4727 107000
177 1978 0 0 0 14000 13000 9.4727 119900
178 1978 0 0 0 14000 13000 9.4727 142500
179 1978 0 0 0 14000 13000 9.4727 84211
180 1981 81 6561 4 4000 1000 6.9078 49000
181 1981 71 5041 4 3000 2000 7.6009 52000
182 1981 31 961 4 3000 2000 7.6009 68000
183 1981 41 1681 4 3000 2000 7.6009 54000
184 1981 31 961 4 4000 2000 7.6009 70000
185 1981 81 6561 4 3000 2000 7.6009 47000

Exemplo de uma base com Dados em Painel

data('crime2')  
dados4 <- crime2[,c(1:9)]  
glimpse(dados4) 
Rows: 92
Columns: 9
$ pop      <dbl> 229528, 246815, 814054, 933177, 374974, 406297, 176496, 20172…
$ crimes   <dbl> 17136, 17306, 75654, 83960, 31352, 31364, 15698, 16953, 31202…
$ unem     <dbl> 8.2, 3.7, 8.1, 5.4, 9.0, 5.9, 12.6, 5.7, 12.6, 7.4, 13.9, 5.7…
$ officers <int> 326, 321, 1621, 1803, 633, 685, 245, 259, 504, 563, 186, 232,…
$ pcinc    <int> 8532, 12155, 7551, 11363, 8343, 11729, 7592, 10802, 7558, 106…
$ west     <int> 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1…
$ nrtheast <int> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0…
$ south    <int> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0…
$ year     <int> 82, 87, 82, 87, 82, 87, 82, 87, 82, 87, 82, 87, 82, 87, 82, 8…
kable(head(dados4, 10))  %>% 
  kable_styling(full_width=TRUE, position = "center")
pop crimes unem officers pcinc west nrtheast south year
229528 17136 8.2 326 8532 1 0 0 82
246815 17306 3.7 321 12155 1 0 0 87
814054 75654 8.1 1621 7551 1 0 0 82
933177 83960 5.4 1803 11363 1 0 0 87
374974 31352 9.0 633 8343 1 0 0 82
406297 31364 5.9 685 11729 1 0 0 87
176496 15698 12.6 245 7592 1 0 0 82
201723 16953 5.7 259 10802 1 0 0 87
288446 31202 12.6 504 7558 1 0 0 82
331728 34355 7.4 563 10627 1 0 0 87


Metodologia da Econometria - Exemplo

  1. Afirmação da teoria ou hipótese econômica:

A quantidade demandada de um bem Y é inversamente relacionada com o seu preço (X);

  1. Especificação do modelo matemático (equação):

\[Y=\beta_0+\beta_1X\] com \(\beta_1<0\)

  1. Especificação do modelo econométrico
    \[Y=\hat{\beta_0}+\hat{\beta_1}X+\hat{u}\] em que Y é a quantidade demandada, X o preço, os \(\beta_i\) são os parâmetros estimados e u é o termo estocástico que diferencia um modelo matemático e o estatístico. Ele representa tudo o que afetar Y e que não está explicitado no modelo.

  2. Os dados podem ser seção cruzada ou um série temporal. Existem também combinações de seção cruzada e série temporal, denominados de dados em Painel.

\[\hat{Y}=10-0.9X\] Se o preço aumentar 10 reais, a demanda reduz 9 unidades;

  1. Testar se a constante -0.9 estimada é estatisticamente igual ou diferente de zero, ou seja, se \(\beta_1=0\).


A natureza da análise da regressão

Regressão Linear é a principal ferramenta da econometria e trata do estudo da dependência de uma variável, regressando (Y), em relação a uma ou mais variáveis explicativas (regressores), com o objetivo de estimar e/ou prever o valor médio de Y dados os valores de X.

Apesar da análise de regressão tratar da dependência de uma variável sobre outras variáveis, isto não necessariamente implica “causa”. Uma relação estatística em si não pode logicamente implicar em causa. Para atribuir causalidade deve-se considerar a teoria econômica ou mesmo o senso comum.


Regressão versus Correlação

Relacionado mas conceitualmente muito diferente é a análise da regressão e de correlação. Na regressão é estimar ou prever o valor médio do regressando (Y) com base nos valores fixos dos regressores (X). Na correlação o objetivo é mensurar o grau de associação linear entre duas variáveis.

As estimativas de correlação podem ser positivas ou negativas. O primeiro caso é quando uma variável cresce, a outra aumenta também. O segundo caso é o inverso.

O coeficiente de correlação de Pearson (\(r\)) pode ser encontrado pela fórmula:

\[r=\frac{\sum X_iY_i-\frac{\sum X_i-\sum Y_i}{n}}{\Bigg[\sum X_i^2-\frac{(\sum X_i)^2}{n}\Bigg]\Bigg[\sum Y_i^2-\frac{(\sum Y_i)^2}{n}\Bigg]}\] A ocorrência de um valor de r=0 ou próximo de zero indica que não há correlação linear entre as variáveis, mas pode ocorrer não linear.


As principais características do coeficiente de correlação de Pearson são:

  1. Seus valores estão compreendidos entre -1 e 1;

  2. Se o coeficiente for positivo, as duas características estudadas tendem a variar no mesmo sentido;

  3. Se o sinal for negativo, as duas características estudadas tendem a variar no sentido contrário;

  4. A relação entre duas variáveis é tanto mais estreita quanto mais o coeficiente se aproxima de 1 ou de -1;

  5. o valor de r é uma estimativa do parâmetro \(\rho\) (rho) da mesma forma que a média (\(\bar{x}\)) é uma estimativa de \(\mu\);


library(MASS)

# configurar uma semente 
set.seed(1)

# correlação positiva (0.81)
exemplo1 <- mvrnorm(100,
                    mu = c(0, 0), 
                    Sigma = matrix(c(2, 2, 2, 3), ncol = 2),
                    empirical = TRUE)

cor(exemplo1)
          [,1]      [,2]
[1,] 1.0000000 0.8164966
[2,] 0.8164966 1.0000000
# correlaçao negativa (-0.81)
exemplo2 <- mvrnorm(100,
                    mu = c(0, 0), 
                    Sigma = matrix(c(2, -2, -2, 3), ncol = 2),
                    empirical = TRUE)

cor(exemplo2)
           [,1]       [,2]
[1,]  1.0000000 -0.8164966
[2,] -0.8164966  1.0000000
# sem correlação 
exemplo3 <- mvrnorm(100,
                    mu = c(0, 0), 
                    Sigma = matrix(c(1, 0, 0, 1), ncol = 2),
                    empirical = TRUE)

cor(exemplo3)
              [,1]          [,2]
[1,]  1.000000e+00 -8.436133e-17
[2,] -8.436133e-17  1.000000e+00
# sem correlação  (relação quadrática)
X <- seq(-3, 3, 0.01)
Y <- - X^2 + rnorm(length(X))

exemplo4 <- cbind(X, Y)

cor(exemplo4)
            X           Y
X 1.000000000 0.001822687
Y 0.001822687 1.000000000
# divide a area dos gráficos como um arranjo 2x2
par(mfrow = c(2, 2))

# dados dos gráficos
plot(exemplo1, col = "steelblue", pch = 20, xlab = "X", ylab = "Y", 
     main = "Correlação = 0.81")

plot(exemplo2, col = "steelblue", pch = 20, xlab = "X", ylab = "Y", 
     main = "Correlação = -0.81")

plot(exemplo3, col = "steelblue", pch = 20, xlab = "X", ylab = "Y", 
     main = "Correlação = 0")

plot(exemplo4, col = "steelblue", pch = 20, xlab = "X", ylab = "Y", 
     main = "Correlação = 0")