Começamos importando a base de dados e a nomeando como “producao”.
producao <- read_csv("Producao.csv")
Utilizamos, agora, a função “pdata.frame” para indicar as unidades cross-section e o indicador temporal e nomeamos a variável como “prod”.
producao <- pdata.frame(producao, index = c("Empresa", "Ano"))
Apresentamos o resultado de um modelo linear (log-log) para dados em painel com efeitos fixos.
producao_fe <- plm(I(log(Producao) ~ I(log(Trabalho)) + I(log(Capital))), data = producao, model="within")
## Oneway (individual) effect Within Model
##
## Call:
## plm(formula = I(log(Producao) ~ I(log(Trabalho)) + I(log(Capital))),
## data = producao, model = "within")
##
## Balanced Panel: n = 26, T = 37, N = 962
##
## Residuals:
## Min. 1st Qu. Median 3rd Qu. Max.
## -3.2236527 -0.0925499 -0.0011928 0.1016256 1.1515620
##
## Coefficients:
## Estimate Std. Error t-value Pr(>|t|)
## I(log(Trabalho)) 0.839131 0.021278 39.4362 < 2.2e-16 ***
## I(log(Capital)) 0.174129 0.020315 8.5716 < 2.2e-16 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Total Sum of Squares: 164.8
## Residual Sum of Squares: 57.084
## R-Squared: 0.65362
## Adj. R-Squared: 0.64361
## F-statistic: 881.243 on 2 and 934 DF, p-value: < 2.22e-16
Quando tanto a variável dependente quanto a independente estão em log, “para cada aumento de x%, calculamos x elevado a potência do coeficiente, subtraímos 1 e multiplicamos por 100. Exemplo: Para cada 20% de aumento na variável independente, nossa variável dependente aumenta por \((1.20^{coef} - 1) \times 100\)1”. Dessa forma,
((1.025^fe_coef[2]) - 1) * 100
## I(log(Capital))
## 0.4308963
Ou seja, um aumento de 2.5% no valor investido em máquinas e equipamentos gera um aumento de 0.43% no valor produzido pela empresa.
Similarmente à questão 2,
((1.1 ^ fe_coef[1]) - 1)* 100
## I(log(Trabalho))
## 8.326297
Ou seja, um aumento de 10% no valor gasto com mão de obra gera um aumento de 8.33% no valor produzido pela empresa.
No modelo de efeitos fixos, a heterogeneidade é captada através de um intercepto para cada indivíduo da amostra (no nosso caso, empresas). Assim sendo, a empresa mais eficiente será aquela que possui o maior intercepto - como os coeficientes angulares são o mesmo para todas as empresas, apenas o intercepto irá diferenciar a eficiência das empresas.
## Estimate Std. Error t-value Pr(>|t|)
## 3312 -0.2420981 0.2345780 -1.0321 0.30231
## 3313 0.0130078 0.1490587 0.0873 0.93048
## 3315 0.1036231 0.1490915 0.6950 0.48721
## 3316 0.0802917 0.1558272 0.5153 0.60649
## 3317 0.0996363 0.1522493 0.6544 0.51300
## 3321 -0.2832355 0.1861568 -1.5215 0.12848
## 3322 -0.3318128 0.1405829 -2.3603 0.01847 *
## 3324 -0.0082318 0.1336472 -0.0616 0.95090
## 3325 -0.1873797 0.1617022 -1.1588 0.24684
## 3331 0.2940128 0.1534772 1.9157 0.05571 .
## 3332 0.2376245 0.1155227 2.0570 0.03997 *
## 3333 -0.0863666 0.1357925 -0.6360 0.52492
## 3334 0.1507451 0.1774025 0.8497 0.39569
## 3339 0.2543066 0.1415313 1.7968 0.07269 .
## 3341 0.2722515 0.1502341 1.8122 0.07028 .
## 3351 0.0408437 0.1611989 0.2534 0.80003
## 3353 -0.1382014 0.1736340 -0.7959 0.42627
## 3354 -0.1328224 0.1601903 -0.8292 0.40723
## 3355 0.0593612 0.1277535 0.4647 0.64229
## 3356 0.2299695 0.1497529 1.5357 0.12496
## 3357 0.2210353 0.1700867 1.2995 0.19408
## 3361 -0.1635366 0.1591144 -1.0278 0.30431
## 3362 -0.0458832 0.1335224 -0.3436 0.73120
## 3369 -0.0049667 0.1359524 -0.0365 0.97087
## 3398 0.1111758 0.1436502 0.7739 0.43917
## 3399 0.1764738 0.1356862 1.3006 0.19372
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Dado que temos apenas 2 empresas com intercepto estatisticamente significativo (3322 e 3332), a empresa com o maior intercepto é a 3332. Ou seja, a empresa mais eficiente é a 3332.
producao_re <- plm(I(log(Producao) ~ I(log(Trabalho)) + I(log(Capital))), data = producao, model="random", random.method="walhus")
## Oneway (individual) effect Random Effect Model
## (Wallace-Hussain's transformation)
##
## Call:
## plm(formula = I(log(Producao) ~ I(log(Trabalho)) + I(log(Capital))),
## data = producao, model = "random", random.method = "walhus")
##
## Balanced Panel: n = 26, T = 37, N = 962
##
## Effects:
## var std.dev share
## idiosyncratic 0.06179 0.24858 0.729
## individual 0.02293 0.15144 0.271
## theta: 0.7395
##
## Residuals:
## Min. 1st Qu. Median 3rd Qu. Max.
## -3.1647516 -0.1047054 -0.0073158 0.1084974 1.2093252
##
## Coefficients:
## Estimate Std. Error z-value Pr(>|z|)
## (Intercept) 0.137894 0.126606 1.0892 0.2761
## I(log(Trabalho)) 0.816956 0.018535 44.0762 <2e-16 ***
## I(log(Capital)) 0.162442 0.017918 9.0659 <2e-16 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Total Sum of Squares: 238.23
## Residual Sum of Squares: 58.95
## R-Squared: 0.75255
## Adj. R-Squared: 0.75203
## Chisq: 2916.45 on 2 DF, p-value: < 2.22e-16
A hipótese nula do Teste de Hausman é de que o modelo de efeitos aleatórios é mais adequeado.
phtest(producao_re, producao_fe)
##
## Hausman Test
##
## data: I(log(Producao) ~ I(log(Trabalho)) + I(log(Capital)))
## chisq = 5.2659, df = 2, p-value = 0.07187
## alternative hypothesis: one model is inconsistent
Como o p-valor do teste foi superior a 5%, não podemos rejeitar a hipótese nula e, desse modo, o modelo de efeitos aleatórios é preferível.