Monitoria Sessão 8. Verônica Santana FEA-USP 23/05/2017

Documentos relacionados
Monitoria Sessão 4. Verônica Santana FEA-USP 25/04/2017

Monitoria Sessão 6. Verônica Santana FEA-USP 10/05/2017

Introdução Regressão linear Regressão de dados independentes Regressão não linear. Regressão. Susana Barbosa

Teste F-parcial 1 / 16

Teste F-parcial 1 / 16

Análise de dados em Geociências

ANOVA com modelos encaixados

BIE5782. Unidade 7: INTRODUÇÃO AOS MODELOS LINEARES

Segundo Trabalho de Econometria 2009

Testes de cointegração

Gabarito Lista 2 LES0773 Estatística III. Os resultados dessa regressão são apresentados na seguinte tabela:

Gabarito Trabalho 2. Variable Coefficient Std. Error t-statistic Prob.

Nome: Turma: Processo

ME613 - Análise de Regressão

Regression and Clinical prediction models

Análise de Carteiras usando o R - Parte 6

Testes de raiz unitária

Análise de convergência de renda entre os municípios do Maranhão. Carlos Fernando Quartaroli

Regression and Clinical prediction models

BIE5782 Uso da Linguagem R para Análise de Dados em Ecologia

MRLM COM COVARIÁVEIS CATEGÓRICAS. criar uma variável dummy para representar uma categoria da variável. variável dummy: assume só dois valores: 0 ou 1

b) Teste a hipótese de efeito significante do tamanho da população sobre a venda do produto, na presença de renda per capita

Econometria Aplicada com uso do R

Regressão linear múltipla

UNIVERSIDADE FEDERAL DO RIO GRANDE Instituto de Matemática, Estatística e Física Programa de Pós-Graduação em Modelagem Computacional

Monitoria Sessão 10. Verônica Santana FEA-USP 06/06/2017

Nome: Turma: Processo

INTRODUÇÃO A ECONOMETRIA

Monitoria Econometria II REC o Semestre 2015 Monitor(a):Victória Mazás Martinez 3 a Lista de exercícios - Dados em painel

BIOESTATÍSTICA. Análise de regressão

Precificação de apartamentos para o bairro Água Verde em Curitiba

UNIVERSIDADE FEDERAL DA FRONTEIRA SUL Campus CERRO LARGO. PROJETO DE EXTENSÃO Software R: de dados utilizando um software livre.

LES0773 Estatística Aplicada III

Capacitação em R e RStudio PROJETO DE EXTENSÃO. Software R: capacitação em análise estatística de dados utilizando um software livre.

Modelos Lineares Generalizados

Análise Multivariada Aplicada à Contabilidade

CE062c José Luiz Padilha da Silva e Cesar Augusto Taconeli 13 de setembro de 2018

AULA 17 - Variáveis binárias

Séries Temporais e Modelos Dinâmicos. Econometria. Marcelo C. Medeiros. Aula 9

AULA 03 Análise de regressão múltipla: estimação

FACULDADE DE ECONOMIA DO PORTO. Licenciatura em Economia E C O N O M E T R I A II

Capítulo 3. O Modelo de Regressão Linear Simples: Especificação e Estimação

UNIVERSDADE AGOSTINHO NETO FACULDADE DE ECONOMIA. Maio 2018 Aula 7

FACULDADE DE ECONOMIA DO PORTO. Curso de Mestrado em Economia MÉTODOS ECONOMÉTRICOS (ECON703)

Regression and Clinical prediction models

1 AULA 3 - MODELO DE REGRESSÃO LINEAR

ANÁLISE ECONOMÉTRICA DO CONSUMO DE CARNE BOVINA NA REGIÃO METROPOLITANA DE BELÉM UTILIZADO O SOFTWARE EVIEWS 3.0.

Estatística II Licenciatura em Gestão. Parte I

MEDIÇÃO DA QUALIDADE DO VINHO BRANCO NORTE PORTUGUÊS

Análise de dados usando R - BE180

Variável dependente Variável independente Coeficiente de regressão Relação causa-efeito

AULAS 17 E 18 Análise de regressão múltipla: estimação

AMOSTRAGEM COMPLEXA. Bases de Dados IAN-AF Tutorial para análise ponderada recorrendo aos softwares SPSS e R

Relatório do Experimento 1 Sistema Massa - Mola. Fernando Henrique Ferraz Pereira da Rosa

Ensaio Clínico de Contraceptivos José Luiz Padilha da Silva 24 de outubro de 2018

Análise de Regressão Linear no Pacote R

AULAS 25 E 26 Heteroscedasticidade

RELACÃO DO CRIME EM CIDADES PEQUENAS COM CUSTO, IDADE E ANOS DE ESTUDO DE ESTADOS DA AMERICA DO NORTE

Correlação Serial e Heterocedasticidade em Regressões de Séries Temporais. Wooldridge, Cap. 12

ECONOMETRIA I. I (12 valores)

Exemplos Estimadores GLS e GEE José Luiz Padilha da Silva 15 de agosto de 2018

Lista de Exercicios 3

Estatística II Licenciatura em Gestão TESTE I

UNIVERSIDADE FEDERAL DO PARANÁ FERNANDO PALU DE SOUZA KAITTER GARCIA RODRIGO ALVES SILVA

RESUMO DO CAPÍTULO 3 DO LIVRO DE WOOLDRIDGE ANÁLISE DE REGRESSÃO MÚLTIPLA: ESTIMAÇÃO

Prova de Estatística

Estimação de Variáveis Instrumentais e Mínimos Quadrados de Dois Estágios. Wooldridge, Cápítulo 15

4 Modelos de Regressão Dinâmica

Modelos de Regressão Múltipla - Parte VII

Análise da Regressão múltipla: MQO Assintótico y = β 0 + β 1 x 1 + β x +... β k x k + u 3. Propriedades assintóticas Antes, propriedades sobre amostra

ECONOMETRIA I. I (11 valores)

ANÁLISE DE SOBREVIVÊNCIA Teoria e aplicações em saúde. Caderno de Respostas Capítulo 9. Funções de suavização

Constipação José Luiz Padilha da Silva 21 de outubro de 2018

