Best Practices bei der Behandlung von Bereichsdaten als kontinuierlich

9

Ich schaue, ob Überfluss mit Größe zusammenhängt. Die Größe ist (natürlich) kontinuierlich, jedoch wird die Häufigkeit auf einer solchen Skala aufgezeichnet, dass

A = 0-10
B = 11-25
C = 26-50
D = 51-100
E = 101-250
F = 251-500
G = 501-1000
H = 1001-2500
I = 2501-5000
J = 5001-10,000
etc... 

A bis Q ... 17 Ebenen. Ich dachte, ein möglicher Ansatz wäre, jedem Buchstaben eine Zahl zuzuweisen: entweder das Minimum, das Maximum oder den Median (dh A = 5, B = 18, C = 38, D = 75,5 ...).

Was sind die potenziellen Fallstricke - und als solche wäre es besser, diese Daten als kategorisch zu behandeln?

Ich habe diese Frage durchgelesen, die einige Gedanken enthält - aber einer der Schlüssel dieses Datensatzes ist, dass die Kategorien nicht gerade sind -. Wenn Sie sie also als kategorisch behandeln, wird davon ausgegangen, dass der Unterschied zwischen A und B der gleiche ist wie der Unterschied zwischen B und C ... (die mit Logarithmus korrigiert werden können - danke Anonymouse)

Letztendlich würde ich gerne sehen, ob die Größe als Prädiktor für die Häufigkeit verwendet werden kann, nachdem andere Umweltfaktoren berücksichtigt wurden. Die Vorhersage wird auch in einem Bereich liegen: Angesichts der Größe X und der Faktoren A, B und C sagen wir voraus, dass die Häufigkeit Y zwischen Min und Max liegen wird (was vermutlich einen oder mehrere Skalenpunkte umfassen könnte: Mehr als Min D und weniger als Max F ... obwohl je genauer desto besser).

Trees4theForest
quelle

Antworten:

13

Kategoriale Lösung

Wenn Sie die Werte als kategorisch behandeln, verlieren Sie die entscheidenden Informationen über die relativen Größen . Eine Standardmethode, um dies zu überwinden, ist die geordnete logistische Regression . Tatsächlich "weiß" diese Methode, dass und unter Verwendung beobachteter Beziehungen zu Regressoren (wie z. B. Größe) (etwas willkürliche) Werte zu jeder Kategorie passen, die die Reihenfolge berücksichtigen.A<B<<J<

Betrachten Sie zur Veranschaulichung 30 (Größe, Häufigkeitskategorie) Paare, die als generiert wurden

size = (1/2, 3/2, 5/2, ..., 59/2)
e ~ normal(0, 1/6)
abundance = 1 + int(10^(4*size + e))

mit Häufigkeit in Intervallen [0,10], [11,25], ..., [10001,25000].

Streudiagramm der Überflusskategorie gegen Größe

Die geordnete logistische Regression erzeugt eine Wahrscheinlichkeitsverteilung für jede Kategorie. Die Verteilung hängt von der Größe ab. Aus solchen detaillierten Informationen können Sie geschätzte Werte und Intervalle um sie herum erstellen. Hier ist eine grafische Darstellung der 10 aus diesen Daten geschätzten PDFs (eine Schätzung für Kategorie 10 war aufgrund fehlender Daten dort nicht möglich):

Wahrscheinlichkeitsdichten nach Kategorie

Kontinuierliche Lösung

Warum nicht einen numerischen Wert auswählen, um jede Kategorie darzustellen, und die Unsicherheit über die wahre Häufigkeit innerhalb der Kategorie als Teil des Fehlerterms anzeigen?

Wir können dies als diskrete Annäherung an eine idealisierte Reexpression analysieren , die Häufigkeitswerte in andere Werte umwandelt, für die die Beobachtungsfehler in guter Näherung symmetrisch verteilt sind und unabhängig von ungefähr der gleichen erwarteten Größe (eine varianzstabilisierende Transformation).faf(a)a

