Betreff: Fallnummer 00060333/ 00055270
Kurzes Mitnehmen: Ich fordere eine Drag-and-Drop-Funktion in Graph Builder an, um mehrere Datenpunkte über eine ausgewählte interessierende Variable [z. B. das „Gegenteil“ von“ zu reduzieren Überlagerung ], mit dem Ziel zu informieren schlauer SEM-Fehlerbalken, bestimmt durch N der verbleibenden Anzahl angezeigter Datenpunkte. Dadurch werden mehrere statistisch irreführende oder falsche Visualisierungen korrigiert und die Effizienz drastisch erhöht, die derzeit zahlreiche Umgehungslösungen erfordert, die die Untersuchung komplexer Datensätze derzeit zu einer Herausforderung machen. Diese Funktion würde JMP unglaublich leistungsfähiger machen.
Was hat diese Wunschlistenanfrage inspiriert?Mein Name ist Brian Sweis, MD, PhD. Ich bin Psychiater und Verhaltensneurowissenschaftler und arbeite am Mount Sinai Hospital in New York City. Ich arbeite hauptsächlich mit Mausverhaltensdaten, die sehr große und komplexe Datensätze generieren. Die Tabellen, die ich in JMP zum Analysieren meiner Daten erstelle, enthalten viele verschiedene Datentypen, darunter einfache Elemente wie tägliche Körpergewichtsmessungen oder komplexere Aufgabenleistungsmessungen wie Versuchsreaktionszeiten, die bei einer Entscheidungsaufgabe getestet wurden, bei der ich manchmal 500 Versuche habe Separate Reihen pro Maus x 40 Mäuse x 60 Tage, wodurch leicht 1 Million Reihen erreicht werden. Ich analysiere oft Durchschnittswerte über Mäuse hinweg und zerlege meine Daten auf viele verschiedene Arten, einschließlich der Beschränkung der Analysen auf eine bestimmte Testwoche oder vielleicht nur auf die ersten 10 Versuche eines bestimmten Tages oder sogar auf mehrere Tage und so weiter. Wenn ich Zahlen erstelle, ist die flüssige Erkundung dieses riesigen Datensatzes mit Graph Builder von entscheidender Bedeutung. Ich muss den Standardfehler des Mittelwerts oft in Balken- oder Liniendiagrammen darstellen, wobei in der Verhaltensneurowissenschaft der gewünschte Fehlerterm für N Proben auf der Ebene der Anzahl der Organismen/Mäuse liegt. In Datensätzen, in denen ich über zahlreiche Replikate oder Stichproben verfüge, insbesondere wenn es sich um eine Messung handelt, die mehrmals innerhalb eines Tages oder über Tage hinweg durchgeführt wird, und ich wie oben beschrieben Gruppendurchschnitte darstellen möchte, werden die SEM-Fehlerbalken häufig fälschlicherweise unterschätzt, weil N im Diagrammersteller dies ist Verwenden der Gesamtzahl der Proben in der Anzeige (z. B. manchmal N = 5.000 Proben, wenn sie über Tage hinweg gruppiert werden, wenn ich eigentlich nur N = 40 Mäuse brauche).
Welche Verbesserung würden Sie sich wünschen?
Ich habe per E-Mail ein langes Thread-Gespräch mit einem Mitglied des JMP-Supportteams begonnen. Letztendlich haben wir gemeinsam entschieden, dass die von mir gewünschte Funktion äußerst wertvoll wäre, wenn sie nativ korrekt in Graph Builder implementiert würde, und derzeit nicht möglich ist, ohne dass zahlreiche Umgehungslösungen erforderlich sind, bei denen viele zusätzliche Tabellenzusammenfassungen, Datenspalten oder Skripts generiert werden müssen, die dann schnell unhaltbar werden die Anzahl der Variablen zunimmt oder sich die Art und Weise der Dateneinteilung ständig ändern muss.
Ich werde anhand einer Reihe von Screenshots Beispieldaten, das Problem und eine mögliche Lösung unten veranschaulichen.
Hier sind zunächst Beispieldaten für das Körpergewicht von 10 Mäusen, die 10 Tage lang jeden Tag entnommen wurden, also insgesamt N=100 Proben.

Als nächstes werde ich diese Körpergewichte im Durchschnitt von 10 Mäusen grafisch darstellen, aufgeteilt nach Tag, wenn sie in Gruppe X im Graph Builder abgelegt werden.

Sie können N=10 Punkte pro Tag schätzen. Hier sind die Durchschnitts- und SEM-Fehlerbalken korrekt und wie gewünscht. Das wird im Folgenden schnell problematisch.
Durch einfaches Entfernen des Tages aus Gruppe Jede Maus wird hier 10 Mal angezeigt. Hier ist der Durchschnitt in Ordnung, aber der SEM-Fehlerbalken verwendet N=100 als Fehlerterm und nicht n=10 Mäuse, was in der Verhaltensneurowissenschaft fast immer der Fall sein sollte. Es handelt sich um ein einfaches und häufiges Problem, das unglaublich nützlich wäre, wenn JMP eine native Lösung im Graph Builder einbauen würde. Nachfolgend erfahren Sie, wie das Problem immer komplexer wird und mit aktuellen Workarounds nicht einfach gelöst werden kann.