Licenciaturas em Economia e em Finanças Econometria ER 26/06/2015 Duração 2 horas

Econometria Semestre

Teste de Homocedasticidade.

Revisão do MRLM - Análise "Cross-Section"

Econometric Game 2017 Efeito de Presença de Delegacia da Mulher nos municípios brasileiros sobre índices de violência: Solução Proposta

RELAÇÃO ENTRE EXPECTATIVA DE VIDA E CARACTERÍSTICAS DOS ESTADOS NORTE-AMERICANOS ENTRE OS ANOS DE 1969 E 1970

ANÁLISE DE REGRESSÃO. Ralph S. Silva. Departamento de Métodos Estatísticos Instituto de Matemática Universidade Federal do Rio de Janeiro

Análise Multivariada Aplicada à Contabilidade

5 Metodologia e Resultados 5.1. Metodologia

Nome: Número: Espaço reservado para classificações

ANÁLISE EXPLORATÓRIA DO CONSUMO PER CAPITA DE ÁGUA RESIDENCIAL E RENDA PER CAPITA, EM UM SETOR DE ABASTECIMENTO DE ÁGUA.

MÉTODOS QUANTITATIVOS APLICADOS

1 AULA 5 - REGRESSÃO LOGÍSTICA BINOMIAL

Avaliação do conteúdo de potássio em grãos de soja em função dos níveis de água a potássio aplicados

AULA 13 Análise de Regressão Múltipla: MQO Assimptótico

Regressão linear múltipla. Regressão linear múltipla

Tabela 1 - Teste de Dickey-Fuller para série log-preço futuro. Teste ADF 0, ,61% Tabela 2 - Teste de Dickey-Fuller para série log-preço à vista

Modelos de Escolha Discreta. a)pretende-se conhecer os coeficientes da função de utilidade, assim como a sua significância estatística.

FACULDADE DE ECONOMIA DO PORTO. Licenciatura em Economia E C O N O M E T R I A II

AULA 11 Teste de Hipótese

Modelo Linear Generalizado Distribuição de Poisson

Correlação e Regressão

Notas de Aulas Econometria I ** Eduardo P. Ribeiro, 2011 PARTE II

Exame de Recorrência de Métodos Estatísticos. Departamento de Matemática Universidade de Aveiro

AVALIAÇÃO E SELEÇÃO DE AJUSTES DE MODELOS DE REGRESSÃO LINEAR SIMPLES E MÚLTIPLA

Econometria. Séries Temporais Lista de Exercícios

Transcrição:

Monitoria Sessão 8 Verônica Santana FEA-USP 23/05/2017 1 Modelos de Dados em Painel dados <- read.csv("dadosfull.csv", header = T, sep=";") head(dados, 3) Ticker Year Country Industry Law CA CL Cash STD Dep TA Rev 1 ASX:1PG 2005 Australia SIC:Mining CommonLaw NA NA NA NA NA NA NA 2 ASX:1PG 2006 Australia SIC:Mining CommonLaw NA NA NA NA NA NA NA 3 ASX:1PG 2007 Australia SIC:Mining CommonLaw NA NA NA NA NA NA NA Rec PPE NetInc OpInc MktCap Equity TDebt CFO CreditSize TAcc X1 X2 X3 1 NA NA NA NA NA NA NA NA 108.80495 NA NA NA NA 2 NA NA NA NA NA NA NA NA 113.78558 NA NA NA NA 3 NA NA NA NA NA NA NA NA 83.82487 NA NA NA NA ROA MTB SIZE LEV LOSS 1 NA NA NA NA 0 2 NA NA NA NA 0 3 NA NA NA NA 0 # Vendo os setores disponíveis na base de dados: summary(dados$industry) SIC:Agriculture SIC:Construction SIC:Finance SIC:Manufacturing 120 360 5670 3710 SIC:Mining SIC:PublicUtil SIC:Retail SIC:Services 1330 1260 980 2680 SIC:Wholesale 340 dados <- subset(dados, Industry!="SIC:Finance") # O Símbolo "!=" significa "diferente". dadoslimpos <- na.omit(dados) modacc <- lm(tacc ~ X1 + X2 + X3-1 + factor(industry) + factor(year), data=dadoslimpos) # Como eliminamos as observaç~oes NA, n~ao há porqu^e incluirmos o comando # "na.action = na.exclude". summary(modacc) 1

Call: lm(formula = TAcc ~ X1 + X2 + X3-1 + factor(industry) + factor(year), data = dadoslimpos) Residuals: Min 1Q Median 3Q Max -37.130-0.112 0.025 0.162 76.852 Coefficients: Estimate Std. Error t value Pr(> t ) X1 1.281516 0.013974 91.706 < 2e-16 X2 0.002606 0.001347 1.934 0.053104 X3-0.415426 0.003736-111.184 < 2e-16 factor(industry)sic:agriculture -0.189192 0.150127-1.260 0.207631 factor(industry)sic:construction -0.279312 0.086899-3.214 0.001314 factor(industry)sic:manufacturing -0.196236 0.049536-3.961 7.52e-05 factor(industry)sic:mining -0.266907 0.059860-4.459 8.36e-06 factor(industry)sic:publicutil -0.293127 0.059529-4.924 8.65e-07 factor(industry)sic:retail -0.348049 0.065205-5.338 9.68e-08 factor(industry)sic:services -0.283177 0.052748-5.369 8.17e-08 factor(industry)sic:wholesale -0.290060 0.088463-3.279 0.001047 factor(year)2007-0.046968 0.063929-0.735 0.462548 factor(year)2008 0.181577 0.063715 2.850 0.004386 factor(year)2009 0.218271 0.063370 3.444 0.000575 factor(year)2010 0.168411 0.062589 2.691 0.007145 factor(year)2011 0.016298 0.061989 0.263 0.792621 factor(year)2012 0.236498 0.061840 3.824 0.000132 factor(year)2013 0.225439 0.061244 3.681 0.000234 factor(year)2014 0.186138 0.060359 3.084 0.002051 X1 *** X2. X3 *** factor(industry)sic:agriculture factor(industry)sic:construction ** factor(industry)sic:manufacturing *** factor(industry)sic:mining *** factor(industry)sic:publicutil *** factor(industry)sic:retail *** factor(industry)sic:services *** factor(industry)sic:wholesale ** factor(year)2007 factor(year)2008 ** factor(year)2009 *** factor(year)2010 ** factor(year)2011 factor(year)2012 *** factor(year)2013 *** factor(year)2014 ** --- Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1 Residual standard error: 1.234 on 7563 degrees of freedom Multiple R-squared: 0.8475,Adjusted R-squared: 0.8471 F-statistic: 2212 on 19 and 7563 DF, p-value: < 2.2e-16 dadoslimpos$ada <- abs(resid(modacc)) 2

