Analysieren Sie die Proportionen


13

Ich habe einen Datensatz mit mehreren Anteilen, die sich zu 1 addieren. Ich bin an der Änderung dieser Anteile entlang eines Verlaufs interessiert (siehe unten für Beispieldaten).

gradient <- 1:99
A1 <- gradient * 0.005
A2 <- gradient * 0.004
A3 <- 1 - (A1 + A2)

df <- data.frame(gradient = gradient,
                 A1 = A1,
                 A2 = A2,
                 A3 = A3)

require(ggplot2)
require(reshape2)
dfm <- melt(df, id = "gradient")
ggplot(dfm, aes(x = gradient, y = value, fill = variable)) +
  geom_area()

Bildbeschreibung hier eingeben

Zusätzliche Informationen: Es muss nicht unbedingt linear sein, ich habe dies nur zur Vereinfachung des Beispiels getan. Die ursprünglichen Zählungen, aus denen diese Anteile berechnet werden, sind ebenfalls verfügbar. Der reale Datensatz enthält mehr Variablen, die sich zu 1 addieren (z. B. B1, B2 und B3, C1 bis C4 usw.) - daher wäre auch ein Hinweis für eine multivariate Lösung hilfreich ... Aber im Moment bleibe ich bei der univariaten Seite der Statistik.

Frage: Wie kann man solche Daten analysieren? Ich habe ein bisschen rumgelesen und vielleicht ist ein multinomiales Modell oder ein glm geeignet? - Wenn ich 3 (oder 2) glms ausführe, wie kann ich die Einschränkung berücksichtigen, dass die vorhergesagten Werte 1 ergeben? Ich möchte nicht nur solche Daten zeichnen, sondern auch eine tiefere Regressionsanalyse durchführen. Ich möchte vorzugsweise R verwenden - wie kann ich dies in R tun?


Der Befehl proprcsplinein Stata könnte das sein, wonach Sie suchen (ich weiß, dass Sie ihn verwenden möchten R, aber vielleicht könnte dies ein Ausgangspunkt sein): proprcspline berechnet einen eingeschränkten kubischen Spline aus den Proportionen der Beobachtungen in jeder Kategorie von yvar mit xvar und Zeichnet sie als gestapeltes Flächendiagramm. Optional können diese geglätteten Anteile für eine Reihe von Steuervariablen (cvars) angepasst werden.
Boscovich

Könnten Sie näher erläutern, was "interessiert an" bedeutet? Möchten Sie nur die Proportionen gegen den Farbverlauf zeichnen? Oder haben Sie eine tiefere Analyse im Sinn? Wenn ja, wie sieht es aus - was genau möchten Sie aus diesen Daten lernen? Haben Sie auch die Originalzahlen zur Verfügung (was gut wäre) oder nur die Proportionen? Könnten Sie etwas mehr darüber sagen, woraus diese Daten bestehen und wie sie gesammelt werden?
whuber

1
@whuber: Ich möchte mit diesen Daten eine tiefere Analyse durchführen. Meine Hypothese ist, dass sich die Proportionen mit dem Gradienten ändern. Die Zählungen sind ebenfalls verfügbar.
EDi

1
Klingt so, als hätten Sie Kompositionsdaten. Ich weiß nicht viel darüber, aber Aitchisons Arbeit ist der Ausgangspunkt. Auf CRAN gibt es ein Paket, Kompositionen.
Aaron hat Stack Overflow am

Antworten:


13

In einer Dimension klingt dies wie ein Job für die Beta-Regression (mit oder ohne variable Streuung). Dies ist ein Regressionsmodell mit einer Beta-verteilten abhängigen Variablen, die natürlich auf 0-1 beschränkt ist. Ein R-Paket ist Betareg und eine Beschreibung seiner Verwendung finden Sie hier .
Bei mehr als zwei Anteilen führt die übliche Erweiterung der Beta-Verteilung zur Dirichlet-Regression. Ein R-Paket DirichletReg zur Verfügung, das zB hier beschrieben ist .

Es gibt einige Gründe, Logit-Links und multinomiale logistische Regression für echte Zusammensetzungsdaten nicht zu verwenden. Dies hängt hauptsächlich mit den starken Annahmen zusammen, die sie für die Varianz implizieren. Handelt es sich bei Ihren Daten jedoch nur um normalisierte Zählungen (Häufigkeiten?) , Sind diese Annahmen möglicherweise richtig und der Vorschlag von Peter wäre wahrscheinlich der richtige Weg.


Vielen Dank für die Links, ich werde sie mir ansehen. DirichletReg sieht vielversprechend aus! Zum Beispiel Folie 3 Ihres Links: "Wenn die 'Wahrscheinlichkeit', in einer bestimmten Kategorie zu antworten, über die Auswahlmöglichkeiten verteilt ist, ist ein Dirichlet-Ansatz informativer." . Weil ich nicht wusste, wie man das mit mlogit macht, weil die Auswahl nicht eindeutig sein muss. Auch eine gute Art der grafischen Darstellung - habe nicht darüber nachgedacht ...
EDi

Für Grafiken sind möglicherweise die R-Funktionen splineplot und cdplot hilfreich. In der Tat, wenn Sie nur die angepassten Linien wollten und nicht viel Regressionsmaschinerie benötigten, könnten Sie cdplot wahrscheinlich dazu bringen , Ihnen die relevanten Kurven zu geben (es ist nur die Dichte darunter)
konjugiert vor dem

Entschuldigung, ich wollte oben natürlich Spineplot eingeben .
Conjugateprior

Beachten Sie, dass das DirichletReg-Paket jetzt auf CRAN verfügbar ist und eine Vignette veröffentlicht wurde.
Jbaums

4

Ich bin nicht sicher, was genau Sie herausfinden wollen, aber wie steht es mit einer multinomialen logistischen Regression mit Gradient als unabhängiger Variable?

In R ist eine Möglichkeit, dies zu tun, die mlogit-Funktion in der mlogit-Bibliothek. Siehe diese Vignette

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.