Testes de raiz unitária para dados do painel em R

8

Eu tenho o plmpacote e gostaria de executar testes de raiz da unidade em algumas variáveis. Estou tendo o erro a seguir:

> purtest(data$tot.emp)
Error in data.frame(baldwin = c(59870, 61259, 60397, 58919, 57856, 57227,  : 
  arguments imply differing number of rows: 14, 19, 11, 12, 1, 20, 18, 10, 13

Suponho que estou recebendo esse erro porque meu painel está desequilibrado. Duas questões:

  • Você pode usar testes de raiz de unidade de painel (Levin, Lin e Chu (2002), Im, Pesaran e Shin (2003) ou outros) para painéis desequilibrados?
  • Se sim, é implementado no R?
Charlie
fonte
Não posso responder à sua pergunta, mas, para sua informação, o Stata executa esses testes mesmo quando a variável está desequilibrada. No entanto, os testes de Breitung, Harris-Tzavalis e Ladr de Hadri parecem exigir equilíbrio.
johnny
Uma atualização. Dê uma olhada no pacote punitroots. Eu acho que pode fazer o que você quiser. road.unimol.it/bitstream/2192/163/3/ESDP11063.pdf
Manoel Galdino
A questão dos dados desbalanceados do painel é abordada na versão 2.2-2 do plm no CRAN. Os testes de Hadri e de Levin / Lin / Chu não são aplicáveis ​​a dados desequilibrados.
Helix123 22/02

Respostas:

7

No momento atual (versão 1.2-10), parece que o caso não balanceado não é suportado. Analisei o código e a linha final de preparação de dados (não importa qual seja seu argumento inicial) é a seguinte:

 object <- as.data.frame(split(object, id))

Se você passar no painel desequilibrado, essa linha o equilibrará repetindo os mesmos valores. Se o seu painel desequilibrado tiver séries temporais com comprimentos que se dividem, mesmo nenhuma mensagem de erro será produzida. Aqui está o exemplo da página mais pura:

 > data(Grunfeld)
 > purtest(inv ~ 1, data = Grunfeld, index = "firm", pmax = 4, test = "madwu")

Maddala-Wu Unit-Root Test (ex. var. : Individual Intercepts )

  data:  inv ~ 1 
  chisq = 47.5818, df = 20, p-value = 0.0004868
  alternative hypothesis: stationarity 

Este painel é equilibrado:

 > unique(table(Grunfeld$firm))
  [1] 20

Desequilibrar:

 > gr <- subset(Grunfeld, !(firm %in% c(3,4,5) & year <1945))

Comprimento de duas séries temporais diferentes no painel:

 > unique(table(gr$firm))
  [1] 20 10

Nenhuma mensagem de erro:

> purtest(inv ~ 1, data = gr, index = "firm", pmax = 4, test = "madwu")

    Maddala-Wu Unit-Root Test (ex. var. : Individual Intercepts )

data:  inv ~ 1 
chisq = 86.2132, df = 20, p-value = 3.379e-10
alternative hypothesis: stationarity 

Outro painel desequilibrado:

  > gr <- subset(Grunfeld, !(firm %in% c(3,4,5) & year <1940))
  > unique(table(gr$firm))
  [1] 20 15

E a mensagem de erro:

 > purtest(inv ~ 1, data = gr, index = "firm", pmax = 4, test = "madwu")
  Erreur dans data.frame(`1` = c(317.6, 391.8, 410.6, 257.7, 330.8, 461.2,  : 
  arguments imply differing number of rows: 20, 15
mpiktas
fonte
A questão dos dados desbalanceados do painel é abordada na versão 2.2-2 do plm no CRAN. Os testes de Hadri e de Levin / Lin / Chu não são aplicáveis ​​a dados desequilibrados.
Helix123 22/02
3

Você tentou converter seus dados para pdata.frame? Eu tenho um painel desequilibrado também, mas purtestparece funcionar com painel desequilibrado se os dados estiverem pdata.frame. Mas eu também posso estar errado :)

No entanto, nos ?purtestautores escrevem:

"object, x  

Either a 'data.frame' or a matrix containing the time series, 
a 'pseries' object, a formula, or the name of a column of a 'data.frame',
or a **'pdata.frame'**
on which the test has to be computed; a'purtest' object for the print 
and summary methods,"

Então eu acho que se alguém usa pdata.frameo purtest"entende" esse painel é unbalanced.

Estou errado???

user1665355
fonte
Eu tentei, mas isso não funciona para mim.
altabq 9/07/19
A questão dos dados desbalanceados do painel é abordada na versão 2.2-2 do plm no CRAN. Os testes de Hadri e de Levin / Lin / Chu não são aplicáveis ​​a dados desequilibrados.
Helix123 23/02
-1

Eviews 5permite testar o panel unit rootspara os unbalanceddados que não é possível com Re Stata. Por exemplo, embora Im–Pesaran–Shine Fisher-typetestes podem ser aplicados para o painel desequilibrado em Stata, não é possível se tivermos algumas observações, com a abertura, ou seja, temos dados de país i para o ano 2002 e 2004, mas não 2003 (assumindo que o atraso seja maior do que um). Eu acho que Eviewsabandonamos todas essas observações enquanto realizamos testes, por exemplo, este é o país i. No entanto, se você excluir manualmente todas essas observações, ainda poderá executar os testes com ReStata.

Métricas
fonte