head(dadoslimpos[,24:ncol(dadoslimpos)]) X2 X3 ROA MTB SIZE LEV LOSS 19 0.123170732 0.0304878 0.09979036 36.510949 3.8649314 0.005890985 0 22 0.000000000 0.8000000-0.13595506 5.681818 0.5766134 0.000000000 1 23 0.000000000 0.5617978-0.25843750 1.837580 1.1631508 0.000000000 1 24 1.539452496 0.1610306-0.28612717 2.017857 2.8507065 0.000000000 1 26 0.413815789 0.6578947-0.45618557 6.229508 1.3558352 0.000000000 1 27 0.007222222 0.5555556-0.51052632 1.895833 0.4187103 0.000000000 1 ADA 19 0.9275965 22 0.6006928 23 0.4970433 24 0.2071220 26 0.2833894 27 0.2921589 Para as estimações usaremos o pacote plm: # install.packages("plm") library(plm) Loading required package: Formula Precisamos criar uma nova base no formato de painel, isto é, definindo a variável que define os indivíduos i (Ticker) e o período de tempo t (Year, no nosso caso), nesta ordem: Dados <- plm.data(dadoslimpos, c("ticker", "Year")) head(dados, 3) Ticker Year Country Industry Law CA CL Cash STD 19 ASX:3PL 2014 Australia SIC:Services CommonLaw 30.800 39.600 23.100 0 22 ASX:88E 2006 Australia SIC:Mining CommonLaw 0.799 0.020 0.751 0 23 ASX:88E 2007 Australia SIC:Mining CommonLaw 3.200 0.065 3.140 0 Dep TA Rev Rec PPE NetInc OpInc MktCap Equity TDebt CFO 19 1.84 47.70 34.400 5.020 4.04 4.760 5.810 250.10 6.85 0.281 17.100 22 0.00 1.78 0.064 0.047 0.00-0.242-0.242 10.00 1.76 0.000-0.265 23 0.00 3.20 0.122 0.061 0.00-0.827-0.613 5.77 3.14 0.000-0.302 CreditSize TAcc X1 X2 X3 ROA 19 129.63830-0.74512195 0.2277439 0.1231707 0.0304878 0.09979036 22 113.78558 0.02400000 0.0176000 0.0000000 0.8000000-0.13595506 23 83.82487-0.01853933 0.0247191 0.0000000 0.5617978-0.25843750 MTB SIZE LEV LOSS ADA 19 36.510949 3.8649314 0.005890985 0 0.9275965 22 5.681818 0.5766134 0.000000000 1 0.6006928 23 1.837580 1.1631508 0.000000000 1 0.4970433 1.1 Modelos de Efeitos Fixos Quando Cov(x it, c i ) 0, devemos usar um modelo de Efeitos Fixos ou Primeiras Diferenças. A lógica dos modelos de efeitos fixos é controlar pelas características dos indíviduos que são constantes no tempo, 3

c i, através do demeaning: ADA it = β 0 + β 1 ROA it + β 2 MT B it + β 3 SIZE it + β 4 LEV it + β 5 CF O it + β 6 LOSS it + c i + u it, (ADA it ADA i ) = β 0 (1 1) + β 1 (ROA it ROA i ) + β 2 (MT B it MT B i ) + β 3 (SIZE it SIZE i )+ + β 4 (LEV it LEV i ) + β 5 (CF O it CF O i ) + β 6 (LOSS it LOSS i ) + (c i c) + (u it u it ); ADA it = β 1 ROA it + β 2 MT B it + β 3 SIZE it + β 4 LEV it + β 5 CF O it + β 6 LOSS + ü it. Para estimar o modelo, usamos o argumento model = "within": mod_fe <- plm(ada ~ ROA + MTB + SIZE + LEV + CFO + LOSS, model = "within", data = Dados) summary(mod_fe) Oneway (individual) effect Within Model Call: plm(formula = ADA ~ ROA + MTB + SIZE + LEV + CFO + LOSS, data = Dados, model = "within") Unbalanced Panel: n=1000, T=1-9, N=7582 Residuals : Min. 1st Qu. Median 3rd Qu. Max. -15.179491-0.116913-0.027811 0.072353 60.875939 Coefficients : Estimate Std. Error t-value Pr(> t ) ROA 8.2883e-02 1.8176e-02 4.5601 5.206e-06 *** MTB 9.2341e-05 4.3029e-04 0.2146 0.8300845 SIZE -1.1487e-01 2.9731e-02-3.8637 0.0001128 *** LEV -1.1947e-01 3.1423e-02-3.8020 0.0001448 *** CFO -5.0886e-06 1.9762e-05-0.2575 0.7968007 LOSS -1.3519e-01 4.8442e-02-2.7907 0.0052741 ** --- Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1 Total Sum of Squares: 8565.2 Residual Sum of Squares: 8496.9 R-Squared: 0.0079729 Adj. R-Squared: -0.14364 F-statistic: 8.80857 on 6 and 6576 DF, p-value: 1.376e-09 Que gera exatamente o mesmo resultado que OLS com uma dummy para cada empresa: mod_fe2 <- lm(ada ~ ROA + MTB + SIZE + LEV + CFO + LOSS + factor(ticker), data = Dados) # summary(mod_fe2) summary(mod_fe2)$coefficients[c("roa","mtb","size","lev","cfo","loss"),] Estimate Std. Error t value Pr(> t ) ROA 8.288299e-02 1.817579e-02 4.5600750 5.206179e-06 MTB 9.234076e-05 4.302889e-04 0.2146018 8.300845e-01 SIZE -1.148705e-01 2.973090e-02-3.8636735 1.127684e-04 LEV -1.194716e-01 3.142326e-02-3.8020123 1.448240e-04 CFO -5.088630e-06 1.976165e-05-0.2575002 7.968007e-01 LOSS -1.351880e-01 4.844178e-02-2.7907312 5.274071e-03 4