Nehmen wir zur Vereinfachung der Analyse an, dass die Kategorien (basierend auf Theorie oder Erfahrung) ausgewählt wurden, um eine solche Transformation zu erreichen. Wir können dann annehmen, dass die Kategorie-Schnittpunkte als ihre Indizes erneut ausdrückt . Der Vorschlag läuft darauf hinaus, einen "charakteristischen" Wert innerhalb jeder Kategorie auszuwählen und als numerischen Wert der Häufigkeit zu verwenden, wenn beobachtet wird, dass die Häufigkeit zwischen und . Dies wäre ein Proxy für den korrekt wiedergegebenen Wert .fαiiβiif(βi)αiαi+1f(a)

Nehmen wir also an, dass die Häufigkeit mit error , so dass das hypothetische Datum tatsächlich anstelle von . Der Fehler, der bei der Codierung als wird, ist per Definition die Differenz , die wir als Differenz zweier Begriffe ausdrücken könnenεa+εaf(βi)f(βi)f(a)

error=f(a+ε)f(a)(f(a+ε)f(βi)).

Dieser erste Term, , wird von gesteuert (wir können nichts gegen tun ) und würde erscheinen, wenn wir nicht die Häufigkeit kategorisieren würden. Der zweite Term ist zufällig - er hängt von korreliert offensichtlich mit . Aber wir können etwas dazu sagen: Es muss zwischen und . Wenn gute Arbeit leistet, kann der zweite Term außerdem ungefähr gleichmäßig verteilt sein. Beide Überlegungen legen nahe, so zu wählen , dassf(a+ε)f(a)fεεεif(βi)<0i+1f(βi)0fβif(βi)liegt auf halber Strecke zwischen und ; das heißt, .ii+1βif1(i+1/2)

Diese Kategorien in dieser Frage bilden eine annähernd geometrische Folge, was darauf hinweist, dass eine leicht verzerrte Version eines Logarithmus ist. Daher sollten wir in Betracht ziehen, die geometrischen Mittelwerte der Intervallendpunkte zu verwenden, um die Häufigkeitsdaten darzustellen .f

Die gewöhnliche Regression der kleinsten Quadrate (OLS) mit diesem Verfahren ergibt eine Steigung von 7,70 (Standardfehler ist 1,00) und einen Achsenabschnitt von 0,70 (Standardfehler ist 0,58) anstelle einer Steigung von 8,19 (se von 0,97) und eines Achsenabschnitts von 0,69 (se von 0,56) beim Regressieren der Protokollhäufigkeit gegen die Größe. Beide weisen eine Regression zum Mittelwert auf, da die theoretische Steigung nahe . Die kategoriale Methode zeigt erwartungsgemäß aufgrund des hinzugefügten Diskretisierungsfehlers eine etwas stärkere Regression zum Mittelwert (eine geringere Steigung).4log(10)9.21

Regressionsergebnisse

Dieses Diagramm zeigt die nicht kategorisierten Häufigkeiten zusammen mit einer Anpassung basierend auf den kategorisierten Häufigkeiten (unter Verwendung der empfohlenen geometrischen Mittelwerte der Kategorieendpunkte) und einer Anpassung basierend auf den Häufigkeiten selbst. Die Anpassungen sind bemerkenswert eng, was darauf hinweist, dass diese Methode zum Ersetzen von Kategorien durch geeignet ausgewählte numerische Werte im Beispiel gut funktioniert .

Bei der Auswahl eines geeigneten "Mittelpunkts" für die beiden extremen Kategorien ist normalerweise etwas Sorgfalt erforderlich , da dort häufig nicht begrenzt ist. (In diesem Beispiel habe ich den linken Endpunkt der ersten Kategorie grob als und nicht als und den rechten Endpunkt der letzten Kategorie als .) Eine Lösung besteht darin, das Problem zuerst mit Daten zu lösen, die keiner der extremen Kategorien entsprechen Verwenden Sie dann die Anpassung, um geeignete Werte für diese extremen Kategorien zu schätzen, und gehen Sie dann zurück und passen Sie alle Daten an. Die p-Werte sind etwas zu gut, aber insgesamt sollte die Anpassung genauer und weniger vorgespannt sein. f 1 0 25000βif1025000

