Ich versuche, die mittleren Intensitäten von Parasiten, die einen Wirt in R beeinflussen, mithilfe eines negativen Binomialmodells zu modellieren. Ich bekomme immer wieder 50 oder mehr Warnungen, die besagen:
In dpois(y, mu, log = TRUE) : non-integer x = 251.529000
Wie kann ich damit umgehen? Mein Code sieht folgendermaßen aus:
mst.nb = glm.nb(Larvae+Nymphs+Adults~B.type+Month+Season, data=MI.df)
r
generalized-linear-model
negative-binomial
Natascha
quelle
quelle
Antworten:
Das negative Binomial ist eine Verteilung für Zähldaten. Sie möchten also wirklich, dass Ihre Antwortvariable zählt (dh nicht negative ganze Zahlen). Trotzdem ist es angebracht, "unterschiedliche Stichprobenbemühungen" zu berücksichtigen (ich weiß nicht genau, worauf Sie sich beziehen, aber ich verstehe das Wesentliche). Sie sollten dies jedoch nicht versuchen, indem Sie Ihre Zählungen durch eine andere Zahl teilen. Stattdessen müssen Sie diese andere Zahl als Versatz verwenden . Es gibt eine nette Diskussion über den Lebenslauf, was ein Offset hier ist: Wann sollte ein Offset in einer Poisson-Regression verwendet werden? Ich vermute, dass Ihr Modell so etwas wie:
quelle
cbind()
.Es ist eine Warnung, kein schwerwiegender Fehler. glm.nb () erwartet Zählungen als Ergebnisvariable, bei denen es sich um Ganzzahlen handelt. Ihre Daten sind keine ganzen Zahlen: 251.529.
R sagt: "Hmmm ... vielleicht möchten Sie das überprüfen und sicherstellen, dass es in Ordnung ist, weil es möglicherweise nicht richtig aussieht." Wenn mein Gedächtnis korrekt ist, gibt SPSS keine solche Warnung aus.
Wenn Sie sicher sind, dass Sie das richtige Modell verwenden, obwohl Sie keine ganzen Zahlen haben, ignorieren Sie es und fahren Sie fort.
quelle
Ich bin ein ökologischer Parasitologe. Sie sollten damit umgehen, indem Sie die parasitierten und die nicht parasitierten Wirte binden und dann eine Binomialverteilung verwenden. Siehe den folgenden Code.
Ich habe auch noch nie ein glm mit mehr als einer Variablen verwendet. Nehmen wir also an, Sie möchten sich parasitierte Larven ansehen: Sie hätten eine Anzahl von Larven, die gesund waren, und die Anzahl, die parasitiert waren.
Sagen wir: Lh und Lp
So zum Beispiel
parasitizedL = cbind (Lp, Lh) hist (parasitized) #Ich schätze, Sie können nur eine reguläre Binomialverteilung w / glm verwenden und benötigen möglicherweise kein neg.binomiales Modell PLarvae1 = glm (parasitizedL ~ B.type + Month + Season, Familie = Binomial, Daten = MI.df)
Führen Sie dann eine schrittweise Modellreduktion durch, um festzustellen, welche Ihrer Faktoren den Parasitismus signifikant beeinflussen ... siehe Link unten
http://bbolker.github.io/mixedmodels-misc/glmmFAQ.html
Es sieht jedoch so aus, als müssten Sie zufällige Effekte haben, um wiederholte Stichproben zu berücksichtigen. Daher ist Ihr zufälliger Effekt wahrscheinlich (1 | Saison / Monat) ... aber schwer zu sagen, ohne Ihre Daten zu kennen
quelle