Com erros padrão-robustos: library(lmtest) library(sandwich) coeftest(mod_fe, vcov=vcovhc(mod_fe, type="hc1")) t test of coefficients: Estimate Std. Error t value Pr(> t ) ROA 8.2883e-02 1.0908e-01 0.7598 0.44737 MTB 9.2341e-05 5.0328e-04 0.1835 0.85443 SIZE -1.1487e-01 5.9783e-02-1.9214 0.05472. LEV -1.1947e-01 2.3022e-02-5.1895 2.172e-07 *** CFO -5.0886e-06 5.5322e-06-0.9198 0.35770 LOSS -1.3519e-01 1.1073e-01-1.2209 0.22218 --- Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1 Uma opção interessante de obter erros padrão robustos tanto à heteroscedasticidade quanto à autocorrelação é pelo método de Arellano (1987) 1 : coeftest(mod_fe, vcovhc(mod_fe, method="arellano", type="hc1")) t test of coefficients: Estimate Std. Error t value Pr(> t ) ROA 8.2883e-02 1.0908e-01 0.7598 0.44737 MTB 9.2341e-05 5.0328e-04 0.1835 0.85443 SIZE -1.1487e-01 5.9783e-02-1.9214 0.05472. LEV -1.1947e-01 2.3022e-02-5.1895 2.172e-07 *** CFO -5.0886e-06 5.5322e-06-0.9198 0.35770 LOSS -1.3519e-01 1.1073e-01-1.2209 0.22218 --- Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1 Finalmente, é sempre interessante incluir dummies de tempo nos modelos de dados em painel: mod_fe3 <- plm(ada ~ ROA + MTB + SIZE + LEV + CFO + LOSS + factor(year), model = "within", data = Dados) summary(mod_fe3) Oneway (individual) effect Within Model Call: plm(formula = ADA ~ ROA + MTB + SIZE + LEV + CFO + LOSS + factor(year), data = Dados, model = "within") Unbalanced Panel: n=1000, T=1-9, N=7582 Residuals : 1 Arellano M (1987). Computing Robust Standard Errors for Within Group Estimators. Oxford Bulletin of Economics and Statistics, 49, 431-434. 5

Min. 1st Qu. Median 3rd Qu. Max. -15.281265-0.125236-0.023722 0.080239 60.892035 Coefficients : Estimate Std. Error t-value Pr(> t ) ROA 7.7604e-02 1.8234e-02 4.2559 2.111e-05 *** MTB 9.6889e-05 4.3010e-04 0.2253 0.8217769 SIZE -8.0023e-02 3.3862e-02-2.3632 0.0181456 * LEV -1.1856e-01 3.1444e-02-3.7707 0.0001642 *** CFO -5.9130e-06 1.9775e-05-0.2990 0.7649453 LOSS -1.2056e-01 4.8884e-02-2.4664 0.0136748 * factor(year)2007 2.7336e-02 5.9661e-02 0.4582 0.6468368 factor(year)2008 1.8115e-02 6.0105e-02 0.3014 0.7631312 factor(year)2009-2.8921e-02 6.0084e-02-0.4813 0.6302917 factor(year)2010-8.7418e-03 6.0024e-02-0.1456 0.8842097 factor(year)2011 2.8234e-02 6.1152e-02 0.4617 0.6443084 factor(year)2012-1.6809e-02 6.1736e-02-0.2723 0.7854241 factor(year)2013-1.3887e-01 6.1615e-02-2.2538 0.0242402 * factor(year)2014-1.1418e-01 6.2210e-02-1.8354 0.0664922. --- Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1 Total Sum of Squares: 8565.2 Residual Sum of Squares: 8474 R-Squared: 0.01064 Adj. R-Squared: -0.14195 F-statistic: 5.04513 on 14 and 6568 DF, p-value: 1.6897e-09 coeftest(mod_fe3, vcovhc(mod_fe3, method="arellano", type="hc1")) t test of coefficients: Estimate Std. Error t value Pr(> t ) ROA 7.7604e-02 1.0920e-01 0.7107 0.47732 MTB 9.6889e-05 5.0839e-04 0.1906 0.84886 SIZE -8.0023e-02 8.6674e-02-0.9233 0.35591 LEV -1.1856e-01 2.5077e-02-4.7280 2.315e-06 *** CFO -5.9130e-06 5.6684e-06-1.0431 0.29692 LOSS -1.2056e-01 1.1710e-01-1.0296 0.30323 factor(year)2007 2.7336e-02 3.7906e-02 0.7211 0.47085 factor(year)2008 1.8115e-02 5.9482e-02 0.3045 0.76073 factor(year)2009-2.8921e-02 6.2643e-02-0.4617 0.64433 factor(year)2010-8.7418e-03 6.7892e-02-0.1288 0.89755 factor(year)2011 2.8234e-02 7.5395e-02 0.3745 0.70805 factor(year)2012-1.6809e-02 1.4403e-01-0.1167 0.90710 factor(year)2013-1.3887e-01 7.0475e-02-1.9705 0.04883 * factor(year)2014-1.1418e-01 7.4046e-02-1.5420 0.12311 --- Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1 6