Am naheliegendsten ist es, die Funktion „Tabellenzusammenfassung“ zu verwenden.

Ich muss mich oft darauf stützen, muss aber normalerweise Hunderte von Tabellenzusammenfassungen aus meinem Originaldatensatz erstellen, wenn ich komplexere Variablen habe. Beim Durchsuchen meiner Daten gerät das sehr, sehr schnell außer Kontrolle. Und es ist in der Regel mit einer komplexen Anordnung verbunden, die darin besteht, Datenfilter anzuwenden, Zusammenfassungen von Zusammenfassungen zu erstellen und so weiter und so fort.
Einer der JMP-Supportmitarbeiter schlug vor, neue Spalten hinzuzufügen, in denen der Durchschnitt über die 10 Tage pro Maus berechnet wird. Wie Sie unten sehen können, funktioniert dies zwar, ist jedoch nur für eine einzelne Variable wie das Körpergewicht ziemlich umständlich und würde sich nicht gut auswirken zu einer Tabelle, die beispielsweise 100 andere Variablen enthält, die viel komplexer sind, wie z. B. Leistungsmessungen bei Verhaltensaufgaben. Das allein würde 8 Spalten x 100 Variablen hinzufügen und unüberschaubar werden. Selbst das Extrahieren der Formel für solche Spalten und das Ersetzen der Variablen, die die Formel verwendet, ist nicht ideal und äußerst manuell/mühsam.

Dies gilt insbesondere dann, wenn ich meine Daten in mehrere Ebenen unterteilen möchte, insbesondere wenn die Ebenen aus asymmetrischen Datenpunkten bestehen. Und vor allem, wenn ich meine Daten im Graph Builder untersuche und diese Binning-Parameter oft spontan ändere. Siehe unten.

Hier ist ein weiterer Anwendungsfall, bei dem ich auch lokale Datenfilter verwende, um meine Daten zu unterteilen. Dies wird mit Skripten oder neuen Spalten immer schwieriger zu implementieren.

Sie können sehen, dass, wenn ich nur die Tage 7 bis 10 unterteile und auf der linken Seite einbeziehe, wenn ich die Ebenen der Gruppe rechts hat immer noch n=40.
Im Wesentlichen wäre die optimale Lösung die Implementierung einer Möglichkeit, eine Variable von Interesse per Drag & Drop in eine neue Drop-Zone im Graph Builder zu ziehen. Im Folgenden beschreibe ich zwei mögliche Lösungen, die ich mir vorstelle:
Links kommentiert in Rot ist eine „Maus-ID“-zentrierte Methode , entweder als Möglichkeit, die Maus-ID im Graph Builder einzufügen und/oder als Option zur Auswahl in der Fehlerintervall-/Fehlerstiloption, bei der das Ziel darin bestehen würde, die 10 Datenpunkte pro Maus nativ auf einen einzigen Datenpunkt pro Maus zu reduzieren alles hier im Graph Builder. Somit können wir Graph Builder am Ende des Tages mitteilen, welche Variable wir den Fehlerterm bestimmen möchten (z. B. über eindeutige Werte, Mittelung über die verbleibenden Punkte). Rechts mit Anmerkungen versehen Grün ist eine „Tages“-zentrierte Methode – die Variable, die mir in diesem speziellen Beispiel egal ist und die ich zusammenfassen möchte. Betrachten Sie dies als das „Gegenteil von Overlay“ - Anstatt nach dieser Variablen aufzuteilen, möchte ich die Daten auf diese bestimmte Dimension reduzieren (im Wesentlichen das Gleiche, als würde ich sie absichtlich verlassen). Tag aus der Gruppierungsvariablen „Tabellenzusammenfassung“). Ich habe das Gefühl, dass die rote Methode sinnvoller ist, der Benutzer jedoch möglicherweise irgendwie darüber informieren möchte, auf welche Variable ich explizit reduzieren möchte (z. B. Tag). Unabhängig davon würden Sie beide zum idealisierten Balkendiagramm mit dem richtigen Fehlerterm führen (n=10 Gesamtdatenpunkte, 1 pro Maus). Bei der visuellen Untersuchung von Daten im Graph Builder könnten dadurch die komplexeren Beispiele gelöst werden, die ich oben beschrieben habe (z. B. mit benutzerdefinierten Ebenen, Datenfiltern usw.).

Warum ist diese Idee wichtig?
Eine schnelle Möglichkeit zur Anpassung intelligenterer Fehlerbalken anhand meines Vorschlags zu haben, würde die Untersuchung komplexer Datensätze sehr effizient machen, wenn sie nativ direkt in Graph Builder integriert wäre. Dadurch werden mehrere irreführende oder statistisch falsche Visualisierungen korrigiert, die oft nicht die zugrunde liegenden Analysen widerspiegeln, die viele Wissenschaftler und Forscher durchführen, wenn sie einzelne Organismen als angenommenen Fehlerterm verwenden. Dadurch werden zahlreiche Workarounds vermieden, die entweder schnell umständlich, unhaltbar oder bei größeren oder komplexeren Datensätzen nicht mehr zu bewältigen sind.Dieses Maß an Kontrolle im Graph Builder wäre beispiellos und meiner Meinung nach ein einzigartiges und unglaublich leistungsstarkes Tool.