Alternativen zur Zero Inflated Poisson Regression

Wie erweitere ich R um eigene Funktionen oder Pakete? Welches Paket ist passend für meine Fragestellung?

Moderatoren: EDi, jogo

Nane
Beiträge: 8
Registriert: Mo Mär 16, 2020 12:09 pm

Alternativen zur Zero Inflated Poisson Regression

Beitrag von Nane »

Liebe Community,

ich würde gerne Daten von einem durchgeführten Experiment auswerten.
Die Daten nehmen Werte zwischen 0 und 200 an (siehe anghängte Datei).
Histogram der Daten
Histogram der Daten
Das Problem zeigt sich darin, dass die Extrempunkte, insbesondere die 200, sehr häufig vorkommen. Die Verteilung schaut also eher wie eine gespiegelte Poisson Verteilung aus, weshalb die Ergebnisse mit einer normalen linearen Regression nicht signifikant werden.
Daher kam die Idee auf, eine Zero Inflated Poisson Regression darauf anzuwenden, die normalerweise genutzt wird, wenn es exzessiv viele 0er gibt. Da es bei diesen Daten nicht die 0er sondern die 200er sind, die sehr häufig vorkommen, habe ich nun die Methode zeroinfl in R genutzt und die abhängige Variable -200 und nochmal mal (-1) gerechnet um keine negativen Werte zu erhalten. Dabei wird zwar der Count-Teil (ohne exzessive 200er Werte) signifikant, aber so wirklich schön ist das nicht. Insbesondere bei der Interpretation wird es kompliziert.

Daher meine Frage: Gibt es in R eine Möglichkeit, um solche Daten sinnvoll auszuwerten? Bzw. gibt es eine alternative Methode zum zeroinfl, die das gleiche mit einer umgekehrten Verteilung macht (d.h. wo der Extrempunkt nicht bei 0 sondern am rechten Ende ist)?

Vielen Dank und liebe Grüße

Athomas
Beiträge: 388
Registriert: Mo Feb 26, 2018 8:19 pm

Re: Alternativen zur Zero Inflated Poisson Regression

Beitrag von Athomas »

Bitte ein paar Details!

Nane
Beiträge: 8
Registriert: Mo Mär 16, 2020 12:09 pm

Re: Alternativen zur Zero Inflated Poisson Regression

Beitrag von Nane »

Jeder Teilnehmer im Experiment kann 0 bis 100 Datenpunkte mit jedem anderen Teilnehmer in seiner Gruppe teilen. Es sind immer drei Teilnehmer in einer Gruppe. Daher kann jeder Teilnehmer in Summe maximal 200 Datenpunkte mit den anderen Teilnehmern in seiner Gruppe teilen (jeweils max. 100). Die abhängige Variable ist der Beitrag eines Teilnehmers, also 0 - 200 (bisher nicht gruppenspezifisch).
Die Treatments unterscheiden sich darin, wer mit wem wie teilen kann (wobei die genaue Ausgestaltung erstmal nicht relevant ist). Ich versuche nun Treatmentunterschiede herauszufinden. Die angehängte Grafik zeigt das Histogram der Daten eines Treatments. Auf den ersten Blick gibt es keine großen Unterschiede zwischen den Treatments. Bei allen ist der Peak bei 200.
Daher war die Frage, wie man mit solchen Daten umgeht oder ob es eine Alternative zum ZIP gibt, z.B. ein Zero Inflated Model, bei dem der Peak nicht notwendigerweise bei 0 sein muss, sondern vielleicht an der oberen Grenze.

bigben
Beiträge: 1431
Registriert: Mi Okt 12, 2016 9:09 am

Re: Alternativen zur Zero Inflated Poisson Regression

Beitrag von bigben »

Nane hat geschrieben:
Mo Mär 16, 2020 2:04 pm
Die Treatments unterscheiden sich darin, wer mit wem wie teilen kann (wobei die genaue Ausgestaltung erstmal nicht relevant ist). Ich versuche nun Treatmentunterschiede herauszufinden.
Wenn alles andere nicht relevant ist und es nur um den Nachweis von Unterschieden geht, mach doch einfach einen t-Test. Augenscheinlich hast Du eine sehr große Zahl von Beobachtungen und da interessiert die Verteilung den t-Test nicht mehr wirklich.

LG,
Bernhard
---
Programmiere stets so, dass die Maxime Deines Programmierstils Grundlage allgemeiner Gesetzgebung sein könnte

bigben
Beiträge: 1431
Registriert: Mi Okt 12, 2016 9:09 am

Re: Alternativen zur Zero Inflated Poisson Regression

Beitrag von bigben »

Nane hat geschrieben:
Mo Mär 16, 2020 12:43 pm
Dabei wird zwar der Count-Teil (ohne exzessive 200er Werte) signifikant, aber so wirklich schön ist das nicht. Insbesondere bei der Interpretation wird es kompliziert.
Warum? 200 minus Zahl der geteilten Datenpunkte ist ein Maß für die Tendenz, seine Datenpunkte nicht zu teilen.Die Tendenz, Datenpunkte nicht zu Teilen ist in den verschiedenen Experimentalbedingungen also verschieden, außer bei den Leuten, die ihre Datenpunkte sowieso alle teilen, versteht sich. Wenn alles andere nicht relevant ist, ist das nicht kompliziert.

