Wie mache ich eine logistische Regression in R, wenn das Ergebnis ein Bruchteil ist (Verhältnis von zwei Zählungen)?


24

Ich überprüfe ein Papier, das das folgende biologische Experiment hat. Eine Vorrichtung wird verwendet, um Zellen unterschiedlichen Mengen an Flüssigkeitsscherspannung auszusetzen. Wenn größere Scherbeanspruchungen auf die Zellen ausgeübt werden, beginnen sich mehr von ihnen vom Substrat zu lösen. Auf jeder Ebene der Scherbeanspruchung zählen sie die Zellen, die gebunden bleiben, und da sie die Gesamtzahl der Zellen kennen, die zu Beginn gebunden wurden, können sie eine fraktionierte Bindung (oder Ablösung) berechnen.

Wenn Sie den anhaftenden Anteil gegen die Scherspannung auftragen, ist das Ergebnis eine logistische Kurve. In der Theorie ist jede einzelne Zelle eine einzelne Beobachtung, aber offensichtlich gibt es Tausende oder Zehntausende von Zellen, so dass der Datensatz gigantisch wäre, wenn er auf die übliche Weise eingerichtet wäre (wobei jede Zeile eine Beobachtung ist).

Daher sollte meine Frage (wie im Titel angegeben) jetzt Sinn machen. Wie machen wir eine logistische Regression mit dem gebrochenen Ergebnis als DV? Gibt es eine automatische Transformation, die in glm durchgeführt werden kann?

In diesem Sinne, wenn es potenziell 3 oder mehr (gebrochene) Messungen gäbe, wie würde man dies für eine multinomiale logistische Regression tun?


Hier sind einige Beispiele für eine multivariate Outcome-Logistic-Regression:http://www.ats.ucla.edu/stat/r/dae/mlogit.htm
Marbel

1
Was Sie beschreiben, hört sich nicht so an, als hätten Sie unabhängige Beobachtungen (da sich Zellen vermutlich nicht wieder anlagern, wenn die Scherung erhöht wird, darf die Zahl, die bei jeder höheren Spannungseinstellung noch anliegt, nicht höher sein als die vorherige Zahl). Diese Abhängigkeit muss berücksichtigt werden. (Es erinnert an die Situation mit Wachstumskurven.) --- Sie können die Zahlen nicht einfach in ein GLM einbinden, als ob sie unabhängig wären ... und keine der Antworten scheint dieses Problem zu lösen.
Glen_b

2
@Glen_b Jedes Experiment würde mit verschiedenen Zellen durchgeführt, dh beginnend mit "100%" -Anhaftung und Anwenden eines anderen Wertes der Scherspannung.
thecity2

Ah, okay. Das würde unabhängige Ergebnisse liefern.
Glen_b -Reinstate Monica

Antworten:


37

Mit der glmFunktion in Rkönnen Sie die Formel für ein logistisches Regressionsmodell auf drei Arten festlegen.

Am häufigsten ist, dass jede Zeile des Datenrahmens eine einzelne Beobachtung darstellt und die Antwortvariable entweder 0 oder 1 ist (oder ein Faktor mit 2 Stufen oder eine andere Variable mit nur 2 eindeutigen Werten).

Eine andere Möglichkeit ist die Verwendung einer 2-Spalten-Matrix als Antwortvariable, wobei die erste Spalte die Anzahl der "Erfolge" und die zweite Spalte die Anzahl der "Fehler" darstellt.

Sie können die Antwort auch als Verhältnis zwischen 0 und 1 angeben und dann eine andere Spalte als 'Gewicht' angeben, die die Gesamtzahl angibt, aus der die Antwort stammt (eine Antwort von 0,3 und eine Gewichtung von 10 entspricht also 3). Erfolge 'und 7' Misserfolge ').

Eine der letzten beiden Möglichkeiten passt zu dem, was Sie versuchen, die letzte scheint die direkteste für die Beschreibung Ihrer Daten zu sein.


9

Wenn Sie eine abhängige Variable haben, die proportional ist, können Sie zunächst die Beta-Regression verwenden. Dies erstreckt sich (mit meinem begrenzten Wissen) nicht auf mehrere Proportionen.

Eine Übersicht über die Beta-Regression und eine R-Implementierung finden Sie unter betareg .


Vielen Dank! Das sieht aus wie das, was ich für den Binomialfall brauche.
thecity2

2

Ich habe nnet::multinom(Paket nnet ist Teil von MASS) für einen ähnlichen Zweck verwendet. Es akzeptiert kontinuierliche Eingaben in [0, 1].

Wenn Sie eine Referenz benötigen: C. Beleites et al .: Raman-spektroskopische Einstufung von Astrozytomgeweben: unter Verwendung von weichen Referenzinformationen. Anal Bioanal Chem, 2011, Bd. 400 (9), S. 2801-2816


Groß! Ich habe dieses Paket und wusste nicht, dass es diese Fähigkeit hat.
thecity2

@cbeleites: Ermöglicht es dem Abhängigen, [0,1] zu sein? Ich dachte, das wäre eine Funktion für eine nominelle Abhängigkeit (Prädiktoren sollten auf [0,1] skaliert werden ...
B_Miner

@B_Miner: ja, der Abhängige kann in [0, 1] sein. Die Funktion passt in ein künstliches neuronales Netz ohne versteckte Schicht und mit logistischem Sigma. Und ja, es wird empfohlen, die Prädiktoren auch grob auf [0, 1] zu skalieren, um eine bessere Konvergenz zu erreichen.
cbeleites unterstützt Monica
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.