Wie implementiere ich ein gemischtes Modell mit der Betareg-Funktion in R?


12

Ich habe einen Datensatz, der aus Proportionen besteht, die das "Aktivitätsniveau" einzelner Kaulquappen messen, wodurch die Werte zwischen 0 und 1 gebunden werden. Diese Daten wurden gesammelt, indem gezählt wurde, wie oft sich die Person innerhalb eines bestimmten Zeitintervalls bewegt hat (1 für Bewegung, 1). 0 für keine Bewegung) und dann gemittelt, um einen Wert pro Person zu erstellen. Mein fester Haupteffekt wäre "Dichtegrad".

Das Problem, mit dem ich konfrontiert bin, ist, dass ich eine Faktorvariable, "Teich", habe, die ich als zufälligen Effekt einbeziehen möchte - Unterschiede zwischen Teichen interessieren mich nicht, aber ich möchte sie statistisch berücksichtigen. Ein wichtiger Punkt bei den Teichen ist, dass ich nur drei davon habe, und ich verstehe, dass es ideal ist, mehr Faktorstufen (5+) zu haben, wenn es um zufällige Effekte geht.

Wenn dies möglich ist, möchte ich einige Ratschläge zur Implementierung eines gemischten Modells mit betareg()oder betamix()in R. Ich habe die R-Hilfedateien gelesen, finde sie jedoch normalerweise schwer zu verstehen (was jeder Argumentparameter im Kontext wirklich bedeutet von meinen eigenen Daten UND was die Ausgabewerte in ökologischer Hinsicht bedeuten) und deshalb arbeite ich tendenziell besser anhand von Beispielen.

In einem ähnlichen Zusammenhang habe ich mich gefragt, ob ich stattdessen einen glm()Link unter einer Binomialfamilie und einen Logit-Link verwenden kann, um zufällige Effekte mit dieser Art von Daten zu berücksichtigen.


Nein, Sie können keine Fehlerbegriffe in glm () einfügen. Was ist mit logit transformieren Sie Ihre Antwort und betrachten Sie ein lineares gemischtes Modell?
Utobi

@utobi Danke, ich werde es versuchen. Sie haben also keine Bedenken, einen zufälligen Effekt mit nur 3 Ebenen zu haben?
Kat Y

Ich kenne die Bedeutung Ihrer Variablen "Teich" nicht, aber wenn Sie wiederholte Messungen durchgeführt haben, sind zufällige Effekte fast ein Muss. Falls Sie keine wiederholten Maßnahmen haben, ist hier zufällig gegen fest eine offene Debatte. Drei Ebenen zufälliger Effekte können in Ordnung sein, im Prinzip ist ihre Varianz abschätzbar. Ich empfehle Ihnen, die Literatur auf Ihrem Gebiet zu überprüfen. Ein schönes Buch, das über zufällige und feste Effekte spricht, ist stat.columbia.edu/~gelman/arm .
Utobi

1
@utobi danke für deinen Rat. Es war hilfreich. Ich werde mir das Buch ansehen! Am Ende habe ich Logit-Transformationen durchgeführt und lmer () verwendet.
Kat Y

Überprüfen Sie heraus diese Antwort stats.stackexchange.com/questions/167340/…
Diogo B Provete

Antworten:


11

Die aktuellen Funktionen von betaregenthalten keine zufälligen / gemischten Effekte. In betareg()Sie können nur feste Wirkung umfassen, zum Beispiel für Ihre Drei-Ebenen - Teich variabel. Die betamix()Funktion implementiert eine Beta-Regression mit endlicher Mischung und keine Beta-Regression mit gemischten Effekten.

In Ihrem Fall würde ich zuerst versuchen zu sehen, welchen Effekt ein fester Teichfaktoreffekt hat. Dies "kostet" Sie zwei Freiheitsgrade, während ein zufälliger Effekt mit nur einem zusätzlichen Freiheitsgrad etwas billiger wäre. Es würde mich jedoch wundern, wenn die beiden Ansätze zu sehr unterschiedlichen qualitativen Erkenntnissen führen würden.

