Econometrics R
Econometrics R
Econometrics R
net/publication/331940763
CITATION READS
1 8,917
1 author:
Alexandre Loures
Universidade Federal de Pelotas
30 PUBLICATIONS 31 CITATIONS
SEE PROFILE
All content following this page was uploaded by Alexandre Loures on 13 February 2020.
Alexandre Loures
2020-02-13
2
Sumário
1 Apresentação 5
2 Funções Básicas no R 7
2.1 Usando o R como uma Calculatora . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
3 Estatísticas Básicas 11
3.1 Medidas de Posição . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
5 Reference 27
3
4 SUMÁRIO
Capítulo 1
Apresentação
Atualmente os alunos de econometria possuem à disposição diversos pacotes estatísticos e econométricos para
colocarem em prática o aprendizado adquirido nas aulas de estatística e econometria. Esses pacotes se dividem
entre aqueles que são softwares pagos, proprietários, e aqueles que são gratuitos, livres. Como exemplo de pacotes
pagos destaca-se o STATA e o SAS, por sua vez, R e Python caracterizam-se como sendo pacotes gratuitos. Sendo que
aquele é considerado um software estatístico – com grande popularidade – enquanto esse é considerado um software
econométrico – cuja utilização tem crescido bastante. Os pacotes gratuitos apresentam-se como uma alternativa
bastante útil aos pagos: primeiramente, em virutde desses geralmente possuírem um alto custo e, mais importante,
os softwares livres ao possuírem desenvolvedores ao redor do mundo inteiro têm se atualizado com as novas teorias
estatísiticas e econométricas mais rapidamente do que os pacotes pagos. Além disso, existe uma comunidade muito
maior na internet o que possibilita a troca de experiências e ajuda muito mais fácil do que os softwares pagos.
Neste manual o foco será na utilização do pacote R. Aos interessados na linguagme Python recomenda-se o manual
Econometria Aplicada com o uso do Python disponível no seguinte link. O software estatístico R possui diversas
interfaces gráficas cujo objetivo é tornar o uso do pacote o mais amigável possível para usários iniciantes bem como
avançados. Destaca-se que a IDE (Integrated Development Environment) mais popular para trabalhar com o R é o
RStudio. Nesse caso, este manual utilizará essa IDE para apresentar os pacotes e os comandos para a aplicação da
teoria estatística e econométrica. Abaixo apresenta a interface gráfica do RStudio que o usuário irá ver ao abrir o
pacote.
Como uma primeira observação, o RStudio, por padrão, apresenta todas as quatro janelas com o fundo branco,
porém, é possível configurar o layout de acordo com a preferência de cada um dos usuários, dentro daqueles
disponibilizados na opção Tools>Global Options...>Appearence. Ademais, a janela número um apresenta o
script, ou seja, os objetos, os pacotes, as operações, as observações, etc. que estão sendo executadas naquele
momento. Na linguagem de programação se diz que a janela um apresenta o código de programação. Na janela
dois, tem-se, na aba Environment, os objetos gerados no código. Já a terceira janela apresenta o console onde é
possível executar os comandos diretamente, isto é, não através do script. Por fim, a quarta janela, entre outras
opções, será o espaço onde os gráficos do script em execução serão exebidos. Como última observação, destaca-
se a existência de diversos editores de textos que possibilitando diferenciar os códigos da programação em cores
facilitando em muito o trabalho para escrever a rotina bem como identificar possíveis erros no código. Não resta
dúvidas de que o mais poderoso é o Emacs, contudo, esse editor é muito difícil de usar. Nesse sentido, o Sublime
Text é uma ótima opção uma vez que é muito simples de usar e é o que apresenta o melhor visual, a estrutura de
cores do código é bastante poderosa.
Observação: a base usada nos exemplos do Capítulo 3 está disponível no seguinte link.
5
6 CAPÍTULO 1. APRESENTAÇÃO
Funções Básicas no R
2 + 2
## [1] 4
## Realizando uma subtração
15 - 3
## [1] 12
## Realizando uma multiplicação
2 * 8
## [1] 16
## Realizando uma divisão
35/7
## [1] 5
## Extraindo a raiz quadrado
sqrt (16)
## [1] 4
log(8)
## [1] 2.079442
7
8 CAPÍTULO 2. FUNÇÕES BÁSICAS NO R
log(8, 10)
## [1] 0.90309
## Calculando o logaritmo na base 5 de 8
log(8, 5)
## [1] 1.29203
## Calculando a tangente de 9
tan(9)
## [1] -0.4523157
q <- 200/10
## [1] 20
## Multiplicando o objeto 'q' por 2
q * 2
## [1] 40
## Obtendo o seno do objeto 'q'
sin(q)
## [1] 0.9129453
## Adicionando 30 ao objeto 'q'
q + 30
## [1] 50
## Subtraindo o objeto 'q' de 100
100 - q
## [1] 80
pi
2.1. USANDO O R COMO UMA CALCULATORA 9
## [1] 3.141593
## Obtendo o valor de 'e'
exp(1)
## [1] 2.718282
## Potência com R
x <- 2
x ^ 3
## [1] 8
## Outra Forma de Obter a Potência com R
y <- 2
y ** 3
## [1] 8
10 CAPÍTULO 2. FUNÇÕES BÁSICAS NO R
Capítulo 3
Estatísticas Básicas
𝑛
∑𝑖=1 𝑥𝑖
𝑥̄ = (3.1)
𝑛
where:
𝑥𝑖 → representa cada elemento da série e;
𝑛 → representa o número total de elementos da série.
Para calcular a média aritmética simples no R, a seguinte sintaxe é usada:
## Exemplo:
mean (x)
## [1] 24.83333
Média Geométrica
A média geométrica é a média das médias e é igual à 𝑛𝑡ℎ raiz quadrado do produto (multiplicação) entre os elementos
de uma série cuja representação matemática é como a seguir:
√
𝑔̄ = 𝑛
𝑥1 ∗ 𝑥2 ∗ ⋯ ∗ 𝑥𝑛 (3.2)
ou
1
𝑔 ̄ = (𝑥1 ∗ 𝑥2 ∗ ⋯ ∗ 𝑥𝑛 ) 𝑛 (3.3)
11
12 CAPÍTULO 3. ESTATÍSTICAS BÁSICAS
em que:
𝑥𝑖 → representa cada elemento da série e;
𝑛 → representa o número total de elementos da série.
Existem alguns pacotes no R que possuem uma sintaxe para calcular a média geométrica, contudo, pode-se lembrar
da fórmula dessa média e calculá-la diretamente sem usar um comando específico para esse cálculo.
## Exemplo:
prod (x)
## [1] 128700000
## número dos elementos da série
n <- 6
## [1] 22.46966
Média Harmônica
Quando se trata de quantidades inversamente proporcionais (por exemplo, custo e quantidade), a média harmônica
é usada. Ou seja, a média harmônica é usada para calcular o custo médio das mercadorias compradas com um
valor monetário fixo, a velocidade média, etc.. Como o custo médio é igual à 𝐶 = 𝑃𝑞 e a velocidade média é igual
à 𝑉 = 𝑑𝑡 , i.e., custo é inversamente propocional à quantidade e velocidade é inversamente ao tempo. A fórmula da
média harmônica é:
𝑛
ℎ̄ = 1 1 1 (3.4)
𝑥1 + 𝑥2 +⋯+ 𝑥𝑛
where:
𝑥𝑖 → representa cada elemento da série e;
𝑛 → representa o número total de elementos da série.
Assim como para a média aritmética simples e para a média geométrica existem alguns pacotes no R que possui
uma sintaxe para calcular a média harmônica, contudo, não há necessidade de instalá-los para realizar esse cálculo,
basta entender a fórmula e aplicá-la manualmente no R.
## Exemplo:
a <- 1/x
3.1. MEDIDAS DE POSIÇÃO 13
n <- 6
n / b
## [1] 19.97129
3.1.2 Mediana
A mediana de qualquer série de dados separa a metade inferior da metade superior. Isto é, 50% da série terão
valores menores ou iguais à mediana e os outros 50% da série terão valores maiores ou iguais à mediana. Existem
duas observações que precisam serem feitas. Primeiro, os dados devem ser organizados ordenadamente (pode estar
na ordem crescente ou decrescente), i.e., não se deve trabalhar com dados brutos, i.e., sem ordenação. Por exemplo,
uma série de dados bruto {7, 9, 1, 5, 3} precisa ser ordenada {1, 3, 5, 7, 9} or {9, 7, 5, 3, 1}. Segundo, deve-se verificar
a fórmula para cada uma das situações que serão descritas a seguir.
Como última observações, a fórmula aplicada no cálculo da mediana não reporta o valor da mediana, mas ao invés,
a posição na qual o valor mediano encontra-se. Assim, encontrada a essa posição retorna-se a série de dados para
localizar a mediana.
1. se o número de termos da série em questão for ímpar, a mediana é o termo de ordem dado pela seguinte
fórmula: 𝑃𝑀𝑑 = 𝑛+1
2 .
2. se o número de termos da série em questão for par, a mediana é a média aritmética simples dos termos de
ordem dados pelas fórmulas: 𝑃𝑀𝑑 = 𝑛2 and 𝑃𝑀𝑑 = 𝑛2 + 1.
em que:
𝑃𝑀𝑑 → é a posição do valor mediano na série e;
𝑛 → é o número de elementos na série.
Exemplo 2.1: Qual é a mediana da série 1, 3, 5, 7, 9?1 Uma vez que o número de termos da série é ímpar, usa-se
somente a fórmula 𝑃𝑀𝑑 = 𝑛+1
2 . Então,
5+1 6
𝑃𝑀 𝑑 = = =3
2 2
6
𝑃𝑀 𝑑 = =3
2
e
6
𝑃𝑀 𝑑 = +1=3+1=4
2
1 Note que a série já está ordenada, i.e., não são dados bruto.
2 Note que a série já está ordenada, i.e., não são dados bruto.
14 CAPÍTULO 3. ESTATÍSTICAS BÁSICAS
Assim, o valor mediano será a média aritmética simples dos valores que estão na 3 e 4 posições e que são, respecti-
vamente, 5 e 7.
5+7 12
𝑥̄ = = =6
2 2
a <- c(1, 3, 5, 7, 9)
median (a)
## [1] 5
Para a outra série tem-se:
## Exemplo:
median (b)
## [1] 6
3.1.3 Moda
Moda é o valor da série que mais ocorre, i.e., com maior frequência. No entanto, em uma série pode ser que não
exista um termo repetitivo e, portanto, essa série é denominada amodal. Por sua vez, se dois elementos ocorrem
com mais frequência, a série é chamada bimodal e, nos casos em que há mais de dois elementos se repetindo, a
repetição de uma série é multimodal ou polimodal.
No R existem duas formas para calcular a moda. Se a série for pequena, facilitando a identificação visual da moda,
usa-se a sintaxe table (series name) que reportará os elementos da série e, abaixo deles, mostrará com que
frequência cada um deles ocorre. Mas para casos em que a série é muito grande, o que tornará difícil a visualização, a
sintaxe subset (table (series names), table (series name) == max (table (series name))) é utilizada
e reportará o elemento modal e abaixo dele a frequência com que ocorre.
## Exemplo:
w <- c(1, 2, 3, 4, 4, 4, 5, 6, 7)
table (w)
## w
## 1 2 3 4 5 6 7
3.1. MEDIDAS DE POSIÇÃO 15
## 1 1 1 3 1 1 1
Ou pode-se usar uma função que reportará o valor da moda, i.e., reportará o valor modal e não a frequência para
cada um dos elementos da série.
## Example:
z <- c(1, 2, 3, 4, 4, 4, 5, 6, 7)
## 4
## 3
16 CAPÍTULO 3. ESTATÍSTICAS BÁSICAS
Capítulo 4
Análise linear simples estuda a relação linear entre duas variáveis quantitativas. Sendo uma denominada de variável
dependente e a outra de variável indenpendente. Essa análise é realizada a partir de dois pontos de vista diferentes:
1. regressão → que expressa a forma da relação linear entre as duas variáveis e;
2. correlação → que quantifica a força desse relacionamento.
Essa relação é representada por um modelo matemático, i.e., por uma equação que associará a variável explicada à
variável explicativa. A representação matemática dessa associação é a seguinte:
𝑦 = 𝛽 0 + 𝛽1 𝑥 + 𝜇 (4.1)
em que:
𝑦 → é a variável explicada ou dependente que será calculada e, portanto, é aleatória;
𝛽0 e 𝛽1 → são os parâmetros desconhecidos do modelo que serão calculados. Quando se está trabalhando com a
população diz-se que essas são as estimativas, no entanto, se está trabalhando com uma amostra diz-se que essas
são os estimadores dos verdadeiros valores.
𝑥 → é a variável explicativa ou independente medida sem erro, i.e., sem aleatoriedade e;
𝜇 → é a variável aleatória residual na qual as outras variáveis que influenciam o comportamento da variável
dependente 𝑦, e que não foram incluídas no modelo matemático, são encontradas 𝑥. Ou seja, são influências na
variável explicada 𝑦 que não podem ser explicadas linearmente pelo comportamento da variável explicativa.
Exemplo 3.1: A Tabela 𝐼.1 do livro Econometria Básica, tradução da 5 edição, de Gujarati and Porter (2011,
p. 30) será usada nesse exemplo.
## Exemplo:
17
18 CAPÍTULO 4. REGRESSÃO LINEAR SIMPLES
pers_con
summary (pers_con)
Importante destacar que o comando read.csv funciona para bases .csv no padrão norte americano, i.e., as colunas
são separadas por vírgula e a casa decimal é representada por ponto. Contudo, se a base .csv estiver no padrão
brasileiro: colunas separadas por ponto e vírgula e a casa decimal é representada por vírgula o comando para
importar tal base seria:
Destaca-se que o comando summary reporta apenas algumas poucas estatísticas e, dessa forma, para realizar uma
análise mais completa sobre as variáveis em estudo pode-se empregar o comando describe do pacote psych. Esse
comando irá apresentar ao todo 11 estatísticas. A seguir apresenta-se cada uma delas:
𝑚𝑒𝑎𝑛 → representa a média aritmética da série;
𝑠𝑑 → representa o desvio padrão;
𝑚𝑒𝑑𝑖𝑎𝑛 → representa a mediana da série;
𝑡𝑟𝑖𝑚𝑚𝑒𝑑 → representa a média trimmed (trimmed mean) ou média truncada;
𝑚𝑎𝑑 → representa o desvio absoluto mediano (da mediana);
𝑚𝑖𝑛 → representa o valor mínimo;
𝑚𝑎𝑥 → representa o valor máximo;
𝑟𝑎𝑛𝑔𝑒 → representa o intervalo entre o valor mínimo e o valor máximo;
20 CAPÍTULO 4. REGRESSÃO LINEAR SIMPLES
𝑠𝑘𝑒𝑤 → representa a assimetria da série. Um valor igual a zero indica que a série é perfeitamente simétrica. Por
sua vez, quanto mais distante de zero, mais assimétrica será a série;
𝑘𝑢𝑟𝑡𝑜𝑠𝑖𝑠 → representa o achatamento dos dados da série em relação à curva da distribuição normal (ou de Gauss).
Para uma série normal esse valor é igual a 0. Séries com esse valor são denominadas de mesocúrtica. Para valores
maiores (> 0), então a série em questão é mais alta (afunilada) e concentrada do que a distribuição normal. Diz-se
que essa série é leptocúrtica. Já para valores menores (< 0) a série é mais achatada do que a distribuição normal.
Diz-se que essa série é platicúrtica. e;
𝑠𝑒 → representa o erro-padrão da série.
Para exemplificar o comando describe do pacote psych a seguir utiliza-se a variável gdp do data.frame pers_con e,
a partir das estatísticas descritivas reportadas pode-se identificar se a variável gdp possui uma distribuição normal.
library(psych)
describe(pers_con$gdp)
library(tseries)
jarque.bera.test(pers_con$gdp)
##
## Jarque Bera Test
##
## data: pers_con$gdp
## X-squared = 3.1944, df = 2, p-value = 0.2025
De posse do resultado do teste Jarque-Bera para normalidade não se rejeita a hipótese de normalidade se o valor p-
value for maior do que o nível de significância escolhido. Para o exemplo, nota-se que para os níveis de significância
padrão (1%, 5% e 10%) não se rejeita a hipótese de normalidade, i.e., a variável gdp possui uma distribuição
aproximadamente normal uma vez que o p-value é maior do que aqueles níveis de significância.
Outro teste para normalidade seria o Shapiro test cuja hipótese nula é: a série em questão é normalmente
distribuída.
4.2. TESTE PARA NORMALIDADE JARQUE-BERA E SHAPIRO-TEST 21
shapiro.test(pers_con$gdp)
##
## Shapiro-Wilk normality test
##
## data: pers_con$gdp
## W = 0.94175, p-value = 0.02276
O resultado desse teste ratifica o resultado do teste Jarque-Bera nos níveis de significância (5% e 10%), i.e., a série
gdp possui uma distribuição aproximadamente normal uma vez que a esses níveis não se rejeita a hipótese nula de
uma série normalmente distribuída.
Também pode-se “plotar” um histograma da série para uma análise visual para normalidade. A seguir, plota-se o
histograma para a série gdp do data.frame pers_con e adicionam-se a curva normal (linha azul) e a curva para a
série em questão, gdp (linha vermelha). Note que a linha em vermelha se aproxima de uma distribuição normal.
0.00000
GDP
Os valores da análise de correlação estarão sempre entre +1 e −1 e indicam a relação entre duas variáveis lineares. Em
que a magnitude da vairável indica a força da correlação e o sinal indica a direção da relação, se a correlação é positiva
ou negativa, i.e., se as variáveis são diretamente proporcionais ou inversamente proporcionais, respectivamente.
Uma vez realizada a análise de correlação, pode-se ainda determinar a magnitude da interdependência entre y e x.
A estatística covariância é uma medida do grau de interdependência numérica entre duas variáveis. Assim, se duas
variáveis são independentes umas das outras espera-se que elas tenham covariância igual a zero. Por sua vez, um
sinal positivo indica uma relação linear positiva enquanto um sinal negativo sinaliza uma relação linear negativa.
4.4. MÍNIMO QUADRADO ORDINÁRIO (MQO) 23
## [1] 4433597
O método do Mínimo Quadrado Ordinário (MQO) é um dos estimadores bastante utilizado em análises economé-
tricas, isto é, em estudos empíricos. O MQO caracteriza-se como sendo uma técnica de otimização matemática em
que se procura encontrar o melhor ajuste para um conjunto de dados buscando minimizar a soma dos quadrados
das diferenças entre o valor estimado e os dados observados. Salienta-se que o comando para o estimador MQO no
R é lm.
summary (reg)
##
## Call:
## lm(formula = pers_con$ecp ~ pers_con$gdp)
##
## Residuals:
## Min 1Q Median 3Q Max
## -148.819 -49.780 -5.844 36.780 169.113
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) -2.970e+02 2.814e+01 -10.56 1.23e-13 ***
## pers_con$gdp 7.213e-01 4.327e-03 166.70 < 2e-16 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 71.96 on 44 degrees of freedom
## Multiple R-squared: 0.9984, Adjusted R-squared: 0.9984
## F-statistic: 2.779e+04 on 1 and 44 DF, p-value: < 2.2e-16
## plotando o gráfico para a regressão linear simples entre 'ecp' and 'gdp'
8000
6000
pers_con$ecp
4000
2000
pers_con$gdp
## adicionando a linha da regressão linear simples estimada entre 'ecp' and 'gdp'
## e renomeando os eixos 'x' and 'y'
8000
6000
ecp
4000
2000
gdp
library (lmtest)
##
## RESET test
##
## data: pers_con$ecp ~ pers_con$gdp
## RESET = 28.579, df1 = 1, df2 = 43, p-value = 3.238e-06
##
## studentized Breusch-Pagan test
##
## data: pers_con$ecp ~ pers_con$gdp
## BP = 20.183, df = 1, p-value = 7.037e-06
O próximo resultado são os coeficientes (coluna Estimate). O termo Intercept é denominado de constante e
representa o ponto em que a linha ajustada da regressão interceptará o eixo vertical do gráfico. Ademais, a inclusão
do 𝛽0 garante que os resíduos tenham uma média zero. Já o coeficiente gdp indica que con e gdp possuem uma
relação positiva, ou seja, ao aumentar a variável gdp (o x) o efeito será de um aumento na variável con (o y), isto
é, gdpimpactará positivamente con. Mais precisamente, ao aumetar o gdp em um unidade con aumentará por um
valor de 0, 07213.
A coluna Std. Error apresenta o valor do erro padrão para cada um dos coeficientes estimados medindo a confia-
bilidade do coeficiente. Quanto menor esse valor maior a confiabilidade dos coeficientes.
A estatística t value mostra o valor da estatística-t tabelada ou teste t das variáveis incluídas na equação
cujo objetivo é testar a hipótese do coeficiente ser igual a zero. Por sua vez, a coluna Pr(>|t|) apresenta a
probabilidade da estatística-t calculada seja superior à estatística-t tabelada e, assim, o coeficiente ser igual
a zero. Ademais, Signif. codes indica o nível de significância de rejeição da hipótese nula de coeficiente igual a
zero cujos intervalos são interpretados da seguinte forma:
1. ’***’ indica que a hipótese nula é rejeitada com um nível de significância entre 0 e 0.001;
2. ’**’ implica que a hipótese nula é rejeitada com um nível de significância entre 0.001 e 0.01;
3. ’*’ sinaliza que a hipótese nula é rejeitada com um nível de significância entre 0.01 e 0.05;
4. ’.’ representa que a hipótese nula é rejeitada com um nível de significância entre 0.05 e 0.1 e;
5. ’ ’ mostra que a hipótese nula é rejeitada com um nível de significância entre 0.1 e 1.
Capítulo 5
Reference
27
28 CAPÍTULO 5. REFERENCE
Referências Bibliográficas
Breusch, T. S. and Pagan, A. R. (1979). A simple test for heteroscedasticity and random coefficient variation.
Econometrica: Journal of the Econometric Society, pages 1287–1294.
Gujarati, D. N. and Porter, D. C. (2011). Econometria Básica. Editora Campus, Rio de Janeiro: Elsevier, 5 edition.
Ramsey, J. B. (1969). Tests for specification errors in classical linear least-squares regression analysis. Journal of
the Royal Statistical Society. Series B (Methodological), pages 350–371.
29