1.2 Modelos de Primeiras Diferenças Os modelos de primeiras diferenças também eliminam o efeito não observado c i : ADA it = β 0 + β 1 ROA it + β 2 MT B it + β 3 SIZE it + β 4 LEV it + β 5 CF O it + β 6 LOSS it + c i + u it, ADA it ADA i,t 1 = β 0 (1 1) + β 1 (ROA it ROA i,t 1 ) + β 2 (MT B it MT B i,t 1 ) + β 3 (SIZE it SIZE i,t 1 )+ + β 4 (LEV it LEV i,t 1 ) + β 5 (CF O it CF O i,t 1 ) + β 6 (LOSS it LOSS i,t 1 )+ + (c i c i ) + (u it u i,t 1 ); ADA it = β 1 ROA it + β 2 MT B it + β 3 SIZE it + β 4 LEV it + β 5 CF O it + β 6 LOSS it + u it. mod_fd <- plm(ada ~ ROA + MTB + SIZE + LEV + CFO + LOSS, model = "fd", data = Dados) summary(mod_fd) Oneway (individual) effect First-Difference Model Call: plm(formula = ADA ~ ROA + MTB + SIZE + LEV + CFO + LOSS, data = Dados, model = "fd") Unbalanced Panel: n=1000, T=1-9, N=7582 Observations used in estimation: 6582 Residuals : Min. 1st Qu. Median 3rd Qu. Max. -75.701333-0.106444 0.038465 0.162634 40.075935 Coefficients : Estimate Std. Error t-value Pr(> t ) (intercept) -5.4475e-02 1.9628e-02-2.7754 0.005528 ** ROA 9.7821e-02 2.1545e-02 4.5404 5.715e-06 *** MTB -3.3377e-06 3.8984e-04-0.0086 0.993169 SIZE 1.5941e-01 5.8699e-02 2.7158 0.006629 ** LEV -6.7046e-01 2.8629e-02-23.4186 < 2.2e-16 *** CFO -1.2873e-05 2.3113e-05-0.5570 0.577566 LOSS -1.3526e-01 5.1407e-02-2.6311 0.008530 ** --- Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1 Total Sum of Squares: 16969 Residual Sum of Squares: 15403 R-Squared: 0.092318 Adj. R-Squared: 0.091489 F-statistic: 111.454 on 6 and 6575 DF, p-value: < 2.22e-16 coeftest(mod_fd, vcov=vcovhc(mod_fd, type="hc1")) t test of coefficients: Estimate Std. Error t value Pr(> t ) (intercept) -5.4475e-02 1.5504e-02-3.5135 0.0004452 *** ROA 9.7821e-02 1.1014e-01 0.8882 0.3744803 MTB -3.3377e-06 3.2797e-04-0.0102 0.9918804 7

SIZE 1.5941e-01 1.3244e-01 1.2037 0.2287604 LEV -6.7046e-01 5.1504e-02-13.0178 < 2.2e-16 *** CFO -1.2873e-05 6.3411e-06-2.0302 0.0423793 * LOSS -1.3526e-01 1.1872e-01-1.1393 0.2546354 --- Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1 coeftest(mod_fd, vcovhc(mod_fd, method="arellano", type="hc1")) t test of coefficients: Estimate Std. Error t value Pr(> t ) (intercept) -5.4475e-02 1.5504e-02-3.5135 0.0004452 *** ROA 9.7821e-02 1.1014e-01 0.8882 0.3744803 MTB -3.3377e-06 3.2797e-04-0.0102 0.9918804 SIZE 1.5941e-01 1.3244e-01 1.2037 0.2287604 LEV -6.7046e-01 5.1504e-02-13.0178 < 2.2e-16 *** CFO -1.2873e-05 6.3411e-06-2.0302 0.0423793 * LOSS -1.3526e-01 1.1872e-01-1.1393 0.2546354 --- Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1 E incluindo dummies de tempo: mod_fd2 <- plm(ada ~ ROA + MTB + SIZE + LEV + CFO + LOSS + factor(year), model = "fd", data = Dados) summary(mod_fd2) Oneway (individual) effect First-Difference Model Call: plm(formula = ADA ~ ROA + MTB + SIZE + LEV + CFO + LOSS + factor(year), data = Dados, model = "fd") Unbalanced Panel: n=1000, T=1-9, N=7582 Observations used in estimation: 6582 Residuals : Min. 1st Qu. Median 3rd Qu. Max. -75.587629-0.092588 0.048762 0.175587 38.094845 Coefficients : Estimate Std. Error t-value Pr(> t ) (intercept) -1.3615e+00 1.4092e-01-9.6617 < 2.2e-16 *** ROA 9.5844e-02 2.1415e-02 4.4756 7.749e-06 *** MTB -1.0644e-04 3.8767e-04-0.2746 0.7836585 SIZE 1.9996e-01 6.0447e-02 3.3080 0.0009447 *** LEV -7.2214e-01 2.9001e-02-24.9003 < 2.2e-16 *** CFO -1.3266e-05 2.2996e-05-0.5769 0.5640437 LOSS -1.3250e-01 5.1444e-02-2.5756 0.0100294 * factor(year)2007 1.2661e+00 1.4933e-01 8.4782 < 2.2e-16 *** factor(year)2008 2.5738e+00 2.8457e-01 9.0445 < 2.2e-16 *** factor(year)2009 3.8609e+00 4.1800e-01 9.2365 < 2.2e-16 *** factor(year)2010 5.1408e+00 5.5278e-01 9.2999 < 2.2e-16 *** 8

