Panelregression Random Effects plm

Modelle zur Korrelations- und Regressionsanalyse

Moderator: EDi

jogo
Beiträge: 2086
Registriert: Fr Okt 07, 2016 8:25 am

Re: Panelregression Random Effects plm

Beitrag von jogo »

Hallo Emre,
EmreA1 hat geschrieben: Do Okt 29, 2020 4:59 pm Leider kriege ich auch weiterhin die folgende Fehlermeldung:
"Fehler in plm.fit(data, model = models[1], effect = effect) : empty model"

Es darf ja wohl nicht wahr sein. Ich weiß nicht, was ich falsch mache. Es sind alle notwendigen Pakete in der Memory, aber dennoch funktioniert die letzte Zeile nicht und ich kann mir nicht erklären, woran es hakt :roll:

Hat die Auswertung bei dir wirklich geklappt?
auch bei mir hat die Auswertung so nicht geklappt.
Es ging mir im wesentlichen darum, das Beispiel (und somit auch den Fehler) reproduzierbar zu machen.

Gruß, Jörg
EmreA1
Beiträge: 9
Registriert: Do Okt 29, 2020 10:23 am

Re: Panelregression Random Effects plm

Beitrag von EmreA1 »

Sehr eigenartig, aber ich habe nun einfach mal zwei Regressoren genommen und schon ging der Code durch. Oh man, jetzt muss mir mal einer erklären, was R nicht mit einem Regressor arbeiten kann.

Der Befehl pvar() hat im Terminal nur ausgegeben, dass "no time variatian" sowie "no individual variation"...
Benutzeravatar
EDi
Beiträge: 1599
Registriert: Sa Okt 08, 2016 3:39 pm

Re: Panelregression Random Effects plm

Beitrag von EDi »

"no time variatian" sowie "no individual variation"
Könnte es daran liegen? Wie soll man eine Random Effekt Varianz schätzen, wenn es keine gibt?

Bin aber auch kein plm Experte (nutze für random Effekt Modelle meist glmmTMB).
Bitte immer ein reproduzierbares Minimalbeispiel angeben. Meinungen gehören mir und geben nicht die meines Brötchengebers wieder.

Dieser Beitrag ist lizensiert unter einer CC BY 4.0 Lizenz
Bild.
EmreA1
Beiträge: 9
Registriert: Do Okt 29, 2020 10:23 am

Re: Panelregression Random Effects plm

Beitrag von EmreA1 »

EDi hat geschrieben: Do Okt 29, 2020 9:47 pm
"no time variatian" sowie "no individual variation"
Könnte es daran liegen? Wie soll man eine Random Effekt Varianz schätzen, wenn es keine gibt?

Bin aber auch kein plm Experte (nutze für random Effekt Modelle meist glmmTMB).
Die erklärende Variable enthält selbstverständlich eine Varianz; weiterhin können die Residuen ebenfalls berechnet werden, sodass der Schätzer ebenfalls berechnet werden kann - meiner Meinung nach jedenfalls :)
jogo
Beiträge: 2086
Registriert: Fr Okt 07, 2016 8:25 am

Re: Panelregression Random Effects plm

Beitrag von jogo »

So, ich glaube, ich habe die Ursache des Fehlers gefunden:

Code: Alles auswählen

aggregate(Rating ~ ID, data=mydata, FUN=var)
keine Varianz von $Rating in den Gruppen, die durch $ID definiert werden.

Gruß, Jörg
EmreA1
Beiträge: 9
Registriert: Do Okt 29, 2020 10:23 am

Re: Panelregression Random Effects plm

Beitrag von EmreA1 »

jogo hat geschrieben: Di Nov 03, 2020 10:33 am So, ich glaube, ich habe die Ursache des Fehlers gefunden:

Code: Alles auswählen

aggregate(Rating ~ ID, data=mydata, FUN=var)
keine Varianz von $Rating in den Gruppen, die durch $ID definiert werden.

Gruß, Jörg
Hi Jörg,

ich danke dir vielmals, ich bin nämlich von der Gesamtvarianz der unabhängigen Variable ausgegangen. Die Varianz innerhalb eines Individuums (= within variance) ist nicht mehr berechenbar. Die Lösung ist, dass man ganz einfach bspw. die Walhus-Methode anwendet, die dann fehlerfrei funktioniert.

Ich danke dir nochmals ;)
VG,
Emre
jogo
Beiträge: 2086
Registriert: Fr Okt 07, 2016 8:25 am

Re: Panelregression Random Effects plm

Beitrag von jogo »

also sieht es jetzt wohl so aus, oder?

Code: Alles auswählen

library(plm)

mydata <- read.csv2("http://forum.r-statistik.de/download/file.php?id=1184", dec=".")

pdata <- pdata.frame(mydata, index=c("ID", "Time"))
pvar(pdata)

r <- plm(Spreads ~ Rating, data=mydata, index=c("ID", "Time"), model="random", random.method="walhus") 
summary(r)
Gruß, Jörg
EmreA1
Beiträge: 9
Registriert: Do Okt 29, 2020 10:23 am

Re: Panelregression Random Effects plm

Beitrag von EmreA1 »

jogo hat geschrieben: Mi Nov 04, 2020 8:51 am also sieht es jetzt wohl so aus, oder?

Code: Alles auswählen

library(plm)

mydata <- read.csv2("http://forum.r-statistik.de/download/file.php?id=1184", dec=".")

pdata <- pdata.frame(mydata, index=c("ID", "Time"))
pvar(pdata)

r <- plm(Spreads ~ Rating, data=mydata, index=c("ID", "Time"), model="random", random.method="walhus") 
summary(r)
Gruß, Jörg
Hallo Jörg,

sorry für die verspätete Antwort.
Ja, genau. So habe ich es auch und es klappt einwandfrei :)

Gruß,
Emre
Antworten