LG,
Bernhard
---
Programmiere stets so, dass die Maxime Deines Programmierstils Grundlage allgemeiner Gesetzgebung sein könnte

Nane
Beiträge: 8
Registriert: Mo Mär 16, 2020 12:09 pm

Re: Alternativen zur Zero Inflated Poisson Regression

Beitrag von Nane »

Vielen Dank schonmal für die Antwort.

Es ist natürlich nicht so, dass alles andere nicht relevant ist, aber zunächst geht es in erster Linie darum Treatmentunterschiede zu finden. Ich habe bereits schon sehr viele Tests gemacht, u.a. einen T-Test und Welch-Test. Komme aber leider nicht zu signifikanten Ergebnissen. Die sind leider absolut nicht aussagekräftig.
Die deskriptive Statistik zeigt, dass es wohl Unterschiede gibt.
Bei einer normalen linearen Regression mit Robust standard errors (Daten sind heteroskedastisch) werden die Daten zwar signifikant, aber das liegt daran dass es sehr viele Beobachtungen sind und nicht auf Gruppenebene. Sobald ich clustered standard errors betrachte, die ich eigentlich benötige, da ja auf Gruppenebene geteilt wird, sind die Signifikanzen weg.

Ich vermute, dass das an den exzessiven 200er Beobachtungen liegt. Denn bei Logarithmus, Abschneiden der 200er oder auch bei dem Zero Inflated Model (mit clustered standard errors), wobei die 200er etwas abgeschwächt und der Verteilung angepasst werden, schauen die Ergebnisse ganz gut aus. Aber das mit dem Zero Inflated Model ist gerade noch etwas zurechtgebastelt. Daher war eigentlich die Frage ob es entweder eine alternative Methode gibt, oder ob man die vordefinierte zeroinfl Methode aus R anders parametriesieren kann, dass die exzessiven Beobachtungen nicht bei der 0 sind.

Die Transformation der Daten ist in sofern kompliziert, dass die Ergebnisse in eine andere Richtung interpretiert werden. Momentan ziehe ich von meinen Daten 200 ab, sodass die 200 an der Stelle 0 sind und multipliziere nochmal mit -1 dass ich keine negativen Werte habe. Ein negativer Wert bedeutet demnach es wird mehr geteilt. Zur Interpretation des Wertes muss man zudem Odds Ratios nutzen und dies in Kombination mit umgedrehten Vorzeichen führt dann leicht zu einem Knoten im Kopf.

bigben
Beiträge: 1431
Registriert: Mi Okt 12, 2016 9:09 am

Re: Alternativen zur Zero Inflated Poisson Regression

Beitrag von bigben »

(x -200) * -1 = 200 - x

Bei der einfachen Umwandlung auf der rechten Seite entstehen erst keine negativen Werte.

Wie viele Beobachtungen hast Du denn, bei denen t- und Rangsummentest nicht signifikant werden?

LG,
Bernhard
---
Programmiere stets so, dass die Maxime Deines Programmierstils Grundlage allgemeiner Gesetzgebung sein könnte

Nane
Beiträge: 8
Registriert: Mo Mär 16, 2020 12:09 pm

Re: Alternativen zur Zero Inflated Poisson Regression

Beitrag von Nane »

bigben hat geschrieben:
Mo Mär 16, 2020 5:44 pm
(x -200) * -1 = 200 - x

Bei der einfachen Umwandlung auf der rechten Seite entstehen erst keine negativen Werte.
Das ist richtig, deshalb ja multipliziert mit -1. Ich meinte nach der Zero Inflated Poisson Regression entstehen im Count-Teil negative Werte, die dann umgekehrt interpretiert werden müssen.

Nane
Beiträge: 8
Registriert: Mo Mär 16, 2020 12:09 pm

Re: Alternativen zur Zero Inflated Poisson Regression

Beitrag von Nane »

bigben hat geschrieben:
Mo Mär 16, 2020 5:44 pm

Wie viele Beobachtungen hast Du denn, bei denen t- und Rangsummentest nicht signifikant werden?
Bei dem t- und Rangsummentest habe ich 59 Beobachtungen, da dies auf Gruppenebene sein muss (Insgesamt 59 Gruppen). Ansonsten müsste ich clustern.

bigben
Beiträge: 1431
Registriert: Mi Okt 12, 2016 9:09 am

Re: Alternativen zur Zero Inflated Poisson Regression

Beitrag von bigben »

In dem Histogramm oben sind ca 800 Werte eingetragen und jetzt gibt es 59 Paare und gleichzeitig sollen alle weiteren Informationen zum Studiedesign nicht relevant genug sein, um sie mit uns zu teilen?
Ok, ich bin dann jetzt raus. Viel Erfolg noch!
Bernhard
---
Programmiere stets so, dass die Maxime Deines Programmierstils Grundlage allgemeiner Gesetzgebung sein könnte

Antworten