factor(year)2011 6.5086e+00 6.8874e-01 9.4500 < 2.2e-16 *** factor(year)2012 7.7482e+00 8.2576e-01 9.3832 < 2.2e-16 *** factor(year)2013 8.9634e+00 9.6277e-01 9.3100 < 2.2e-16 *** factor(year)2014 1.0317e+01 1.1010e+00 9.3700 < 2.2e-16 *** --- Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1 Total Sum of Squares: 16969 Residual Sum of Squares: 15181 R-Squared: 0.10535 Adj. R-Squared: 0.10344 F-statistic: 55.235 on 14 and 6567 DF, p-value: < 2.22e-16 coeftest(mod_fd2, vcovhc(mod_fd2, method="arellano", type="hc1")) t test of coefficients: Estimate Std. Error t value Pr(> t ) (intercept) -1.3615e+00 8.6298e-01-1.5777 0.11468 ROA 9.5844e-02 1.0674e-01 0.8979 0.36926 MTB -1.0644e-04 3.4286e-04-0.3104 0.75623 SIZE 1.9996e-01 1.1658e-01 1.7152 0.08636. LEV -7.2214e-01 7.8629e-02-9.1841 < 2e-16 *** CFO -1.3266e-05 6.2649e-06-2.1175 0.03426 * LOSS -1.3250e-01 1.1632e-01-1.1390 0.25473 factor(year)2007 1.2661e+00 8.6082e-01 1.4708 0.14139 factor(year)2008 2.5738e+00 1.7494e+00 1.4713 0.14126 factor(year)2009 3.8609e+00 2.6206e+00 1.4733 0.14072 factor(year)2010 5.1408e+00 3.4830e+00 1.4760 0.14000 factor(year)2011 6.5086e+00 4.3706e+00 1.4892 0.13649 factor(year)2012 7.7482e+00 5.2597e+00 1.4731 0.14076 factor(year)2013 8.9634e+00 6.0361e+00 1.4849 0.13761 factor(year)2014 1.0317e+01 6.8903e+00 1.4973 0.13437 --- Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1 1.3 Testes 1.3.1 Testes de Autocorrelação nos resíduos A diferença entre os modelos Fixed-Effects e First-Differences é a premissa a respeito da autocorrelação do termo de erro. Sob FE.3, u it é homoscedástico e não autocorrelacionado, e o estimador FE será o mais eficiente. Sob FD.3, a primeira diferença dos erros é homoscedástica e não autocorrelacionada, o que implica que u it é um passeio aleatório (o extremo oposto de ausência de autocorrelação), e o estimador FD será o mais eficiente. Quando T = 2, os dois estimadores geram exatamente os mesmos resultados. Veja, por exemplo, os resultados usando apenas os anos de 2010 e 2011: dadoslimpos2 <- subset(dadoslimpos, Year==2010 Year==2011) head(dadoslimpos2[,1:15],4) Ticker Year Country Industry Law CA CL Cash 9

26 ASX:88E 2010 Australia SIC:Mining CommonLaw 2.27 0.22 2.20 29 ASX:88E 2011 Australia SIC:Mining CommonLaw 1.88 1.14 1.49 33 ASX:AAC 2011 Australia SIC:Manufacturing CommonLaw 244.50 91.50 24.00 35 ASX:AAC 2010 Australia SIC:Manufacturing CommonLaw 213.40 125.70 17.40 STD Dep TA Rev Rec PPE NetInc 26 0.0 0.049 3.88 0.098 0.070 0.629-1.770 29 0.0 0.385 6.21 0.096 0.285 3.390-5.420 33 56.4 8.390 1192.20 381.900 21.200 696.300 10.800 35 87.7 8.320 1097.90 327.200 15.400 679.900 0.925 tail(dadoslimpos2[,1:13],4) Ticker Year Country Industry Law CA CL 16434 SNSE:VAPORES 2010 Chile SIC:PublicUtil FrenchLaw 1415.1 957.7 16440 SNSE:VAPORES 2011 Chile SIC:PublicUtil FrenchLaw 854.6 1547.0 16442 SNSE:VSPT 2011 Chile SIC:Manufacturing FrenchLaw 212.4 102.5 16445 SNSE:VSPT 2010 Chile SIC:Manufacturing FrenchLaw 217.0 78.4 Cash STD Dep TA Rev Rec 16434 523.5 0.000 0 3218.2 5214.6 597.4 16440 173.0 0.000 0 3179.5 4795.9 476.6 16442 14.0 1.580 0 519.3 266.1 95.6 16445 28.4 0.844 0 551.5 282.6 87.6 Dados2 <- plm.data(dadoslimpos2, c("ticker", "Year")) Onde o operador funciona como a conjunção e, para incluir duas condições. É importante observar que a função plm com a opção "fd" gera um modelo com intercepto, definido após a diferenciação, já que o intercepto antes da diferenciação é eliminado (1 1). Assim, para obtermos os modelos com os mesmos regressores via efeitos fixos e primeiras diferenças, devemos incluir o termo -1 no modelo fd: summary(plm(ada ~ ROA + MTB + SIZE + LEV + CFO + LOSS, model = "within", data = Dados2)) Oneway (individual) effect Within Model Call: plm(formula = ADA ~ ROA + MTB + SIZE + LEV + CFO + LOSS, data = Dados2, model = "within") Unbalanced Panel: n=876, T=1-2, N=1712 Residuals : Min. 1st Qu. Median 3rd Qu. Max. -16.8840-0.1019 0.0000 0.1019 16.8840 Coefficients : Estimate Std. Error t-value Pr(> t ) ROA 7.3280e-01 5.4213e-01 1.3517 0.1768 MTB -4.6322e-03 6.8214e-03-0.6791 0.4973 SIZE 9.8776e-01 1.9164e-01 5.1543 3.185e-07 *** LEV 1.2646e+00 9.0207e-01 1.4019 0.1613 CFO -6.8704e-05 7.6653e-05-0.8963 0.3703 LOSS -2.7753e-01 1.9538e-01-1.4205 0.1558 --- 10

Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1 Total Sum of Squares: 1493.5 Residual Sum of Squares: 1420.3 R-Squared: 0.049033 Adj. R-Squared: -0.96037 F-statistic: 7.13263 on 6 and 830 DF, p-value: 1.9874e-07 summary(plm(ada ~ ROA + MTB + SIZE + LEV + CFO + LOSS-1, model = "fd", data = Dados2)) Oneway (individual) effect First-Difference Model Call: plm(formula = ADA ~ ROA + MTB + SIZE + LEV + CFO + LOSS - 1, data = Dados2, model = "fd") Unbalanced Panel: n=876, T=1-2, N=1712 Observations used in estimation: 836 Residuals : Min. 1st Qu. Median Mean 3rd Qu. Max. -31.024-0.302-0.039-0.148 0.139 33.768 Coefficients : Estimate Std. Error t-value Pr(> t ) ROA 7.3280e-01 5.4213e-01 1.3517 0.1768 MTB -4.6322e-03 6.8214e-03-0.6791 0.4973 SIZE 9.8776e-01 1.9164e-01 5.1543 3.185e-07 *** LEV 1.2646e+00 9.0207e-01 1.4019 0.1613 CFO -6.8704e-05 7.6653e-05-0.8963 0.3703 LOSS -2.7753e-01 1.9538e-01-1.4205 0.1558 --- Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1 Total Sum of Squares: 2986.9 Residual Sum of Squares: 2840.6 R-Squared: 0.056204 Adj. R-Squared: 0.050519 F-statistic: 7.12382 on 6 and 830 DF, p-value: 2.0334e-07 Quando T > 2, e devemos escolher entre o modelo FE e o FD, Wooldridge (2010) sugere um teste de autocorrelação nos resíduos no modelo FD. Seja ê it = û it, o teste consiste em analisar a significância de ρ na equação ê it = ˆρê i,t 1 + ξ. O pacote plm tem a função pwfdtest() que executa este teste (veja a seção 6.4 das vignettes). Este comando segue o seguinte procedimento: 1. Se o argumento for a fórmula y ~ x1 + x2 + x3, por exemplo, o modelo é estimado em primeirasdiferenças e o resíduos são armazenados. Se o argumento for o modelo já estimado anteriormente, os resíduos são retidos. 2. O modelo AR(1) dos resíduos FD ê it = ˆρê i,t 1 + ξ é estimado; 3. É feito um teste F ou Qui-quadrado para testar a significância do parâmetro ˆρ. 11