whuber
quelle
+1 ausgezeichnete Antwort! Mir gefällt besonders, wie 2 verschiedene Optionen zusammen mit ihren Begründungen beschrieben werden. Ich versammle mich auch darum, das Protokoll der Fülle und nicht der Größe zu nehmen, was der Schwerpunkt sein sollte, was auch mein Gedanke war. Eine Frage, in Teil 1, lautet: "Sie können geschätzte Werte und Intervalle um sie herum erzeugen." Wie macht man das?
Gung - Reinstate Monica
Gute Frage, @gung. Ein grober Weg, der effektiv sein kann, besteht darin, die Kategorien als Daten mit Intervallwerten zu behandeln, und die geordneten Logit-Ergebnisse liefern eine (diskrete) Verteilung über diese Intervalle für jeden gegebenen Wert der "Größe". Das Ergebnis ist eine intervallwertige Verteilung, die einen intervallwertigen Mittelwert und intervallwertige Konfidenzgrenzen aufweist.
whuber
3
@whuber, es wäre erwähnenswert, die Software-Optionen zu erwähnen. Ich vermute, dass Sie Stata verwendet haben (wenn ich gut genug für Stata-Diagramme ausgebildet bin und diese anhand von R- und SAS-Diagrammen erkläre), mit denen dieses Modell ausgestattet ist ologit. In R können Sie dies mit polrin MASSpackage tun .
StasK
1
Du hast recht, @Stask. Vielen Dank für den Hinweis auf die R-Lösung. (Die Grafiken sind alle Standarddiagramme in Stata 11; nur die Legenden- und Linienstile in der letzten wurden angepasst, da die rot-grüne Unterscheidung ansonsten für etwa 3% aller Leser möglicherweise nicht erkennbar ist.)
whuber
2
@StasK rms::lrmund das Paket ordinal ( clm) sind ebenfalls gute Optionen.
Chl
2

Verwenden Sie den Logarithmus der Größe.

Hat aufgehört - Anony-Mousse
quelle
Ha - Diese Antwort löste eine teilweise Gesichtspalme aus. Richtig, das kümmert sich um das Skalenproblem - aber immer noch zur Hand: Kategorisieren oder nicht, und an welche Zahl der "Wert" gebunden werden soll. Wenn diese Fragen irrelevant sind, kann ich das auch hören.
Trees4theForest
1
Nun, Sie haben verschiedene Themen in einem zusammengefasst. Die Daten, die Sie haben, scheinen auf logarithmischer Ebene sinnvoller zu sein. Ob Sie Binning machen wollen oder nicht, ist eine separate Frage, und dort habe ich nur eine weitere Antwort auf Ihre Gesichtspalme: hängt von Ihren Daten ab und davon, was Sie erreichen möchten. Dann gibt es noch eine versteckte Frage: Wie berechne ich die Differenz zwischen Intervallen - berechne die Differenz ihrer Mittelwerte? oder der minimale Abstand (dann wäre A bis B 0, B bis C wäre 0, aber A bis C nicht). usw.
Hat aufgehört - Anony-Mousse
Gute Punkte, ich habe meine Frage mit weiteren Informationen aktualisiert, um die Ziele zu erreichen. Was den Unterschied in den Intervallen betrifft, denke ich, dass dies meine Frage ist - was wären die relativen Vor- und Nachteile der Berechnung des Intervalls basierend auf Mittelwertdifferenz, minimalem Abstand, maximalem Abstand, Abstand zwischen Minuten, Abstand zwischen Maximalwerten usw. Irgendwelche Ratschläge Es wäre großartig, welche Art von Dingen ich berücksichtigen muss, um diese Entscheidung zu treffen (oder ob sie überhaupt berücksichtigt werden muss).
Trees4theForest
Es gibt viele weitere Möglichkeiten. Um beispielsweise alle Skaleneffekte zu eliminieren, können Sie stattdessen versuchen, die Rangfolge vorherzusagen. Ansonsten geht es um Messfehler. Wenn Sie den Logarithmus verwenden, gewichten Sie die Fehler normalerweise auch auf diese Weise. Wenn also der wahre Wert 10000 und der vorhergesagte Wert 10100 ist, ist dies viel weniger als wenn der vorhergesagte Wert 1 ist und der wahre Wert 101 ist. Wenn Sie zusätzlich Binning durchführen und den Mindist zwischen den Bins berechnen, würden Sie sogar ein kleines Gewicht haben Fehler mit 0.
Hat beendet - Anony-Mousse