Schließlich unterstützt glm()zwar keine Beta-Regression, aber im mgcvPaket gibt es die betar()Familie, die mit der gam()Funktion verwendet werden kann.


Danke für deinen Beitrag. Sie haben einige Aspekte der Betareg-Funktionen geklärt. Zu diesem Zeitpunkt habe ich den Rat von @utobi befolgt und Transformationen protokolliert, damit ich lmer () verwenden kann. Ich werde mich mit gam () befassen, da mein nächster Datensatz ebenfalls zwischen 0 und 1 liegt und ich die Verteilungen nicht über Transformationen normalisieren kann :)
Kat Y

1
Ich würde erwarten, dass die Ansätze ähnliche Ergebnisse liefern, aber auch einige Unterschiede, aus denen Sie etwas lernen können. Daher würde ich empfehlen, alle drei zu testen, dh betaregmit festen Effekten, logit-transformiert lmermit zufälligen Effekten und gammit betar. (Und auch: Wenn die Antwort nützlich war, erwägen Sie, sie zu verbessern oder zu akzeptieren.)
Achim Zeileis

15

Das Paket glmmTMB kann für alle hilfreich sein, die eine ähnliche Frage haben. Wenn Sie beispielsweise Teich aus der obigen Frage als zufälligen Effekt einbeziehen möchten, reicht der folgende Code aus:

glmmTMB(y ~ 1 + (1|pond), df, family=list(family="beta",link="logit"))

Willkommen im Lebenslauf. Danke für Ihren Beitrag. Dies ist eher ein Kommentar als eine Antwort. Können Sie bitte Ihre Antwort erweitern?
Ferdi

Entschuldigung für die Verzögerung, ich habe den Kommentar nicht sofort gesehen. Ich hoffe, das hilft.
Kori K

3

Dies begann als Kommentar, ging aber lange. Ich denke nicht, dass ein Zufallseffektmodell hier angemessen ist. Es gibt nur 3 Teiche - möchten Sie eine Abweichung von 3 Zahlen schätzen? Das ist irgendwie das, was mit einem Zufallseffektmodell los ist. Ich vermute, die Teiche wurden aufgrund ihrer Bequemlichkeit für den Forscher ausgewählt und nicht als Zufallsstichprobe von "Ponds of the Americas".

Der Vorteil eines Zufallseffektmodells besteht darin, dass Sie ein Konfidenzintervall für die Reaktion (Aktivitätsstufe) erstellen können, das die Variation von Teich zu Teich berücksichtigt. Ein Modell mit festen Effekten - mit anderen Worten, wenn der Teich wie ein Block behandelt wird - passt die Reaktion auf den Teicheffekt an. Wenn es einen zusätzlichen Behandlungseffekt gab - beispielsweise zwei Froscharten in jedem Teich -, verringert das Blockieren den mittleren quadratischen Fehler (Nenner des F-Tests) und lässt den Effekt der Behandlung hervorscheinen.

In diesem Beispiel gibt es keinen Behandlungseffekt und die Anzahl der Teiche ist für ein Zufallseffektmodell zu gering (und wahrscheinlich zu "nicht zufällig"). Daher bin ich mir nicht sicher, welche Schlussfolgerungen aus dieser Studie gezogen werden können. Man könnte eine schöne Schätzung des Unterschieds zwischen den Teichen bekommen, aber das war es auch schon. Ich sehe keine Rückschlüsse auf die größere Froschpopulation in anderen Teichgebieten. Man könnte es als Pilotstudie einrahmen, nehme ich an.

Beachten Sie, dass die Verwendung eines Zufallseffektmodells hier eine sehr unzuverlässige Schätzung für die Teichvarianz liefert und mit Vorsicht verwendet werden muss.

Aber was Ihre ursprüngliche Frage betrifft - ist das nicht eher ein Ratenproblem? Die Go-to-Verteilung für Ereignisse pro Zeiteinheit ist der Poisson. Sie können also eine Poisson-Regression durchführen, indem Sie die Zählungen mit dem Zeitintervall als Offset verwenden.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.