Ich rüste glmer
einige Geschäftsdaten mit einem Zufallseffektmodell aus . Ziel ist es, die Vertriebsleistung nach Händlern unter Berücksichtigung regionaler Unterschiede zu analysieren. Ich habe folgende Variablen:
distcode
: Distributor ID, mit ca. 800 Ebenenregion
: Geografische ID der obersten Ebene (Norden, Süden, Osten, Westen)zone
: Geographie auf mittlerer Ebeneregion
, insgesamt etwa 30 Ebenenterritory
: Geographie auf niedriger Ebenezone
, in etwa 150 Ebenen verschachtelt
Jeder Distributor ist nur in einem Gebiet tätig. Der schwierige Teil ist, dass dies zusammengefasste Daten mit einem Datenpunkt pro Verteiler sind. Ich habe also 800 Datenpunkte und versuche, (mindestens) 800 Parameter anzupassen, wenn auch auf regulierte Weise.
Ich habe ein Modell wie folgt angepasst:
glmer(ninv ~ 1 + (1|region/zone/territory) + (1|distcode), family=poisson)
Dies funktioniert problemlos, obwohl eine Notiz gedruckt wird:
Die Anzahl der Ebenen eines Gruppierungsfaktors für die zufälligen Effekte ist gleich n, der Anzahl der Beobachtungen
Ist das eine vernünftige Sache? Ich erhalte endliche Schätzungen aller Koeffizienten, und der AIC ist auch nicht unangemessen. Wenn ich ein Poisson-GLMM mit der Identitätsverknüpfung versuche, ist die AIC viel schlechter, sodass die Protokollverknüpfung zumindest ein guter Ausgangspunkt ist.
Wenn ich die angepassten Werte gegen die Antwort zeichne, erhalte ich im Wesentlichen eine perfekte Übereinstimmung, was ich denke, weil ich einen Datenpunkt pro Verteiler habe. Ist das vernünftig oder mache ich etwas völlig albernes?
Hier werden Daten für einen Monat verwendet. Ich kann Daten für mehrere Monate abrufen und auf diese Weise eine Replikation erhalten, aber ich müsste neue Begriffe für monatliche Variationen und mögliche Interaktionen hinzufügen, richtig?
ETA: Ich habe das obige Modell erneut ausgeführt, aber ohne family
Argument (also nur eine Gaußsche LMM anstelle einer GLMM). Jetzt lmer
gab mir den folgenden Fehler:
Fehler in (Funktion (fr, FL, Start, REML, Verbose): Die Anzahl der Stufen eines Gruppierungsfaktors für die Zufallseffekte muss kleiner sein als die Anzahl der Beobachtungen
Also würde ich vermuten, dass ich nichts Vernünftiges tue, da ein Familienwechsel keine Auswirkungen haben sollte. Die Frage ist nun, warum es überhaupt funktioniert hat.
quelle
glmer
trotzdem funktioniert (obwohl ich nicht übermäßig glücklich damit bin).Eine Stufe pro Beobachtung kann sehr nützlich sein, wenn Sie Zählungsdaten als Antwortvariable überstreut haben. Dies entspricht der Annahme, dass Ihre Zähldaten von einer Poisson-Lognormalverteilung stammen, dh dass der Lambda-Parameter Ihrer Poisson-Verteilung nicht vollständig von den Prädiktorvariablen in Ihrem Modell bestimmt wird und die Möglichkeiten lognormal verteilt sind.
Ben Bolker, einer der Entwickler von lme4, hat dazu zwei Tutorial-ähnliche Beispiele erstellt. Die erste, mit synthetischen Daten, geht etwas detaillierter. Sie können eine PDF finden Sie hier . Er hat ging auch durch eine explorative Datenanalyse mit realen Daten Eulen (pdf und R Code verfügbar von denen hier ).
quelle
glmer
umgehen , so viele Gruppen wie Beobachtungen zu haben. "distributor
ist ein Effekt von Interesse: Ich möchte sehen, wie sich Verteiler im Verhältnis zueinander verhalten, wenn andere Variablen berücksichtigt werden. Daher ist es eher mit einem herkömmlichen linearen gemischten Modell vergleichbar, bei dem Überanpassung ein echtes Problem darstellt.