Modelle kombinierenWenn ich dieses Jahr etwas vom Discovery Summit Americas gelernt habe, dann war es, wie üblich es ist, Ensemblemodelle zu mitteln und/oder zu erstellen, etwas, von dem ich gehört hatte, aber nie darüber nachgedacht hatte (als Modellierungsneuling). Also habe ich beschlossen, es zu tun. Ein Ensemblemodell zu erstellen ist einfach; Ich habe das Modell als Vorhersageformel gespeichert und diese einfach als Prädiktor in die nächste Runde des Modellscreenings einbezogen (mithilfe des Modellbildschirms von JMP Pro 16). Was einfacher zu sein scheint, die Modellmittelung, verwirrt mich. Wenn ich zwei Modelle finde, die mir gefallen, beide als Vorhersageformeln in meiner Datentabelle speichere und dann eine neue Spalte erstelle, in der sie kombiniert werden, scheint es, dass die Wahrscheinlichkeit kombiniert wird, aber die Formel hat nicht eine Syntax, in der ich könnte es auf neue Daten anwenden (es zeigt nur die Mittelung der Wahrscheinlichkeiten). Wenn ich beide Modelle im Formeldepot veröffentliche, kann ich sie auf diese Weise ziemlich einfach mitteln, das ist also meine aktuelle Problemumgehung, aber sollte ich sie nicht AUCH in der Tabelle selbst mitteln können? Ich denke, das Problem könnte sein, dass, weil die Vorhersageformel eine Formel UND eine Wahrscheinlichkeit hat, wenn ich sie kombiniere, nur die Wahrscheinlichkeit gemittelt wird, wenn ich eigentlich die Formeln selbst mitteln möchte. Kann ich beide so mitteln, dass ich die gemittelte Formel in eine neue Datentabelle kopieren und mit neuen Daten testen kann? Wenn nicht, wurde Formula Depot genau dafür entwickelt, also ist das kein großes Problem. Ich möchte nur ein paar Optionen haben! Vielleicht entferne ich einfach den Wahrscheinlichkeitsteil dorthin, wo NUR die Formel in der Informationszelle der Spalte übrig bleibt?
Prädiktive Modellierung und maschinelles LernenBetreff: Modelle kombinierenJa! Ich glaube, wie üblich, dass Sie Recht haben, was die seltsame Natur des Versuchs angeht, eine kategoriale Variable vorherzusagen, bei der man effektiv zwei Gleichungen benötigt, was die Sache schwieriger macht. Was ich zu erreichen hoffe, ist, irgendwann eine ausreichend große Stichprobengröße zu haben, bei der ich einen echten Gradienten habe, entweder 1-10, 1-5 oder 1-100, wobei die Idee dieselbe ist: 1=schrecklich, die höchste Zahl=großartig . Selbst in diesem Fall habe ich entweder zwei Kategorien (bleichunempfindlich vs. bleichempfindlich) oder manchmal drei (die ersten beiden + „mittelmäßig“). Ich könnte damit herumspielen, sie als 1, 50 und 100 für anfällig, mittelschwer und resistent umzukodieren und sehen, welche Ergebnisse ich erhalte. Ich denke, je mehr Proben ich bekomme und analysiere, desto sinnvoller ist es, dass mein Y eine kontinuierliche Variable ist. Mit 20 Samples, mit denen ich jetzt spiele, verfüge ich im Wesentlichen nicht über genügend Daten, um über 2-3 Bins hinauszugehen. Aber es wird interessant sein zu sehen, ob meine Modelle ganz anders aussehen, wenn ich meine kategorialen Klassifizierungen in eine kontinuierliche Variable umkodiere. Es würde sicherlich den gesamten Modellbau reibungsloser machen. Und in Wirklichkeit wird es in der Natur NICHT so einfach sein wie „gesund“ vs. „krank“; Ich gehe davon aus, dass ich einen Gradienten erkennen werde, der ein Gesundheitsspektrum abdeckt, wie man es bei Menschen sieht (zum Beispiel das, was man im JMP-Diabetes-Datensatz sieht). Das Witzige an dieser Übung hinsichtlich der Wahrscheinlichkeitsbewertung ist jedoch, dass ich mir diese nie wirklich angeschaut habe; Ich bin direkt zu JMPs „Vermutung“ gegangen. Aber jetzt ist es super interessant, die tatsächlichen Wahrscheinlichkeiten zu betrachten, denn das ist es, was ich letztendlich berichten möchte: Bei Koralle A besteht eine Wahrscheinlichkeit von 95 %, dass sie verblasst. Bei dieser Übung zur Modellmittelung habe ich zufällig ein paar coole Nuancen entdeckt, die mir zuvor völlig entgangen waren! Und wie ich bereits sagte, auch wenn ich vorerst bei kategorialen Antworten „stecken bleibe“, funktioniert die Modellmittelungsfunktion von Formula Depot hierfür gut.
Sie werden erfreut sein zu erfahren, dass es dank Ihrer GUI über 20.000 neuronale Netzwerkmodelle (21.450, aber wer zählt?!) in meiner kürzlich eingereichten Arbeit (die im Wesentlichen Phase 1 = das Laborexperiment beschreibt) gibt. Offensichtlich bestanden nur eine Handvoll alle Qualitätskontrollen, und noch weniger wurden im Text ausführlich besprochen, aber es war äußerst nützlich zu sehen, welche NN-Parameter für mich im Wesentlichen am wichtigsten zu optimieren sind. Außerdem möchte ich das einfachste, (potenziell) sparsamste Modell erstellen. Wenn also ein NN zwei verborgene Schichten mit jeweils drei Aktivierungsknoten hat, während ein zweites Modell eine Schicht mit NTANH(3) hat, gilt bei sonst gleichen Bedingungen I Ich würde mich für Letzteres entscheiden, obwohl ich denke, dass dies nicht wirklich kritisch ist, da selbst die einfachste Lösung ziemlich komplex ist. Eine Sache, die ich dieses Jahr bei Discovery lernen wollte, was ich dank Chris Gotwalt geschafft habe, ist, ob die variablen Wichtigkeitsmetriken unter dem NN Profiler im Wesentlichen dazu verwendet werden können, Ihnen zu sagen, welche Analyten den größten Einfluss auf das Modell hatten. Die alte Regel besagte, dass NNs eine Blackbox seien und es viel zu kompliziert sei, herauszufinden, welche Antwortvariablen am wichtigsten seien, aber ich bin froh, dass das nicht ganz stimmt. Sind sie schwer zu interpretieren? Ja. Können Sie sagen, dass das Verhalten eines Proteins auf eine bestimmte, leicht definierbare Weise mit der Vorhersagekraft des Modells skaliert? Vielleicht nicht. Aber wenn mich ein Molekularbiologe fragen würde: „Welche Korallenproteine waren in Ihrem besten NN-Modell am wichtigsten?“, könnte ich zumindest einige der variablen Wichtigkeitsfunktionen des NN-Profilers auflisten. Aus diesem Grund habe ich mich in meinem Vortrag entschieden, das Gen-Reg-Modell zu diskutieren. Ich war mir nicht sicher, ob ich dem Profiler für eine NN (!) „vertrauen“ kann, aber jetzt sehe ich, dass ich es kann. Aber gerade deshalb profitiere ich als Model-Neuling so sehr von solchen Symposien. Nochmals vielen Dank für Ihre gut durchdachte Antwort und all Ihre Hilfe im Allgemeinen.
Betreff: Modelle kombinierenHallo @abmayfield ,
Ihr Vortrag hat mir gefallen, ich musste ihn mir allerdings auf Abruf ansehen und konnte nicht zur Live-Übertragung und Frage-und-Antwort-Runde kommen.
Normalerweise könnten Sie die Vorhersagespalten mitteln, wenn Sie eine typische Regressionsformel verwenden – etwas, das numerisch ist. Sie würden einfach den Durchschnitt der beiden nehmen. Da Sie jedoch mit einem kategorialen Wert „Ja“ oder „Nein“ (oder sogar vielleicht) arbeiten, wird es komplizierter, da die numerischen X-Eingaben in eine logistische Funktion umgewandelt werden müssen, die dann die Wahrscheinlichkeit ermittelt und die Ergebnisse mit einem IfMax( vergleicht). ) Funktion.
Nehmen Sie zum Beispiel die Big Class-Datei. Wenn Sie versuchen, :sex mit :height und :weight vorherzusagen, erhalten Sie eine logistische Ausgabefunktion. In meinem Beispiel versuche ich, sex = M vorherzusagen. Es gibt jedoch Zwischenfunktionen, die zur Bestimmung von Prob[M] und Prob[F] verwendet werden. Die lineare Funktion ist genau das, etwa Lin[M] = a + b*:height + c*:weight, wobei a, b und c nur Anpassungskoeffizienten sind. Um die Wahrscheinlichkeiten zu erhalten, verwendet JMP dann die Transformation 1/(1_exp(-Lin[M])) für Prob[M] und 1/(1+exp(Lin[M]) für Prob[F], was genau 1- ist. Wahrscheinlich[M]. Das wahrscheinlichste Ergebnis ist dann MaxIf(Prob[M]=>M, Prob[F]=>F) und je nachdem, welches Prob[y] größer ist, ist es das wahrscheinlichste Ergebnis, M oder F.
Wenn Sie in Ihrem Fall mit kategorialen Ergebnissen arbeiten, müssen Sie meines Erachtens die Lin[Y]-Funktionen mitteln, um sie dann in eine Wahrscheinlichkeit umzuwandeln. Die Anpassung an die Daten erfolgt durch die lineare Funktion, nicht durch die Wahrscheinlichkeitsfunktion. Aus diesem Grund müssen Sie vor der Transformation der linearen Funktion einen Mittelwert bilden.
Wenn Sie Ihr Ergebnis in eine kontinuierliche Antwort ändern können, ist ein einfacher Durchschnitt der Vorhersageformeln unkompliziert. Solange der Modellierungstyp nominal oder ordinal ist, behandelt JMP ihn als diskrete Ebenen und führt jedes Mal eine logistische Modellierung durch.
Eine Idee, die mir vielleicht gerade eingefallen ist, besteht darin, eine kontinuierliche Skala zu verwenden, um den Prozentsatz der Ausbleichung innerhalb eines bestimmten Bereichs darzustellen. Nehmen wir an, Sie bewerten 100 cm² (ein 10 cm x 10 cm großes Stück) Korallen und stellen fest, dass etwa 2 cm x 3 cm (oder 6 cm²) gebleicht sind. Dann würde der Bleichprozentsatz 60 % betragen. Auf diese Weise erhalten Sie möglicherweise eine genauere Darstellung, wie viel von einem Korallenexemplar gebleicht wird, und Sie verfügen nun über eine kontinuierliche Reaktion, die mit Regression vs. Klassifizierung modelliert werden kann.
Hoffe das hilft!,
DS
PS Der Discovery Summit war großartig. Mir haben viele Vorträge gefallen. Außerdem aktualisiere ich meine GUI, um die Tuning-Tabellen automatisch basierend auf Benutzereingaben zu generieren. Ich gebe Ihnen Bescheid, wenn die neue Version fertig ist. Es sollte dazu beitragen, den Prozess noch weiter zu automatisieren, indem ein raumfüllendes Design mit der Anzahl der Durchläufe erstellt wird, die Sie durchführen möchten.
Betreff: Modelle kombinierenAus Ihrer Beschreibung geht hervor, dass Sie eher die Vorhersagen (diskret) als die Wahrscheinlichkeiten (kontinuierlich) mitteln möchten.So habe ich das noch nicht gesehen.Es gibt eine Technik, die konforme Vorhersage, mit der ermittelt werden soll, wie robust die Vorhersagen eines Modells sind.Aber was Sie beschreiben, würde wie folgt aussehen: Angenommen, es gibt zwei Klassen, die vorherzusagen sind, und Sie codieren sie als kontinuierlich, 0 und 1. Angenommen, Sie haben 3 Modelle: 2 davon sagen eine 0 für einen bestimmten Fall voraus und 1 sagt eine 1 voraus . Dann würde Ihre „Mittelwertbildung“ ein Ergebnis von 1/3 ergeben, was Sie vermutlich als Wahrscheinlichkeit für eine 1 annehmen würden. Interessante Idee, aber ich bin mir nicht sicher, welche statistische Grundlage ein solcher Ansatz hat.Außerdem scheint es, dass es auf binäre Klassifizierungen beschränkt wäre (obwohl dies nur eine Grenze darstellt).Ich bin gespannt, welche weiteren Antworten Sie erhalten.