Assim, a forma de obter o resultado manualmente de pwfdtest() é estimar o modelo ê it = ˆρê i,t 1 + ξ e usar a função linearhypothesis() em ê i,t 1. Para obter o teste t simples de significância de ρ devemos seguir um procedimento manual. Para implementarmos o teste, vamos usar uma base de dados mais simples (com observações completas, exemplo 10.6 do Wooldridge, semelhante ao Script lecture-11.r disponível no Moodle). 1. Obter a base de dados e estimar o modelo FD: library(foreign) jtrain <- read.dta(file="http://fmwww.bc.edu/ec-p/data/wooldridge/jtrain.dta") head(jtrain) year fcode employ sales avgsal scrap rework tothrs union grant d89 1 1987 410032 100 47000000 35000 NA NA 12 0 0 0 2 1988 410032 131 43000000 37000 NA NA 8 0 0 0 3 1989 410032 123 49000000 39000 NA NA 8 0 0 1 4 1987 410440 12 1560000 10500 NA NA 12 0 0 0 5 1988 410440 13 1970000 11000 NA NA 12 0 0 0 6 1989 410440 14 2350000 11500 NA NA 10 0 0 1 d88 totrain hrsemp lscrap lemploy lsales lrework lhrsemp lscrap_1 1 0 100 12.000000 NA 4.605170 17.66566 NA 2.564949 NA 2 1 50 3.053435 NA 4.875197 17.57671 NA 1.399565 NA 3 0 50 3.252033 NA 4.812184 17.70733 NA 1.447397 NA 4 0 12 12.000000 NA 2.484907 14.26020 NA 2.564949 NA 5 1 13 12.000000 NA 2.564949 14.49354 NA 2.564949 NA 6 0 14 10.000000 NA 2.639057 14.66993 NA 2.397895 NA grant_1 clscrap cgrant clemploy clsales lavgsal clavgsal 1 0 NA 0 NA NA 10.463100 NA 2 0 NA 0 0.2700272-0.0889492 10.518670 0.0555696 3 0 NA 0-0.0630131 0.1306210 10.571320 0.0526438 4 0 NA 0 NA NA 9.259130 NA 5 0 NA 0 0.0800426 0.2333469 9.305651 0.0465202 6 0 NA 0 0.0741081 0.1763821 9.350102 0.0444517 cgrant_1 chrsemp clhrsemp 1 NA NA NA 2 0-8.9465647-1.1653850 3 0 0.1985974 0.0478324 4 NA NA NA 5 0 0.0000000 0.0000000 6 0-2.0000000-0.1670539 jtrain <- subset(jtrain, scrap>0) head(jtrain[,1:11]) year fcode employ sales avgsal scrap rework tothrs union grant d89 31 1987 410523 70 8000000 19760 0.06 NA 40 0 0 0 32 1988 410523 85 11000000 22360 0.05 NA 40 0 0 0 33 1989 410523 98 15000000 23920 0.05 NA 60 0 0 1 49 1987 410538 NA NA 19760 2.64 NA 0 1 0 0 50 1988 410538 NA 6276271 20800 2.74 NA 0 1 0 0 51 1989 410538 60 5286605 20800 2.54 NA 30 1 0 1 Jtrain <- plm.data(jtrain, c("fcode", "year")) head(jtrain[,1:11]) fcode year employ sales avgsal scrap rework tothrs union grant d89 12

31 410523 1987 70 8000000 19760 0.06 NA 40 0 0 0 32 410523 1988 85 11000000 22360 0.05 NA 40 0 0 0 33 410523 1989 98 15000000 23920 0.05 NA 60 0 0 1 49 410538 1987 NA NA 19760 2.64 NA 0 1 0 0 50 410538 1988 NA 6276271 20800 2.74 NA 0 1 0 0 51 410538 1989 60 5286605 20800 2.54 NA 30 1 0 1 jtrain_fd1 <- plm(lscrap ~ d89 + union + grant + grant_1, data = Jtrain, model = "fd") summary(jtrain_fd1) Oneway (individual) effect First-Difference Model Call: plm(formula = lscrap ~ d89 + union + grant + grant_1, data = Jtrain, model = "fd") Balanced Panel: n=54, T=3, N=162 Observations used in estimation: 108 Residuals : Min. 1st Qu. Median 3rd Qu. Max. -3.127370-0.136817 0.073105 0.261907 2.488502 Coefficients : Estimate Std. Error t-value Pr(> t ) (intercept) -0.090607 0.090970-0.9960 0.32155 d89-0.096208 0.125447-0.7669 0.44486 grant -0.222781 0.130742-1.7040 0.09137. grant_1-0.351246 0.235085-1.4941 0.13817 --- Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1 Total Sum of Squares: 35.902 Residual Sum of Squares: 34.59 R-Squared: 0.036518 Adj. R-Squared: 0.008725 F-statistic: 1.31393 on 3 and 104 DF, p-value: 0.27388 2. Obter os resíduos FD: resfd <- resid(jtrain_fd1) Veja que estes resíduos têm uma classe específica para modelos plm: class(resfd) [1] "pseries" "numeric" A função lag() na classe pseries gera defasagens de acordo com os grupos. Isto é, enquanto lag(x, k = 1) se x <- (1, 2, 3, 4, 5, 6) gera (NA, 1, 2, 3, 4, 5), se x for uma pseries sendo 2 indivíduos em 3 anos, o vetor defasado ficaria (NA, 1, 2, NA, 4, 5). No entanto, como o modelo é em primeira diferenças, perdemos o primeiro ano, ficando com t 1 períodos para i indivíduos, enquanto dentro do pseries está a informação que são t períodos para i indivíduos. Assim, suponha que a base de dados plm contenha (1, 2, 3, 4, 5, 6) sendo i = 2 e t = 3. A série de resíduos será de tamanho 4 e não 6, já que a primeira observação para cada indivíduo será 13

