Unit-Root-Tests für Paneldaten in R.

8

Ich habe das plmPaket und möchte Unit-Root-Tests für einige Variablen ausführen. Ich erhalte folgende Fehlermeldung:

> 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

Ich gehe davon aus, dass ich diesen Fehler erhalte, weil mein Panel nicht ausgeglichen ist. Zwei Fragen:

  • Können Sie Panel-Unit-Root-Tests (Levin, Lin und Chu (2002), Im, Pesaran und Shin (2003) oder andere) für unausgeglichene Panels verwenden?
  • Wenn ja, ist es in R implementiert?
Charlie
quelle
Ich kann Ihre Frage nicht beantworten, aber zu Ihrer Information, Stata führt diese Tests auch dann durch, wenn die Variable nicht ausgeglichen ist. Die LM-Tests von Breitung, Harris-Tzavalis und Hadri scheinen jedoch Ausgewogenheit zu erfordern.
Johnny
Ein Update. Schauen Sie sich das Punitroots-Paket an. Ich denke, es kann tun, was Sie wollen. road.unimol.it/bitstream/2192/163/3/ESDP11063.pdf
Manoel Galdino
Das Problem der unausgeglichenen Paneldaten wird in Version 2.2-2 von plm auf CRAN behandelt. Die Tests von Hadri und Levin / Lin / Chu gelten jedoch nicht für unausgeglichene Daten.
Helix123

Antworten:

7

Derzeit (Version 1.2-10) scheint der unsymmetrische Fall nicht unterstützt zu werden. Ich habe mir den Code angesehen und die letzte Zeile zur Datenvorbereitung (unabhängig von Ihrem ursprünglichen Argument) lautet wie folgt:

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

Wenn Sie ein nicht ausgeglichenes Bedienfeld passieren, wird es durch Wiederholen derselben Werte ausgeglichen. Wenn Ihr unsymmetrisches Panel Zeitreihen mit sich teilenden Längen hat, wird auch keine Fehlermeldung ausgegeben. Hier ist das Beispiel von der Purtest-Seite:

 > 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 

Dieses Panel ist ausgewogen:

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

Ungleichgewicht:

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

Zwei verschiedene Zeitreihenlängen im Panel:

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

Keine Fehlermeldung:

> 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 

Ein weiteres unausgeglichenes Panel:

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

Und die Fehlermeldung:

 > 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
quelle
Das Problem der unausgeglichenen Paneldaten wird in Version 2.2-2 von plm auf CRAN behandelt. Die Tests von Hadri und Levin / Lin / Chu gelten jedoch nicht für unausgeglichene Daten.
Helix123
3

Haben Sie versucht, Ihre Daten in zu konvertieren pdata.frame? Ich habe auch ein unausgeglichenes Panel, aber es purtestscheint mit einem unausgeglichenen Panel zu funktionieren, wenn die Daten sind pdata.frame. Aber ich könnte mich auch irren :)

Jedoch in ?purtestAutoren schreiben:

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

Also ich denke, wenn man pdata.framedas purtest"versteht" verwendet, ist dieses Panel unbalanced.

Liege ich falsch???

user1665355
quelle
Ich habe es versucht, aber das funktioniert bei mir nicht.
Altabq
Das Problem der unausgeglichenen Paneldaten wird in Version 2.2-2 von plm auf CRAN behandelt. Die Tests von Hadri und Levin / Lin / Chu gelten jedoch nicht für unausgeglichene Daten.
Helix123
-1

Eviews 5Mit dieser Option können Sie panel unit rootsdie unbalancedDaten testen, die mit Rund nicht möglich sind Stata. Zum Beispiel, obwohl Im–Pesaran–Shinund Fisher-typeTests für unausgeglichenes Panel in angewendet werden können Stata, ist es nicht möglich, wenn wir einige Beobachtungen haben, mit der Lücke, dh wir haben Daten von Land i für die Jahre 2002 und 2004, aber nicht 2003 (unter der Annahme, dass die Verzögerung größer ist als eines). Ich denke, dass Sie Eviewsalle diese Beobachtungen fallen lassen, während Sie Tests durchführen. In unserem Beispiel ist dies Land i. Wenn Sie jedoch alle derartigen Beobachtungen manuell löschen, können Sie die Tests dennoch mit Rund durchführenStata.

Metriken
quelle