Média dos resíduos. Heterocedasticidade. Aucorrelação serial. Variável dependente estocástica. Multicolinearidade. Forma funcional errada. Instabilidade dos parâmetros.
Mitos, (nem tao) verdades (assim) e aplicacoes de valuation
Diagnósticos do MCRL e soluções para heterocedasticidade
1. Universidade Federal da Paraíba - Centro de Ciências Sociais Aplicadas - Programa de Pós-Graduação em Ciências Contábeis
Campus I - Cidade Universitária - CEP 58.051-900 - João Pessoa/PB
Telefone: +55 (83) 3216 7285 - http://ccsa.ufpb.br/ppgcc - e-mail: ppgcc@ccsa.ufpb.br
Diagnósticos do MCRL
Luiz Felipe de Araújo Pontes Girão
luizfelipe@ccsa.ufpb.br
Média dos resíduos. Heterocedasticidade. Aucorrelação serial. Variável
dependente estocástica. Multicolinearidade. Forma funcional errada.
Instabilidade dos parâmetros.
2. Introdução
• Relembrando os pressupostos do MCRL:
1. E(ut) = 0
2. Var(ut) = 2 <
3. Cov (ui,uj) = 0
4. The X matrix is non-stochastic or fixed in repeated samples
5. ut N(0,2)
www.contabilidademq.blogspot.com luizfelipe@ccsa.ufpb.br 2
3. Introdução
• Os testes que eu indicar que vocês façam a mão em sala, façam em casa.
Temos muito assunto para ver e pouco tempo.
• Na prova pode ser que eu dê algumas informações para que vocês
apliquem nas fórmulas e tomem a decisão de rejeitar ou não rejeitar a H0.
Então é importante que pratiquem.
• Para calcular mesmo, cobrarei apenas até o passo 8 do slide 6 da aula 5,
além do teste F e R² e R² ajustado.
www.contabilidademq.blogspot.com luizfelipe@ccsa.ufpb.br 3
4. Introdução
• Particularmente, focaremos em:
- Como testar os pressupostos
- Causas dos problemas
- Consequências de se violar os pressupostos
De forma geral, podemos ter 3 tipos de problemas (que podem ser
combinados):
- a estimação dos coeficientes é errada
- os erros padrão dos coeficientes estão errados
- a distribuição que assumimos para
testar as estatísticas está errada
- Soluções
www.contabilidademq.blogspot.com luizfelipe@ccsa.ufpb.br 4
5. Distribuições estatísticas utilizadas
nos testes de diagnóstico
• Normalmente utilizamos os testes em suas versões F e 2 (detalhes sobre
isso no capítulo 8 de Brooks).
• A 2 trabalha apenas com m gl, enquanto que a F trabalha com m e T-k gl.
• Implicação:
• Assintoticamente, os dois testes são equivalentes (à medida em que a
amostra vai crescendo). Com T pequeno, o F é preferível;
• Os dois testes possivelmente terão resultados diferentes, quando as
amostras forem pequenas (o F considera o tamanho da amostra,
enquanto que o 2 apenas considera o número de restrições); e
• Assintoticamente temos que:
www.contabilidademq.blogspot.com luizfelipe@ccsa.ufpb.br 5
6. E(ut) = 0
• A inclusão da constante garante esse pressuposto.
• Continue com os dados da planilha “macro”. Execute os seguintes
procedimentos:
• quietly regress ermsoft ersandp
• predict res_com_cons, residuals
• quietly regress ermsoft ersandp, noconstant
• predict res_sem_cons, residuals
• mean res_com_cons res_sem_cons
• sum res_com_cons res_sem_cons
• **usem um ou outro, o sum é uma descritiva mais completa do que
apenas a mean.
• test res_com_cons = 0
• test res_sem_cons = 0
www.contabilidademq.blogspot.com luizfelipe@ccsa.ufpb.br 6
7. E(ut) = 0
res_sem_cons -.6116595 .7035219 -1.995707 .7723881
res_com_cons 1.23e-08 .7035192 -1.384042 1.384042
Mean Std. Err. [95% Conf. Interval]
Mean estimation Number of obs = 325
. mean res_com_cons res_sem_cons
www.contabilidademq.blogspot.com luizfelipe@ccsa.ufpb.br 7
9. E(ut) = 0
• Se a teoria disser que o modelo não deve ter constante e, eventualmente, a
média dos resíduos gerados não for zero, você terá alguns problemas.
1. O R² (ESS/TSS) poderá ser negativo. Ou seja: 𝑦 explica mais as
variações em y do que as variáveis explicativas do modelo; e (o pior)
2. Quando não há intercepto poderá haver viés na inclinação da reta
estimada (ver próximo slide).
www.contabilidademq.blogspot.com luizfelipe@ccsa.ufpb.br 9
11. E(ut) = 0
• Execute agora os seguintes commandos:
quietly regress Microsoft SANDP
predict ychapeuCCons, xb
quietly regress Microsoft SANDP, noconstant
predict ychapeuSCons, xb
scatter Microsoft SANDP || line ychapeuCCons SANDP
scatter Microsoft SANDP || line ychapeuSCons SANDP
• Perceba o viés de inclinação na reta (veja os coeficientes também), assim
como a diferença no R²
www.contabilidademq.blogspot.com luizfelipe@ccsa.ufpb.br 11
12. E(ut) = 0
www.contabilidademq.blogspot.com luizfelipe@ccsa.ufpb.br 12
0
50
100150200
0 500 1000 1500
SANDP
Microsoft Linear prediction
0
50
100150200
0 500 1000 1500
SANDP
Microsoft Linear prediction
13. E(ut) = 0
• No anterior as variáveis estavam em nível. O impacto foi maior, pois
houve mudança de sinal. Aqui o impacto é menor, pois a constante não é
significativa.
www.contabilidademq.blogspot.com luizfelipe@ccsa.ufpb.br 13
-100
-50
0
50
-30 -20 -10 0 10
ersandp
ermsoft Linear prediction
-100
-50
0
50
-30 -20 -10 0 10
ersandp
ermsoft Linear prediction
14. Var(ut) = 2 <
• O gráfico abaixo apresenta um exemplo de heterocedasticidade. A
variância dos resíduos é crescente.
www.contabilidademq.blogspot.com luizfelipe@ccsa.ufpb.br 14
Heterocedasticidade é um
problema comum para
contabilidade pois trabalhamos
com empresas de vários tipos,
tamanhos etc.
15. Var(ut) = 2 <
DETECÇÃO:
• O método gráfico não é o melhor para se detectar o problema. No gráfico
anterior a heterocedasticidade era uma função da variável x2, porém e se
fosse de x3? Concluiríamos algo errado e teríamos muito trabalho. Para
reduzir esse problema, existem diversos testes formais.
• Os testes mais comuns são o de White e o de Breusch-Pagan (também
conhecido como Breusch-Pagan/Cook-Weisberg). Seguem os comandos:
• White: estat imtest, white
• BP: estat hettest
www.contabilidademq.blogspot.com luizfelipe@ccsa.ufpb.br 15
Detecta qualquer forma linear de heterocedasticidade.
“estat hettest, idd” considera que os resíduos não são
normais.
“estat hettest, fstat” considera que os resíduos não são
normais e usa a versão F do teste.
É um teste mais geral e não tem problema se a
heterocedasticidade for não linear.
Considera que os resíduos não são normalmente distribuídos.
Quando o modelo é muito grande (por gerar várias variáveis
“estranhas”) o BP pode ser mais poderoso que ele.
16. Var(ut) = 2 <
• Passos para o Teste de White:
1. Estimar os resíduos da regressão a ser testada:
2. Rode a regressão auxiliar:
3. Multiplique o R² da regressão auxiliar pelo número de observações
da regressão. m é o número de regressores da auxiliar, excluindo a
constante:
4. Se o 2 calculado no passo 3 for maior do que o tabelado, rejeita-se a
hipótese da homocedasticidade em favor da heterocedasticidade.
www.contabilidademq.blogspot.com luizfelipe@ccsa.ufpb.br 16
yt = 1 + 2x2t + 3x3t + ut
tttttttt vxxxxxxu 326
2
35
2
2433221
2
ˆ
T R2 2 (m)
Faça o teste de White com os
dados do slide 6 da aula
passada
17. Var(ut) = 2 <
• Usando o teste de White, pode-se assumir a homocedasticidade? Teste ao
nível de 1% e 10% (usando a 2).
• R² da regressão auxiliar = 23,40%
• T = 120
• m = 5
www.contabilidademq.blogspot.com luizfelipe@ccsa.ufpb.br 17
18. Var(ut) = 2 <
Consequências da heterocedasticidade no OLS
1. O estimador nos apresentará coeficientes não viesados e consistentes,
uma vez que a variância do erro não é utilizada para provar que o
OLS é não viesado e consistente.
2. O estimador não será BLUE – não terá a menor variância entre os
estimadores não viesados – a variância dos erros é usada para estimar
a variância dos coeficientes. Ou seja: o erro padrão poderá estar
errado.
• Para mais detalhes algébricos sobre tratamento e consequências, ver: Hill,
Griffiths and Judge (1997, pp. 217–18).
www.contabilidademq.blogspot.com luizfelipe@ccsa.ufpb.br 18
19. www.contabilidademq.blogspot.co
m
19
Como lidar com a heterocedasticidade?
• If the form (i.e. the cause) of the heteroscedasticity is known, then we can
use an estimation method which takes this into account (called generalised
least squares, GLS).
• A simple illustration of GLS is as follows: Suppose that the error variance
is related to another variable zt by:
• To remove the heteroscedasticity, divide the regression equation by zt
where is an error term.
• Now for a known zt.
22
var tt zu
t
t
t
t
t
tt
t
v
z
x
z
x
zz
y
3
3
2
21
1
t
t
t
z
u
v
2
2
22
2
var
varvar
t
t
t
t
t
t
t
z
z
z
u
z
u
v
GLS também é conhecido como WLS, pois uma média ponderada do RSS é minimizada.
luizfelipe@ccsa.ufpb.br
20. Var(ut) = 2 <
• Porém dificilmente nós saberemos qual é o tipo da heterocedasticidade.
• Então usamos outras “soluções”:
1. Controle do efeito escala: usando log das variáveis ou (usamos muito em
contabilidade) dividindo as variáveis contábeis pelo ativo total do ano
anterior, pelo número de ações, valor de Mercado etc.
2. Estimando o erro padrão robusto de White (no Eviews), no Stata é HC3
(Davidson e Mackinnon, 1993). Assim, somos mais “contadores” (ou
conservadores) na rejeição de uma hipótese. Esse procedimento não altera
os coeficientes, apenas os erros padrão.
• Não há alteração nos resíduos, logo não há alteração no R². Essa solução
não resolve o problema de heterocedasticidade, ele estima uma matriz de
variância e covariância robusta.
• regress ermsoft ersandp, vce(hc3)
www.contabilidademq.blogspot.com luizfelipe@ccsa.ufpb.br 20
21. Var(ut) = 2 <
• Estime o modelo regress ermsoft ersandp dprod dcredit dinflation
dmoney dspread rterm
• Execute os testes de heterocedasticidade:
• White: estat imtest, white
• BP: estat hettest
• Rode o mesmo modelo, porém robusto e compare os erros padrão: regress
ermsoft ersandp dprod dcredit dinflation dmoney dspread rterm,
vce(hc3)
www.contabilidademq.blogspot.com luizfelipe@ccsa.ufpb.br 21
25. Cov (ui , uj) = 0
• Esse pressuposto diz que os erros (resíduos, uma vez que não sabemos os
erros da população) não são correlacionados ao longo do tempo (ou cross-
sectionalmente se esse for o caso dos seus dados).
• Perceba, graficamente nos próximos slides, o comportamento de resíduos
com e sem autocorrelação (sem correlação serial).
www.contabilidademq.blogspot.com luizfelipe@ccsa.ufpb.br 25
26. www.contabilidademq.blogspot.co
m
26
No pattern in residuals – No autocorrelation
No pattern in residuals at all: this is what we would like to see
+
tuˆ
-
-
+
1
ˆ tu
+
-
tuˆ
tempo
luizfelipe@ccsa.ufpb.br
29. Cov (ui , uj) = 0
• Antes de estudarmos a matemática do teste, precisamos saber o que é uma
lagged variable (variável defasada) e diferenciação da variável:
www.contabilidademq.blogspot.com luizfelipe@ccsa.ufpb.br 29
t yt yt-1 yt
1989M09 0.8 - -
1989M10 1.3 0.8 1.3-0.8=0.5
1989M11 -0.9 1.3 -0.9-1.3=-2.2
1989M12 0.2 -0.9 0.2--0.9=1.1
1990M01 -1.7 0.2 -1.7-0.2=-1.9
1990M02 2.3 -1.7 2.3--1.7=4.0
1990M03 0.1 2.3 0.1-2.3=-2.2
1990M04 0.0 0.1 0.0-0.1=-0.1
. . . .
. . . .
. . . .
Criando variáveis defasadas no Stata:
g “nome_nova_var” = “Variável antiga”[_-1]
Para criar dois lags, usar -2 e assim por
diante.
O mesmo serve para +1, +2… +n.
Diferenciando (primeira diferença) no Stata:
g “nome_nova_var” = “Variável antiga”-
“Variável antiga”[_-1]
30. Cov (ui , uj) = 0
• É interessante analisar os resíduos, porém é necessário utilizar testes mais formais
para concluir algo. Vamos verificar os resíduos em um exemplo:
• quietly regress ermsoft ersandp
• ** Esse comando roda a regressão, porém não apresenta as estatísticas
• predict uchapeu, residuals
• ** Salvamos os resíduos na variável chamada de uchapeu
• g uchapeuDef = uchapeu[_n-1]
• ** Defasamos uchapeu
• scatter uchapeu uchapeuDef
• ** No lugar de uchapeuDef, poderíamos usar: scatter uchapeu L.uchapeu
• ** Rodamos o gráfico de dispersão
• g time = [_n]
• tsset time
• twoway (tsline uchapeu)
• ** Esse último gráfico nos dá o comportamento dos resíduos ao longo do tempo.
É preciso usar antes o tsset, para indicar qual é a variável do tempo.
• O gráfico gerado parece mais com os que tem autocorrelação ou o que não tem?
www.contabilidademq.blogspot.com luizfelipe@ccsa.ufpb.br 30
33. Cov (ui , uj) = 0
DETECÇÃO
• Os testes mais comuns são:
1. Durbin-Watson: capta apenas autocorrelação de primeira ordem (por
padrão); e
2. Breusch-Godfrey: capta autocorrelação superior à primeira ordem
(por padrão).
www.contabilidademq.blogspot.com luizfelipe@ccsa.ufpb.br 33
34. Cov (ui , uj) = 0
• O DW por padrão se refere à autocorrelação de primeira ordem e pode ser
expresso pelo seguinte modelo:
ut = ut-1 + vt , em que vt N(0, v
2)
• O DW testa a seguinte hipótese:
H0 : = 0 and H1 : 0
• Porém, não é preciso rodar outra regressão, uma vez que a primeira já nos
dá os dados necessários para testar se há ou não o problema:
www.contabilidademq.blogspot.com luizfelipe@ccsa.ufpb.br 34
DW
u u
u
t t
t
T
t
t
T
1
2
2
2
2
35. Cov (ui , uj) = 0
• A estatística DW pode ser dada também por e deverá estar
neste intervalo: 0 DW 4 (demonstração pode ser vista no livro).
• Para testar a estatística, é preciso saber o T e o k (número de regressores,
excluindo a constante). Após isso, verifica-se na tabela do DW qual é o seu
dL e o seu dU, aplicando em seguida os valores na régua abaixo:
www.contabilidademq.blogspot.com luizfelipe@ccsa.ufpb.br 35
DW 2 1( )
Regra de bolso: DW próximo a 2 indica ausência de autocorrelação
36. Cov (ui , uj) = 0
• Com o mesmo exemplo do slide 6 da aula passada, teste se há
autocorrelação, com o DW.
www.contabilidademq.blogspot.com luizfelipe@ccsa.ufpb.br 36
DW
u u
u
t t
t
T
t
t
T
1
2
2
2
2
37. Cov (ui , uj) = 0
• A não verificação dessas condições pode fazer com que não se rejeite a H0
quando ela deveria ser rejeitada (Erro do Tipo II).
www.contabilidademq.blogspot.com luizfelipe@ccsa.ufpb.br 37
38. Cov (ui , uj) = 0
• Para rodar o DW no Stata é necessário configurar os dados, indicando a data. Por
isso, é importante sempre incluir uma coluna na planilha indicando o período de
tempo e uma outra coluna indicando o código da empresa (ou indivíduo).
• Para os nossos dados da planilha “macro”, faremos o seguinte:
tsset Date
** tsset é o comando para configurar a série temporal. Date é a nossa “variável”
de tempo.
quietly regress ermsoft ersandp
estat dwatson
** Confira agora a estatística calculada com a régua.
** Se você não tiver uma “variável” para o tempo, pode criar uma, como a
seguir. Chamarei a nova variável de “time”. Isso é importante nesse caso,
porque na variávei “Date”, se não ajustarmos nada como no slide 69, nos trará
problemas, pois tem “buracos” na série.
gen time = _n
tsset time
estat dwatson
www.contabilidademq.blogspot.com luizfelipe@ccsa.ufpb.br 38
Cuidado!! Algumas tabelas dizem que o k é sem a constante e outras com. E.g. o livro de Brooks traz a
tabela que exclui a constante, porém o Stata diz que temos 2 k. Então é só fazer 2-1 e olhar a tabela
39. Cov (ui , uj) = 0
Durbin-Watson d-statistic( 2, 325) = 0
Number of gaps in sample: 324
. estat dwatson
www.contabilidademq.blogspot.com luizfelipe@ccsa.ufpb.br 39
Durbin-Watson d-statistic( 2, 325) = 2.156763
. estat dwatson
40. Cov (ui , uj) = 0
• O BG é um teste mais geral (ordens maiores do que 1) para autocorrelação:
N(0, )
• As hipóteses são:
H0 : 1 = 0 e 2 = 0 e ... e r = 0
H1 : 1 0 ou 2 0 ou ... ou r 0
• Passos:
1. Estimar os resíduos da regressão original em OLS;
2. Estime uma nova regressão com os resíduos e as variáveis originais:
3. Calcule a estatística do teste: (T-r)R2 2(r)
4. Se a estatística calculada for maior do que a tabelada, rejeita-se a H0.
www.contabilidademq.blogspot.com luizfelipe@ccsa.ufpb.br 40
u u u u u v vt t t t r t r t t 1 1 2 2 3 3 ... , 2
v
Quantos lags devo usar? Não existe uma resposta exata para isso. Normalmente se usa a
frequência dos dados. Se for mensal, por exemplo, usar 12.
41. Cov (ui , uj) = 0
• Não faremos o BG de forma braçal.
quietly regress ermsoft ersandp
estat bgodfrey, lags(1)
estat bgodfrey, lags(12)
** Seguindo a regra da frequência, 12 seria a quantidade correta de lags,
uma vez que os dados são mensais.
estat bgodfrey, lags(30)
estat bgodfrey, lags(100)
** Caso tenhamos uma amostra pequena, deve-se usar a correção small.
Não é o nosso caso agora para esses dados
estat bgodfrey, lags(12) small
estat bgodfrey, lags(30) small
www.contabilidademq.blogspot.com luizfelipe@ccsa.ufpb.br 41
43. Cov (ui , uj) = 0
Consequências da autocorrelação no OLS:
1. São semelhantes à heterocedasticidade.
2. O estimador não é eficiente. Não será BLUE nem em amostras
grandes;
3. No caso de autocorrelação positiva, os erros padrão serão viesados
para baixo, com relação aos erros padrão reais, implicando aumento
da probabilidade de ocorrência do Erro do Tipo I e, além disso,
aumentará a probabilidade de o R² estar inflado (porque a variância
estará enviesada para baixo).
www.contabilidademq.blogspot.com luizfelipe@ccsa.ufpb.br 43
44. Cov (ui , uj) = 0
Como lidar com a autocorrelação?
1. Usar um modelo GLS (eg Cochrane-Orcutt), porém é preciso saber o
tipo de autocorrelação antes de estimar. Como não sabemos a priori,
uma proxy para isso é o da fórmula do DW, porém é apenas uma
aproximação que pode ser muito errada em amostras pequenas.
2. Semelhante à correção de White, temos a correção de Newey-West,
que nos dá erros padrão robustos para heterocedasticidade e
autocorrelação.
www.contabilidademq.blogspot.com luizfelipe@ccsa.ufpb.br 44
O comando para rodar o NW é: newey VD VI1 VI2..., lag(qts forem necessários). Esse
comando não fornece R² e outras medidas, pois ele só afeta os erros-padrão. Então
podemos usar eg o mesmo R² do OLS comum.
É preciso dizer ao Stata que os dados são séries temporais (tsset ....). Cuidado, pois não
pode haver buracos na série. Se houver buracos, usar a opção “force” após o lag().
Para painel, é preciso instalar o newey2: ssc install newey2
46. Cov (ui , uj) = 0
• A econometria mais moderna, muitas vezes, vê a autocorrelação como
uma oportunidade de exploração dos resultados, não como um problema
em si.
• É possível que, dentre outros fatores, a dinâmica do modelo esteja mal
especificada. Todos os modelos que vimos até agora eram considerados
estáticos:
• O uso de modelos dinâmicos pode ajustar o problema da autocorrelação.
Quantos lags e de quais variáveis? É preciso recorrer à teoria (ver seção
5.14)
www.contabilidademq.blogspot.com luizfelipe@ccsa.ufpb.br 46
47. Cov (ui , uj) = 0
• Faça um teste com a inclusão de um lag da variável dependente no
modelo.
g ermsofLag = ermsoft[_n-1]
g ersandpLag = ersandp[_n-1]
• Agora estime a seguinte regressão e compare os resultados do Teste BG
com 12 e 30 lags da regressão inicial (reg ermsoft ersandp):
reg ermsoft ersandp ermsofLag
estat bgodfrey, lags(12)
estat bgodfrey, lags(30)
www.contabilidademq.blogspot.com luizfelipe@ccsa.ufpb.br 47
No lugar de gerar novas variáveis, podemos utilizer os operadores de lags também, eg:
reg ermsoft ersandp L.ermsoft
49. Cov (ui , uj) = 0
• Outra forma moderna de tratar a autocorrelação é rodar o modelo em
primeira diferença (no lugar de em nível). Esse “remédio” serve para
outros problemas de séries temporais que não serão tratados nesta
disciplina (ver cap.8).
• Como obter a primeira diferença: xt = xt - xt-1
• O modelo ficará como abaixo:
yt = 1 + 2 x2t + ... + kxkt + ut
www.contabilidademq.blogspot.com luizfelipe@ccsa.ufpb.br 49
50. Cov (ui , uj) = 0
• Faça o teste de autocorrelação do seguinte modelo: reg ermsoft ersandp
dprod dcredit dinflation dmoney dspread rterm
• Qual foi a sua conclusão pelo teste?
• Como solucionar o problema?
• Rode agora o seguinte modelo e compare com o anterior: newey ermsoft
ersandp dprod dcredit dinflation dmoney dspread rterm, lag(12)
www.contabilidademq.blogspot.com luizfelipe@ccsa.ufpb.br 50
52. Cov (ui , uj) = 0
• g Dermsoft = ermsoft-ermsof[_n-1]
• g Dersandp = ersandp-ersandp[_n-1]
• g Drterm = rterm-rterm[_n-1]
• reg Dermsoft Dersandp dprod dcredit dinflation dmoney dspread Drterm
• É possível incluir os lags e diferenciação no próprio modelo, sem precisar
criar a variável:
• Diferenciar: D.NOME DA VARIÁVEL
• 1 lag: L.NOME DA VARIÁVEL
• 2 lags: L2.NOME DA VARIÁVEL
www.contabilidademq.blogspot.com luizfelipe@ccsa.ufpb.br 52
53. xt não é estocástico
• A priori, as variáveis independentes não devem ser estocásticas.
• Quando é um problema incluir variáveis estocásticas?
• Quando X e u não forem independentes (não forem ortogonais). Ou
seja: não pode haver correlação entre nenhuma variável independente
e o termo de erro.
• Qual é o problema?
• O estimador OLS será inconsistente e enviesado.
www.contabilidademq.blogspot.com luizfelipe@ccsa.ufpb.br 53
54. ut ∼ N(0, σ²)
• Normal (assimetria = 0) x Assimétrica (nesse caso à direita)
www.contabilidademq.blogspot.com luizfelipe@ccsa.ufpb.br 54
f(x)
x x
f(x)
55. ut ∼ N(0, σ²)
• Normal x Leptocúrtica
www.contabilidademq.blogspot.com luizfelipe@ccsa.ufpb.br 55
-5.4 -3.6 -1.8 -0.0 1.8 3.6 5.4
0.0
0.1
0.2
0.3
0.4
0.5
56. ut ∼ N(0, σ²)
• Para analisar em conjunto a hipótese de zero assimetria e zero excesso de
curtose, Bera e Jarque (1981) (mas chamamos de Jarque-Bera)
desenvolveram um teste:
1. Calculam-se os índices de assimetria e curtose (dos resíduos):
2. Calcula-se a estatística do teste (T é o tamanho da amostra):
www.contabilidademq.blogspot.com luizfelipe@ccsa.ufpb.br 56
b
E u
1
3
2 3 2
[ ]
/
b
E u
2
4
2 2
[ ]
2~
24
3
6
2
2
2
2
1
bb
TW
57. ut ∼ N(0, σ²)
• Para testar no Stata é preciso primeiro salvar os resíduos após rodar a regressão.
reg ermsoft ersandp
** Instalem o Jarque-Bera, pois ele não vem instalado
ssc install jb6
** Para saber mais sobre o teste use o comando "help"
help jb6
** Salve os resíduos em uma variável que chamaremos de "res"
predict residuos, residuals
** Avalie primeiro o histograma com a linha da normalidade
histogram residuos, normal
** Realize o teste. Faça também o Shapiro-Wilk e o SK
jb6 residuos
swilk residuos
sktest residuos
www.contabilidademq.blogspot.com luizfelipe@ccsa.ufpb.br 57
58. ut ∼ N(0, σ²)
• Provavelmente os resíduos negativos em mais de 20 (retorno negativo de
20%, já que estamos trabalhando com isso) causaram a não normalidade.
• Os retornos também ficaram muito concentrados em torno de zero.
www.contabilidademq.blogspot.com luizfelipe@ccsa.ufpb.br 58
0
.02.04.06
Density
-60 -40 -20 0 20 40
Residuals
59. ut ∼ N(0, σ²)
residuos 325 0.0000 0.0000 . 0.0000
Variable Obs Pr(Skewness) Pr(Kurtosis) adj chi2(2) Prob>chi2
joint
Skewness/Kurtosis tests for Normality
. sktest residuos
.
residuos 325 0.77326 51.863 9.304 0.00000
Variable Obs W V z Prob>z
Shapiro-Wilk W test for normal data
. swilk residuos
.
Jarque-Bera test for Ho: normality: (residuos)
Jarque-Bera normality test: 1705 Chi(2) 0
. jb6 residuos
www.contabilidademq.blogspot.com luizfelipe@ccsa.ufpb.br 59
60. ut ∼ N(0, σ²)
• Vamos analisar mais “profundamente” os resíduos, especificamente a
assimetria e a curtose:
summarize residuos, detail
www.contabilidademq.blogspot.com luizfelipe@ccsa.ufpb.br 60
99% 22.93196 30.43601 Kurtosis 13.11432
95% 17.05971 25.93606 Skewness -2.428564
90% 11.0482 25.29979 Variance 160.8552
75% 5.840436 22.93196
Largest Std. Dev. 12.68287
50% .9756916 Mean 1.23e-08
25% -3.792569 -60.2392 Sum of Wgt. 325
10% -9.76227 -60.49094 Obs 325
5% -13.93199 -64.82001
1% -60.2392 -66.5228
Percentiles Smallest
Residuals
61. ut ∼ N(0, σ²)
• O que devemos fazer quando esse pressuposto não é observado?
• Se a amostra for grande, geralmente nós recorremos ao Teorema do
Limite Central e à Lei dos Grandes Números.
• Se for um outlier e nós tivermos “background teórico” para explicar,
podemos incluir uma dummy para ele.
• Podemos utilizar modelos não paramétricos (não são o foco desta
disciplina).
• Uma maneira de identificar outliers é plotar os resíduos contra o tempo
(tsline res), usar o boxplot (graph box residuos), ou as ferramentas dos
próximos slides.
www.contabilidademq.blogspot.com luizfelipe@ccsa.ufpb.br 61
62. ut ∼ N(0, σ²)
-60-40-20
0
2040
Residuals
0 100 200 300 400
Tempo
www.contabilidademq.blogspot.com luizfelipe@ccsa.ufpb.br 62
64. ut ∼ N(0, σ²)
• Formas de se indetificar outliers (veja mais aqui):
lvr2plot, mlabel(tempo)
** tempo é a variável de tempo.
predict res_studentizado, rstudent
ssc install extremes
extremes res_studentizado
** Esse comando utilizará, por padrão, os 5 valores extremos de cada ponta
como outliers. Utilize o comando “help extremes” para ver mais detalhes.
** Caso identifique outliers e queira utilizar uma dummy (“dco”) para
controlá-los:
g dco = 0
replace dco = 1 if tempo==130
** time é a variável que eu usei para identificar os outliers. 130 porque estou
dizendo que a observação 130 é um outlier. Faço isso para cada um que eu
identificar.
www.contabilidademq.blogspot.com luizfelipe@ccsa.ufpb.br 64
65. Multicolinearidade
• Faz sentido rodar um modelo do tipo: regress “valor de mercadot” “PLt”
“Lucrot”?
• Como o Lucro do período t estará dentro do PL do período t, esse modelo
terá problemas como o nível de multicolineariade.
• A multicolinearidade nos trará problema quando duas ou mais variáveis
forem altamente correlacionadas.
www.contabilidademq.blogspot.com luizfelipe@ccsa.ufpb.br 65
66. Multicolinearidade
• Exemplo: imagine que tenhamos uma variável que é duas vezes a variável
“ersandp”.
g DoisErsand = 2*ersandp
** Estime agora o modelo abaixo
reg ermsoft ersandp DoisErsand
** Compare com o modelo anterior. Percebeu algo diferente?
** O Stata automaticamente exclui uma das variáveis problemáticas, pois
elas são perfeitamente correlacionadas
www.contabilidademq.blogspot.com luizfelipe@ccsa.ufpb.br 66
67. Multicolinearidade
_cons -.6137005 .705782 -0.87 0.385 -2.002211 .7748094
DoisErsand .662688 .0769436 8.61 0.000 .5113142 .8140618
ersandp 0 (omitted)
ermsoft Coef. Std. Err. t P>|t| [95% Conf. Interval]
Total 64085.9159 324 197.796037 Root MSE = 12.702
Adj R-squared = 0.1842
Residual 52117.0991 323 161.353248 R-squared = 0.1868
Model 11968.8168 1 11968.8168 Prob > F = 0.0000
F( 1, 323) = 74.18
Source SS df MS Number of obs = 325
note: ersandp omitted because of collinearity
. regress ermsoft ersandp DoisErsand, omitted
www.contabilidademq.blogspot.com luizfelipe@ccsa.ufpb.br 67
68. Multicolinearidade
• Como detectar problemas com multicolinearidade?
• Antes de rodar a regressão é importante rodar uma correlação, para
verificar se temos variáveis muito correlacionadas. Se tivermos
variáveis muito correlacionadas, provavelmente elas estarão medindo a
mesma coisa, não fazendo sentido a inclusão das duas no modelo.
pwcorr ermsoft ersandp DoisErsand, sig
www.contabilidademq.blogspot.com luizfelipe@ccsa.ufpb.br 68
0.0000 0.0000
DoisErsand 0.4322 1.0000 1.0000
0.0000
ersandp 0.4322 1.0000
ermsoft 1.0000
ermsoft ersandp DoisEr~d
69. Multicolinearidade
• Após rodar a regressão, podemos analisar o fator de inflação da variância
(VIF) – só faz sentido quando temos mais de 1 VI.
reg ermsoft ersandp dprod dcredit dinflation dmoney dspread rterm
estat vif
** VIF = 1 não há multicolinearidade e 1<VIF<5 há colinearidade
moderada. VIF > 5 possivelmente nos trará problemas.
** Existem livros que recomendam VIF até 10 como aceitáveis.
www.contabilidademq.blogspot.com luizfelipe@ccsa.ufpb.br 69Mean VIF 1.07
rterm 1.01 0.987415
dcredit 1.03 0.971983
ersandp 1.04 0.959549
dprod 1.07 0.936702
dmoney 1.08 0.924611
dinflation 1.09 0.915121
dspread 1.14 0.873919
Variable VIF 1/VIF
70. Multicolinearidade
• Problemas:
1. R² estará alto, mas os erros padrão serão altos também. Ou seja: a
regressão parece estar adequada, mas muitos coeficientes de variáveis
importantes não terão significância;
2. Aumenta a variância dos coeficientes e a regressão fica muito sensível
à mudanças de especificação do modelo: a adição ou remoção de
variáveis pode mudar muito o valor dos coeficientes ou a sua
significância;
www.contabilidademq.blogspot.com luizfelipe@ccsa.ufpb.br 70
71. Multicolinearidade
• Como lidar com isso:
1. Agregar as variáveis correlacionadas utilizando análise dos
componentes principais (PCA);
2. Excluir uma das variáveis problemáticas (o Stata faz isso
automaticamente, quando a multicolinearidade é perfeita);
3. Aumentar a amostra (mais empresas ou mais períodos de tempo), ou
até mesmo aumentar a frequência dos dados (e.g. de DFs anuais para
trimestrais); e
4. Se o modelo estiver OK (analisar sua sensibilidade), pode-se ignorar
o problema.
www.contabilidademq.blogspot.com luizfelipe@ccsa.ufpb.br 71
72. Forma funcional errada
• Para analisar se a forma funcional está correta, usamos o Ramsey RESET.
• O teste é feito da seguinte forma:
1. Obtem-se o R² da regressão auxiliar, com os resíduos da regressão
principal, incluindo-se componentes de ordens maiores:
2. A estatística do teste é dada da seguinte forma: T*R², com distribuição
3. Se o valor do teste for maior do que o tabulado, então rejeita-se a H0
de que a forma funcional era correta.
www.contabilidademq.blogspot.com luizfelipe@ccsa.ufpb.br 72
... u y y y vt t t p t
p
t 0 1
2
2
3
1
2
1( )p
73. Forma funcional errada
• Para testar isso no Stata, usamos o ovtest.
• Se rejeitarmos a H0 de que a forma funcional era correta, temos que
descobrir qual é a forma correta (talvez usando as ferramentas das
primeiras aulas), pois o teste não nos diz mais do que isso.
• Teste com o modelo que estamos trabalhando.
quietly regress ermsoft ersandp dprod dcredit dinflation dmoney
dspread rterm
ovtest
** Agora rode o outro modelo mais parcimonioso e compare os
resultados
quietly reg ermsoft ersandp
ovtest
www.contabilidademq.blogspot.com luizfelipe@ccsa.ufpb.br 73
74. Forma funcional errada
Prob > F = 0.5520
F(3, 313) = 0.70
Ho: model has no omitted variables
Ramsey RESET test using powers of the fitted values of ermsoft
www.contabilidademq.blogspot.com luizfelipe@ccsa.ufpb.br 74
Prob > F = 0.2736
F(3, 320) = 1.30
Modelo completo
Modelo parcimonioso
75. Estabilidade dos parâmetros
• Quando estimamos uma regressão, assumimos de forma implícita que os
parâmetros são estáveis. Porém será que são? (deem exemplos de séries e
eventos dentro dessa série que poderiam alterar a estabilidade dos
parâmetros estimados).
• Nos testes de estabilidade dos parâmetros, basicamente comparamos a
RSS do modelo completo com as RSS das duas amostras desse modelo
completo (quebramos a amostra onde achamos que houve a quebra
estrutural).
www.contabilidademq.blogspot.com luizfelipe@ccsa.ufpb.br 75
76. Estabilidade dos parâmetros
• Teste de Chow (análise de variância):
1. RSS da regressão com a amostra completa (restricted);
2. Quebrar a amostra em duas subamostras (no meio ou em um ponto
onde se acredita haver a quebra estrutural) e estimar as RSS’s dos
dois novos modelos (unrestricted);
3. Calcular a estatística F(k, T-2k):
4. Se o F calculado for maior do que o tabelado, rejeita-se a H0 de que os
parâmetros são estáveis ao longo do tempo.
www.contabilidademq.blogspot.com luizfelipe@ccsa.ufpb.br 76
RSS RSS RSS
RSS RSS
T k
k
1 2
1 2
2
77. Estabilidade dos parâmetros
• Onde, possivelmente, há uma quebra estrutural, indicando que os
parâmetros terão mudanças?
www.contabilidademq.blogspot.com luizfelipe@ccsa.ufpb.br 77
78. Estabilidade dos parâmetros
• O teste de Chow no Stata 12 é muito trabalhoso (na versão mais recente do
Stata isso melhora). Vamos utilizar o Eviews para isso.
• Para séries temporais o Eviews é melhor do que o Stata. O GRETL também
faz o teste de Chow e outros para quebra estrutural mais facilmente.
1. Estime a regressão normalmente pelo Eviews;
2. Clique em “view” “Stability diagnostics” “Chow Breakpoint
test”.
3. Escolha onde você quer dividir a amostra. Vamos usar o ponto 169
(bolha .com) e 272 (crise de 2008), neste exemplo (se quiser uma data
específica, veja em que ponto ela está).
4. Analise se há ou não quebra estrutural (instabilidade nos
parâmetros).
5. É possível, inclusive, testar mais de um ponto de quebra de uma vez.
www.contabilidademq.blogspot.com luizfelipe@ccsa.ufpb.br 78
79. Estabilidade dos parâmetros
• O que fazer se o Chow apontar instabilidade nos parâmetros?
1. Reespecificar o modelo, incluindo variáveis que controlem esse
evento;
2. Separar a amostra total em duas ou mais subamostras e estimar cada
uma separadamente (perde-se poder dos testes)
• Se o teste indicar que não há quebra, então pode-se empilhar os dados e
analisar normalmente, aumentando o poder do teste.
www.contabilidademq.blogspot.com luizfelipe@ccsa.ufpb.br 79
80. Estabilidade dos parâmetros
• O teste de Chow é usado quando nós “sabemos” o ponto da quebra.
• Caso não saibamos o ponto exato da quebra, podemos usar o Quandt
Likelihood Ratio (QLR).
• Não analisaremos ele em sala. Quem tiver interesse, leia a seção 5.12.5.
www.contabilidademq.blogspot.com luizfelipe@ccsa.ufpb.br 80
81. Estabilidade dos parâmetros
• Outra alternativa, quando não se sabe exatamente onde está a quebra, é
utilizar a estimação recursiva (recursive least squares – RLS) (é o que eu
prefiro).
• Quando é apropriado:
• Em séries de tempo; ou
• Com cross-section agrupado de forma “racional”, e.g. retornos
agrupados pelo tamanho das empresas.
• Como funciona:
• A regressão é estimada com um número mínimo de observações (k + 1),
depois é estimada a segunda regressão com k + 2 observações, até a
última regressão com T observações.
• A estimação recursiva não é bem um teste, mas nos dá uma boa base
para testar onde há quebra.
www.contabilidademq.blogspot.com luizfelipe@ccsa.ufpb.br 81
82. Estabilidade dos parâmetros
• Os recursivos mais utilizados são:
• CUSUM: baseado na soma cumulativa dos resíduos. É utilizado um
“intervalo de confiança” de +- 2 erro padrão em torno de zero. Caso um
parâmetro saia desse intervalo, consideramos evidência de
instabilidade, ou quebra estrutural.
• CUSUMSQ: é baseado na soma cumulativa dos quadrados dos
resíduos.
• Quando usar um ou o outro?
• Se a quebra for no intercepto, o CUSUM tem mais poder para captar.
• Se a quebra for em um beta ou na variância do erro, o CUSUMSQ é
melhor.
• Ver Turner (2010).
www.contabilidademq.blogspot.com luizfelipe@ccsa.ufpb.br 82
83. Estabilidade dos parâmetros
• Rode o CUSUM e o CUSUMSQ para os mesmos dados que estamos
trabalhando todos os testes.
cusum6 ermsoft ersandp
** Ele gerará os dois gráficos: CUSUM e o CUSUMSQ, ambos com um
interlavo padrão de 95% de significância.
** O comando CUSUM deve ser usado quando a variável dependente for
binária.
www.contabilidademq.blogspot.com luizfelipe@ccsa.ufpb.br 83
84. CUSUM
Tempo
CUSUM
5 326
0 0
Estabilidade dos parâmetros
• Se a quebra for no intercepto, o CUSUM tem mais poder para captar.
www.contabilidademq.blogspot.com luizfelipe@ccsa.ufpb.br 84
85. Estabilidade dos parâmetros
• Se a quebra for em um beta ou na variância do erro, o CUSUMSQ é
melhor.
www.contabilidademq.blogspot.com luizfelipe@ccsa.ufpb.br 85
CUSUMsquared
Tempo
CUSUM squared
5 326
0
1
86. Próxima aula
• PROVA
Cada aluno poderá levar uma folha de papel A4 com anotações de
apenas um lado, escrita de seu próprio punho e uma calculadora. O
aluno deverá entregar a folha com as anotações junto com a prova.
Assunto das aulas 5, 6 e 7 (mas é preciso uma base de todo o curso).
www.contabilidademq.blogspot.com luizfelipe@ccsa.ufpb.br 86
87. Fiquem atentos às datas mais próximas!!
• SEMINÁRIO I e LABORATÓRIO I:
Os alunos receberão algumas bases de dados para praticar com todas as
ferramentas apresentadas até o momento. Deverão entregar um relatório
com os resultados obtidos (2 horas).
As duplas terão até 15 minutos para apresentar um artigo empírico
publicado em um top journal.
• SEMINÁRIO II:
Devem entregar o problema de pesquisa, justificativa, referencial teórico e
proposta de metodologia do artigo que será desenvolvido para a disciplina,
bem como fazer a sua apresentação.
www.contabilidademq.blogspot.com luizfelipe@ccsa.ufpb.br 87
88. Estudo de caso: multicolinearidade
• Veja no artigo de Botosan e Plumlee (2002), “A re-examination of
disclosure and expected cost of capital” (página 36, a partir do 2º
parágrafo):
1. Como elas “encontraram” possíveis evidências de
multicolinearidade?
2. Como foi que elas tentaram “remediar” o problema?
3. Você acredita que a alta correlação entre as variáveis gerou um
problema no modelo 1? Por que sim ou por que não?
www.contabilidademq.blogspot.com luizfelipe@ccsa.ufpb.br 88
89. Questões
1. O que é um modelo dinâmico?
2. Diferencie os “distributed lag models” dos “autoregressive distributed lag models”.
3. Por que os lags podem ser úteis no tratamento da autocorrelação? Explique os 2
motivos apresentados por Brooks, além dos outros 3 motivos seguintes que não
são resolvidos pela inclusão de lags.
4. A inclusão de lags pode resolver um problema, porém pode trazer outros.
Explique os problemas relacionados com a inclusão de lags no modelo.
5. É possível haver autocorrelação em uma amostra cross-section? Explique o
porquê.
6. O que deve ser feito, caso os resíduos não sejam normalmente distribuídos?
7. O que diz o Teorema do Limite Central e a Lei dos Grandes Números?
8. Diferencie a multicolinearidade perfeita da quase perfeita e apresente os
problemas trazidos por elas.
9. Qual é o problema de se incluir uma variável irrelevante no modelo e de omitir
uma variável importante?
www.contabilidademq.blogspot.com luizfelipe@ccsa.ufpb.br 89
90. Recomendação de leitura
• ECHAMBADI, Raj; HESS, James D. Mean-centering does not alleviate
collinearity problems in moderated multiple regression
models. Marketing Science, v. 26, n. 3, p. 438-445, 2007.
• KENNEDY, P.E. Oh no! I got the wrong sign! What should I do? The
Journal of Economic Education, v.36, n.1, 2005.
• TURNER, P.M. Power Properties of the CUSUM and CUSUMSQ Tests for
Parameter Instability. Applied Economics Letters, 17, 2010.
www.contabilidademq.blogspot.com luizfelipe@ccsa.ufpb.br 90
91. Recomendação de leitura
• Como se diz “heterocedasticidade” em inglês?
http://contabilidademq.blogspot.com/2017/03/hetero-o-que-
heteroscedasticity-versus-Heteroskedasticity.html
• Sobre os sinais “errados” na regressão
http://contabilidademq.blogspot.com.br/2016/04/oh-nao-meus-coeficientes-
da-regressao1111.html
www.contabilidademq.blogspot.com luizfelipe@ccsa.ufpb.br 91
92. Como trabalhar com datas no Stata
• ** O primeiro passo é copiar os dados da planilha para o Stata. Por algum motivo os
procedimentos que adotaremos aqui não estão dando certo quando importo a planilha, apenas
quando copio.
• ** O segundo passo é converter a data em uma maneira que o Stata possa ler
• gen date2 = date(date, "MDY")
• ** Agora que convertemos a variável date em um estilo que o Stata entende (chamado agora
de date2), podemos retransformar em uma forma que nós dois (eu e o Stata) consigamos ler
• ** Você pode fazer isso pelos botões também, indo na planilha do Stata (Data Editor) -->
clicando na variável que você quer ajustar (date2) --> clica nos 3 pontinhos do "Format" -->
escolhe o ajuste que você quer
• format %tdMonth_dd,_CCYY date2
• ** Agora vamos informar ao Stata que os nossos dados são uma série temporal
• tsset date2, daily
• ** O problema é que nossa série temporal tem alguns buracos (gaps). Temos que preenchê-los
para evitar alguns problemas no Stata
• tsfill
www.contabilidademq.blogspot.com luizfelipe@ccsa.ufpb.br 92
93. Para ter acesso a mais
conteúdos, acesse:
• Blogs
www.ContabilidadeMQ.blogspot.com
www.FinancasAplicadasBrasil.blogspot.com
• Facebook:
www.facebook.com/ContabilidadeMQ
• Twitter:
www.twitter.com/ContabilidadeMQ
• YouTube:
www.youtube.com/FelipePontes16
93