Panelregression mit R - Teil 3
Dieser Artikel ist eine Fortsetzung von Teil 1 und Teil 2. Hier wird erklärt, wie mit R Heteroskedastizität bei Panelmodellen identifiziert werden kann und wie robuste Standardfehler berechnet werden können. Anschliessend werden weitere Tests vorgestellt ohne jedoch auf die Lösung dieser Probleme einzugehen.
Für die Tests muss die Bibliothek lmtest geladen werden. Mit der Funktion bptest kann der Preusch-Pagan Test gerechnet werden, um Heteroskedastizität zu identifizieren. $H_0$ besagt, dass Homoskedastizität vorhanden ist.
bptest(Stimmbeteiligung ~ Typ + Thema + anzahl.vorlagen, data=abstimmungen, studentize = F)
Breusch-Pagan test
data: Stimmbeteiligung ~ Typ + Thema + anzahl.vorlagen
BP = 4107.4, df = 11, p-value < 2.2e-16
Der p-Wert ist kleiner als 0.05. Deshalb kann die Nullhypothese verworfen werden. Es werden robuste Standardfehler benötigt, da sie wegen der ungleichmässig verteilten Varianz verzerrt sind. Die kann mit der Funktion vcov gemacht werden. Es gibt die Methoden arellano, white1 und white2, wobei arellano auch noch für serielle Korrelation kontrolliert und verwendet werden sollte, wenn die Fallzahl hoch ist, die Anzahl Zeitpunkte aber klein (T<30). White 1 kontrolliert nur für Heteroskedastizität und White 2 hat zusätzliche Einschränkungen betreffend der Varianz innerhalb von Gruppen.
vcov = vcovHC(model.random, methode="white1")
vcov
(Intercept) TypObligatorisches Referendum TypVolksinitiative TypVolksinitiative mit Gegenvorschlag ThemaGrundlagen der Staatsordnung ThemaInfrastruktur und Lebensraum ThemaLandesverteidigung ThemaÖffentliche Finanzen ThemaSchweizerische Aussenpolitik ThemaSozialpolitik ThemaWirtschaft anzahl.vorlagen
(Intercept) 0.0255975677 -3.279205e-03 -6.256940e-04 -0.0002822532 -3.081897e-03 -2.986195e-04 -6.143468e-03 -0.0022562270 -0.0064511635 -0.0039982065 -4.056314e-03 -1.159610e-03
TypObligatorisches Referendum -0.0032792045 5.329513e-03 -3.474410e-04 0.0011652133 8.433277e-04 -2.832027e-04 1.453806e-03 -0.0004234861 0.0018950547 -0.0005014376 -7.716942e-05 4.154913e-04
TypVolksinitiative -0.0006256940 -3.474410e-04 1.892061e-03 -0.0002809009 -9.694733e-04 4.175591e-05 5.989960e-04 0.0009658417 0.0001554953 0.0004874762 4.443038e-04 -3.202602e-04
TypVolksinitiative mit Gegenvorschlag -0.0002822532 1.165213e-03 -2.809009e-04 0.0069392206 1.485537e-03 4.253623e-04 6.798309e-04 -0.0011805688 0.0007459175 -0.0003105879 -2.450484e-03 1.865641e-04
ThemaGrundlagen der Staatsordnung -0.0030818968 8.433277e-04 -9.694733e-04 0.0014855367 5.483070e-03 3.574210e-03 3.448393e-03 0.0021865312 0.0024423478 0.0028187592 2.017176e-03 3.034215e-05
ThemaInfrastruktur und Lebensraum -0.0002986195 -2.832027e-04 4.175591e-05 0.0004253623 3.574210e-03 6.705309e-03 3.731872e-03 0.0040841871 0.0015158513 0.0036145190 2.474089e-03 -6.945439e-04
ThemaLandesverteidigung -0.0061434679 1.453806e-03 5.989960e-04 0.0006798309 3.448393e-03 3.731872e-03 7.785885e-03 0.0039523756 0.0039946367 0.0038324092 3.776694e-03 3.420484e-05
ThemaÖffentliche Finanzen -0.0022562270 -4.234861e-04 9.658417e-04 -0.0011805688 2.186531e-03 4.084187e-03 3.952376e-03 0.0109208116 0.0017929524 0.0039358330 3.358842e-03 -6.885909e-04
ThemaSchweizerische Aussenpolitik -0.0064511635 1.895055e-03 1.554953e-04 0.0007459175 2.442348e-03 1.515851e-03 3.994637e-03 0.0017929524 0.0062912196 0.0026402539 2.362056e-03 6.028153e-04
ThemaSozialpolitik -0.0039982065 -5.014376e-04 4.874762e-04 -0.0003105879 2.818759e-03 3.614519e-03 3.832409e-03 0.0039358330 0.0026402539 0.0042319809 2.668987e-03 -2.240262e-04
ThemaWirtschaft -0.0040563143 -7.716942e-05 4.443038e-04 -0.0024504840 2.017176e-03 2.474089e-03 3.776694e-03 0.0033588416 0.0023620557 0.0026689870 6.623012e-03 3.287332e-06
anzahl.vorlagen -0.0011596101 4.154913e-04 -3.202602e-04 0.0001865641 3.034215e-05 -6.945439e-04 3.420484e-05 -0.0006885909 0.0006028153 -0.0002240262 3.287332e-06 3.869978e-04
Die Varianzen befinden sich in der diagonalen der Matrix, die Kovarianzen daneben.
Auf Autokorrelation kann mit dem Durbin-Watson Test geprüft werden. Die Funktion heisst dwtest. $H_0$ besagt, dass keine Autokorrelation vorherrscht.
dwtest(Stimmbeteiligung ~ Typ + Thema + anzahl.vorlagen, data=abstimmungen)
Durbin-Watson test
data: Stimmbeteiligung ~ Typ + Thema + anzahl.vorlagen
DW = 0.582, p-value < 2.2e-16
alternative hypothesis: true autocorrelation is greater than 0
Die Nullhypothese kann verworfen werden, d.h. das Problem der Autokorrelation ist vorhanden.
Auf Serielle Korrelation kann mit dem Preusch-Goldfrey/Wooldrige Test überprüft werden. Die Funktion dazu heisst pbgtest. $H_0$ besagt, dass keine serielle Korrelation vorhanden ist.
pbgtest(Stimmbeteiligung ~ Typ + Thema + anzahl.vorlagen, data=abstimmungen)
Breusch-Godfrey/Wooldridge test for serial correlation in panel models
data: Stimmbeteiligung ~ Typ + Thema + anzahl.vorlagen
chisq = 32401, df = 34, p-value < 2.2e-16
alternative hypothesis: serial correlation in idiosyncratic errors
Die Nullhypothese kann verworfen werden, d.h. es gibt serielle Korrelation. Da die Fallzahl jedoch sehr gross ist, ist das weniger ein Problem.
Ist die Fallzahl klein, die Anzahl Zeitpunkte aber hoch, so kann zusätzlich die Cross-Sektionale Abhängigkeit getestet werden. mit dem Preusch-Pagan LM Test. Die Funktion dazu ist pcdtest. $H_0$ besagt, dass die Residuen über die Einheiten nicht korrelieren.
# pcdtest(model.random, test = c("lm"))