Pruebas de raíz unitaria para datos de panel en R

8

Tengo el plmpaquete y me gustaría ejecutar pruebas de raíz unitaria en algunas variables. Obtuve el siguiente error:

> 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

Supongo que recibo este error porque mi panel no está equilibrado. Dos preguntas:

  • ¿Se pueden usar pruebas de raíz de unidad de panel (Levin, Lin y Chu (2002), Im, Pesaran y Shin (2003) u otras) para paneles desequilibrados?
  • Si es así, ¿se implementa en R?
Charlie
fuente
No puedo responder a su pregunta, pero para su información, Stata ejecuta estas pruebas incluso cuando la variable no está equilibrada. Sin embargo, las pruebas de LM de Breitung, Harris-Tzavalis y Hadri parecen requerir equilibrio.
Johnny
Una actualización. Echa un vistazo al paquete punitroots. Creo que puede hacer lo que quieras. road.unimol.it/bitstream/2192/163/3/ESDP11063.pdf
Manoel Galdino
El problema de los datos de panel no balanceados se aborda en la versión 2.2-2 de plm en CRAN. Sin embargo, las pruebas de Hadri y de Levin / Lin / Chu no son aplicables a los datos desequilibrados.
Helix123

Respuestas:

8

En el momento actual (versión 1.2-10) parece que el caso desequilibrado no es compatible. He mirado el código, y la línea final de preparación de datos (sin importar cuál sea su argumento inicial) es la siguiente:

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

Si pasa el panel desequilibrado, esta línea lo equilibrará repitiendo los mismos valores. Si su panel no balanceado tiene series de tiempo con longitudes que se dividen entre sí, entonces ni siquiera se genera un mensaje de error. Aquí está el ejemplo de la página más purtest:

 > 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 panel está equilibrado:

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

Desequilibrarlo:

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

Dos series de tiempo diferentes en el panel:

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

Sin mensaje de error:

> 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 

Otro panel desequilibrado:

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

Y el mensaje de error:

 > 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
fuente
El problema de los datos de panel no balanceados se aborda en la versión 2.2-2 de plm en CRAN. Sin embargo, las pruebas de Hadri y de Levin / Lin / Chu no son aplicables a los datos desequilibrados.
Helix123
5

¿Intentaste convertir tus datos a pdata.frame? También tengo un panel desequilibrado, pero purtestparece funcionar con un panel desequilibrado si los datos lo son pdata.frame. Pero también podría estar equivocado :)

Sin embargo en ?purtestautores escriben:

"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,"

Así que supongo que si uno usa pdata.frameel purtest"entiende" ese panel es unbalanced.

¿¿¿Me equivoco???

usuario1665355
fuente
Lo intenté pero esto no funciona para mí.
altabq
El problema de los datos de panel no balanceados se aborda en la versión 2.2-2 de plm en CRAN. Sin embargo, las pruebas de Hadri y de Levin / Lin / Chu no son aplicables a los datos desequilibrados.
Helix123
-1

Eviews 5permite poner a prueba la panel unit rootsde los unbalanceddatos que no es posible con Ry Stata. Por ejemplo, a pesar de que Im–Pesaran–Shiny Fisher-typelas pruebas se pueden aplicar para el panel incompleto en Stata, no es posible si tenemos algunas observaciones, con la diferencia, es decir, tenemos datos del país i para el año 2002 y 2004, pero no de 2003 (suponiendo que el retraso sea mayor de una). Creo que Eviewsdescartar todas esas observaciones al realizar pruebas, por ejemplo, este es el país i. Sin embargo, si suelta manualmente todas esas observaciones, aún puede realizar las pruebas con RyStata.

Métrica
fuente