perdida: (2, 3, 5, 6). Mas a diferenciação não é conhecida por lag(), que gerará uma série de tamanho 6, e não 4, com o seguinte formato (NA, 3, 5, NA, NA, NA). Assim, temos que seguir o procedimento mais manual descrito nos próximos itens. 3. Veja que a série de resíduos têm 108 observações, enquanto a base de dados originais tem 162 observações. Como são três anos para cada indivíduo, temos 162/3 = 54 indivíduos, assim, perdemos 54 observações com a diferenciação: 162-54 = 108: length(resfd) [1] 108 dim(jtrain) [1] 162 30 head(jtrain[,1:3]) fcode year employ 31 410523 1987 70 32 410523 1988 85 33 410523 1989 98 49 410538 1987 NA 50 410538 1988 NA 51 410538 1989 60 162-162/3 [1] 108 Assim, precisamos montar uma base de dados eliminando o primeiro ano de cada indivíduo: dadosauxiliares <- subset(jtrain, year!=1987)[,1:2] head(dadosauxiliares) fcode year 32 410523 1988 33 410523 1989 50 410538 1988 51 410538 1989 77 410563 1988 78 410563 1989 dim(dadosauxiliares) # 108 observaç~oes [1] 108 2 # Incluindos os resíduos FD: dadosauxiliares$resfd <- resfd head(dadosauxiliares) fcode year resfd 32 410523 1988-0.09171388 33 410523 1989 0.18681538 50 410538 1988 0.12778636 51 410538 1989 0.11102140 77 410563 1988 0.24475815 78 410563 1989-0.14965666 14

4. Agora precisamos criar a variável resfd t 1. Há várias formas de fazer isto no R usando pacotes diferentes. A mais didática é usando o pacote DataCombine: # install.packages("datacombine") library(datacombine) dadosauxiliares <- slide(dadosauxiliares, Var = "resfd", NewVar = "resfd_1", GroupVar = "fcode", slideby = -1, reminder = F) head(dadosauxiliares) fcode year resfd resfd_1 1 410523 1988-0.09171388 NA 2 410523 1989 0.18681538-0.09171388 3 410538 1988 0.12778636 NA 4 410538 1989 0.11102140 0.12778636 5 410563 1988 0.24475815 NA 6 410563 1989-0.14965666 0.24475815 5. Estimamos a equação ê it = ˆρê i,t 1 + ξ: summary(lm(resfd ~ resfd_1, data = dadosauxiliares)) Call: lm(formula = resfd ~ resfd_1, data = dadosauxiliares) Residuals: Min 1Q Median 3Q Max -2.9956-0.1085 0.1529 0.2501 0.6545 Coefficients: Estimate Std. Error t value Pr(> t ) (Intercept) -7.504e-17 7.622e-02 0.00 1.0000 resfd_1 2.369e-01 1.346e-01 1.76 0.0844. --- Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1 Residual standard error: 0.5601 on 52 degrees of freedom (54 observations deleted due to missingness) Multiple R-squared: 0.0562,Adjusted R-squared: 0.03805 F-statistic: 3.096 on 1 and 52 DF, p-value: 0.08435 1.3.2 Teste de Hausman O teste de Hausman é um teste para a escolha entre o modelo de Fixed ou Random Effects. Estimamos e armazenamos os dois modelos e usamos o comando phtest do pacote plm: mod_re <- plm(ada ~ ROA + MTB + SIZE + LEV + CFO + LOSS, model = "random", data = Dados) phtest(mod_fe, mod_re) Hausman Test 15

data: ADA ~ ROA + MTB + SIZE + LEV + CFO + LOSS chisq = 520.25, df = 6, p-value < 2.2e-16 alternative hypothesis: one model is inconsistent A hipótese nula é que não existe diferença estre os estimadores RE e FE. Como FE é consistente se c i é correlacionado com x it, mas RE não é, uma diferença entre os dois modelos indica que um deles é inconsistente, ou seja, que RE é inconsistente, indicando que c i é correlacionado com x it e, portanto, o modelo de efeitos fixos é preferível ao de efeitos aleatórios. Se rejeitarmos a hipótese nula, é uma evidência contra o uso do modelo de efeitos aleatórios. 1.3.3 Teste LM de Breusch-Pagan O teste LM de Breusch-Pagan é um teste entre o modedlo Pooled OLS e o modelo de Random Effects: mod_ols <- plm(ada ~ ROA + MTB + SIZE + LEV + CFO + LOSS, model = "pooling", data = Dados) plmtest(mod_ols, effect="twoways", type="bp") Lagrange Multiplier Test - two-ways effects (Breusch-Pagan) for unbalanced panels data: ADA ~ ROA + MTB + SIZE + LEV + CFO + LOSS chisq = 9.1358, df = 2, p-value = 0.01038 alternative hypothesis: significant effects A rejeição da hipótese nula indica a existência de um efeito não observado. 1.3.4 Teste F Há um teste F entre o modelo Pooled OLS e o modelo de Fixed Effects: pftest(mod_fe, mod_ols) F test for individual effects data: ADA ~ ROA + MTB + SIZE + LEV + CFO + LOSS F = 1.6731, df1 = 999, df2 = 6576, p-value < 2.2e-16 alternative hypothesis: significant effects A rejeição da hipótese nula indica a existência de um efeito não observado. 16