Lautsprecher
|
Transkript
|
| Joshua W. Lambert |
Hallo. |
| ROBYN GODFREY |
Hallo, ich bin Robin, ich Josh. |
| |
Ja. |
| ROBYN GODFREY |
Der Neo. |
| Joshua W. Lambert |
Ja, auch schön, Sie kennenzulernen. Tut mir leid, dass ich hier nur die PowerPoint-Präsentation öffne. |
| ROBYN GODFREY |
Okay. |
| |
Haben Sie Co-Moderatoren? |
| Joshua W. Lambert |
NEIN. |
| ROBYN GODFREY |
Also gut, ich gehe hier einfach die Liste durch, also zeichnen wir das auf, nur damit Sie mir mündlich bestätigen, dass Sie wissen, dass Sie aufgezeichnet werden. |
| |
Ja. |
| ROBYN GODFREY |
Internetbenachrichtigungen von Mobiltelefonen werden stummgeschaltet. |
| Joshua W. Lambert |
Ja. |
| ROBYN GODFREY |
Ja, ich glaube, ich mag die Windows-Taskleiste und all das, und sicher ist es so, als würden Ihre E-Mails in der Mitte verschwinden. |
| Joshua W. Lambert |
Und glaube ich nicht, dass ich alles ausgeschaltet habe, das mussten sie vorher noch nie machen? |
| ROBYN GODFREY |
Ich glaube, es liegt in der Taskleiste, ähm. |
| |
Mal sehen, hier. |
| |
Schließen Sie einfach Ihre E-Mail und alles wird gut. |
| |
Okay. |
| Joshua W. Lambert |
Habe die Tacos bekommen. |
| ROBYN GODFREY |
Okay, großartig, ich werde mich hier verstecken. |
| |
Um das zu tun, muss ich jedes Mal, wenn ich das tue, „Okay, was habe ich getan“ mögen. |
| Joshua W. Lambert |
Also dann. |
| |
Was die Präsentation angeht, denke ich, dass ihr euch von Anfang an trennen werdet. |
| |
Ja, und welche Fragen Sie stellen möchten. |
| ROBYN GODFREY |
Nein, nein, also halten Sie Ihre Präsentation einfach so, wie Sie es normalerweise tun würden. |
| |
Richtig und Sie wissen einfach, dass Sie Ihre Folien und alles aufrufen. |
| |
Wenn Sie zuerst reden und dann Ihre Folien aufrufen möchten, ist das in Ordnung, wenn Sie von vorne beginnen müssen oder ähnliches, lassen Sie es mich einfach wissen und wir können das tun, keine große Sache. |
| |
Okay, du bist ein kleiner Clip, als wärst du die Kamera. Gibt es eine Möglichkeit, ein wenig zurückzufahren, weil du ganz nah dran bist? |
| |
Ich kann nicht einmal dein ganzes Gesicht sehen, ich kann es sehen. |
| Joshua W. Lambert |
zu wissen, dass ich es vergessen habe. |
| ROBYN GODFREY |
ja, nur ein bisschen. |
| |
Oder senken Sie die Kamera vielleicht ein wenig ab. |
| |
Das ist gut. |
| |
Das ist gut, ja, wir können mehr von deinen Schultern und so sehen, okay. |
| |
Also schalte ich die Stummschaltung ein und gib mir einfach ein paar Sekunden, dann kannst du es tun. |
| |
Beginnen Sie, wenn Sie bereit sind, okay. |
| |
Großartig. |
| Joshua W. Lambert |
Hallo zusammen. Mein Name ist Josh Lambert. Ich bin Assistenzprofessor an der University of Cincinnati und seit etwa 10 Jahren JMP-Benutzer. |
| |
Und ich freue mich, mit Ihnen einige meiner Arbeiten zur Untersuchung von Interaktionen in Regressionsmodellen mit einem von mir erstellten Add-In zu teilen, das einen von mir entwickelten Algorithmus namens „Machbare Lösungsalgorithmus“ verwendet. |
| |
Also |
| |
einige Inhalte, über die wir heute sprechen werden. Deshalb beginne ich mit einem kleinen Beispiel, das unsere Diskussion anregen wird, sowie mit dem, woran ich gearbeitet habe, einem Überblick über das Problem. |
| |
Eine mögliche Lösung. |
| |
Und besprechen Sie dann, wie ich die Lösung in ein R-Paket implementiert und dieses dann in ein JMP-Add-In verschoben habe, und welchen Prozess ich dabei durchlaufen habe. Und dann werde ich über einige zukünftige Unternehmungen und einige Dinge sprechen, die ich dabei gelernt habe. |
| |
Lassen Sie uns unsere heutige Diskussion mit einem kleinen Beispiel motivieren. Ich werde ihn Tom, den Datenwissenschaftler, nennen. Also triff dich mit Tom. Er ist Datenwissenschaftler und Tom führt viele typische datenwissenschaftliche Aktivitäten durch, insbesondere erstellt Tom multivariable Regressionsmodelle in JMP. |
| |
Er beschäftigt sich hauptsächlich mit tabellarischen Daten, die viele Variablen enthalten, und Tom erkennt, dass es diesen multivariablen Regressionsmodellen an Komplexität mangelt, insbesondere an Interaktionstermen und quadratischen Termen. |
| |
Und Tom ... das frustriert Tom, und Tom möchte nicht direkt mit maschinellem Lernen beginnen. |
| |
Daher wünscht er sich, dass er Interaktionseffekte in seinen Regressionsmodellen untersuchen könnte. |
| |
Er hat Interaktionen, die er gerne testen würde, aber er müsste diese manuell in die Fit-Model-Plattform in JMP integrieren. |
| |
Und Sie wissen, dass es viel Zeit in Anspruch nehmen wird, all dies ausführen zu müssen. Wenn Tom beispielsweise 200 Variablen in seinem Datensatz hat und nach allen bidirektionalen Interaktionen suchen muss, müssen 19.900 bidirektionale Interaktionen überprüft werden. Das sind ein paar zu viel. |
| |
Tom fragt sich also: Gibt es eine algorithmische und datengesteuerte Möglichkeit, Interaktionseffekte in Regressionsmodellen zu untersuchen, ohne sie alle manuell erstellen und alle diese möglichen Kombinationen überprüfen zu müssen? |
| |
Lassen Sie uns dieses Problem also etwas mathematisch und statistisch genauer betrachten. Wir haben also ein Problem mit Volumen und Komplexität. |
| |
Also Volumen und Komplexität |
| |
wird weiterhin sehr schnell wachsen. Uns stehen immer mehr Daten zur Verfügung, und auch die Komplexität dieser Daten nimmt zu. |
| |
Das Problem bei Interaktionen besteht darin, dass es einfach zu viele davon gibt, als dass man sie überprüfen könnte. |
| |
Normalerweise muss ein Datenwissenschaftler, Statistiker oder Wissenschaftler mit einer bekannten Reihe von zu überprüfenden Interaktionen in die Analyse einsteigen |
| |
und fahren Sie dann mit der Überprüfung fort. Dies ist aus mehreren Gründen ein Problem. |
| |
Dies bedeutet, dass Sie möglicherweise keine genaue Vorstellung davon haben, welche Interaktionen möglicherweise vorhanden sind und welche nicht, und diese in Ihren Daten untersuchen möchten |
| |
ohne auf Modelle wie Random Forest oder sogar Hauptkomponentenanalyse zurückgreifen zu müssen, um eine Art Datenreduktion durchzuführen, wodurch die Komplexität erhöht wird. Sie möchten beim Erstellen eines Regressionsmodells wirklich gerne Dinge erledigen. |
| |
Das andere Problem bei zufälligen Gesamtstrukturen und Hauptkomponenten sowie anderen Arten von Aufgaben des maschinellen Lernens besteht darin, dass diese Dinge oft schwer zu interpretieren sind, und wir möchten hinzufügen ... die Interpretierbarkeit von Regressionsmodellen beizubehalten, während wir es sind Interaktionen erforschen. |
| |
Also typischerweise unser Arbeitsablauf in der Regression |
| |
Daher verbringt der Statistiker viel Zeit damit, ein sparsames, wie ich es nenne, Basismodell mit den erforderlichen Variablen und ohne hinzugefügte Interaktionseffekte zu erstellen. |
| |
Bei diesem Basismodell wird der Statistiker viel ... viel Zeit mit diesem Basismodell verbringen, viele Ressourcen, Sorgfalt, Zeit damit verbringen, darüber nachzudenken, ob sie interpretierbar sind oder nicht und ob sie im Kontext einen guten Sinn ergeben. |
| |
Das Problem bei diesen Basismodellen, die keine Komplexität berücksichtigen, besteht darin, dass sie davon ausgehen, dass die Auswirkungen ... dass die von ihnen geschätzten Auswirkungen über alle möglichen Untergruppen hinweg konsistent sind, wie Geschlecht, Rasse, Alter, und das ist normalerweise nicht der Fall WAHR. |
| |
Dieser Mangel an Komplexität |
| |
verhindert wirklich, dass Menschen es verwenden können, im Vergleich zu einem Modell für maschinelles Lernen, das diese Komplexität wirklich gut modellieren kann. Das Problem lässt sich also wie folgt zusammenfassen. |
| |
Gibt es eine Möglichkeit, dass wir nicht ganz bei traditionellen multivariablen Regressionsmodellen und nicht ganz bei Modellen für maschinelles Lernen bleiben können? |
| |
Aber finden Sie einen schönen Sweet Spot in der Mitte, wo wir die gute Interpretierbarkeit unserer Regressionsmodelle nutzen können, die ein oder zwei Interaktionen hinzufügen |
| |
die wir in diesen großen Datenmengen gefunden haben, sodass wir unseren Modellen und der Komplexität interessante Nuancen hinzufügen können, die wiederum die Vorhersageleistung sowie ein gutes Kontextverständnis verbessern. |
| |
Wenn es also eine Möglichkeit gibt, dies zu tun, möchten wir wirklich ein Tool entwickeln, mit dem Statistiker, Datenwissenschaftler und Forscher die Wechselwirkungen untersuchen können, nachdem sie ein Basismodell erstellt haben. |
| |
Das Basismodell wird zuerst durchgeführt, und dann erfolgt normalerweise die Komplexitätserkundung als zweites. |
| |
Wir haben also einige Einschränkungen und Präferenzen, wenn wir ein solches Tool entwickeln würden. Wir möchten, dass es auf der Grundlage traditioneller statistischer Modelle eine lineare logistische Regression gibt. |
| |
Wir möchten, dass sie interpretierbar bleiben. Wir möchten nach Möglichkeit weniger Modelle prüfen und bevorzugen „durchführbar“ gegenüber „optimal“. Ich werde später etwas genauer darauf eingehen, was das bedeutet, aber im Wesentlichen bedeutet es Folgendes |
| |
Wir möchten, dass es eine Fülle von Lösungen gibt und nicht nur eine einzige, die gut ist und wir als machbar bezeichnen. |
| |
Und wir möchten auch, dass es flexibel ist. Es könnte angepasst werden, um mit linearer Regression, logistischer Regression und Cox-Proportional-Regression arbeiten zu können. Wir könnten es für die Poisson-Regression verwenden, jede Art von Regression, für die dieses Framework oder Tool verwendet werden könnte. |
| |
Und wieder wird es eine Mischung aus traditionellen statistischen Methoden und maschinellem Lernen sein. Die Ergebnisse, die dabei herauskommen werden, werden nicht unbedingt schlussfolgernd sein, aber sie werden explorativer Natur sein und motivieren und beeinflussen, womit wir in Zukunft unsere Zeit verbringen. |
| |
Sprechen wir nun über diese mögliche Lösung, den zulässigen Lösungsalgorithmus. |
| |
Der Algorithmus ... der zulässige Lösungsalgorithmus, der manchmal FSA genannt wird, oder wie ich ihn gerne nenne, |
| |
wurde zum ersten Mal in diesem Aufsatz besprochen ... wirklich zum ersten Mal ausführlich in diesem Aufsatz besprochen, den ich 2018 geschrieben habe. |
| |
Und |
| |
Ich werde hier zusammenfassen, was der Algorithmus macht. |
| |
Das Ziel des Algorithmus besteht also darin, Wechselwirkungen der Ordnung m zu identifizieren (wenn m also 2 wäre, wäre das eine Zwei-Wege-Wechselwirkung; wenn m 3 wäre, wäre das eine Drei-Wege-Wechselwirkung). |
| |
mit einem realisierbaren Kriterium, also ist das ein Kriterium, das nicht unbedingt das beste Kriterium ist, aber es ist ein |
| |
Kriterium also |
| |
vielleicht irgendwie als halboptimal angesehen. |
| |
Dazu würden wir die folgenden Schritte ausführen. Das erste, was wir tun werden, ist, mit einer zufälligen Interaktion der Ordnung m zu beginnen. Nehmen wir also für unseren Fall an, dass es sich um eine Zwei-Wege-Interaktion handelt, also ist m 2. |
| |
Wir werden alle Austausche einer der Variablen und die Interaktion aller anderen Variablen betrachten. Nehmen wir zum Beispiel an, wir starten es zufällig. |
| |
Wir haben fünf Variablen, also ist dies nur ein kleines Beispiel, nur um die Schritte hier zu motivieren, aber nehmen wir an, wir haben fünf Variablen und beginnen zufällig bei X3, X5 und unseren Kriterien, die das R-Quadrat für diesen zufälligen Startplatz sind , ist .5. |
| |
Nehmen wir an, der Algorithmus funktioniert so, dass er erwägt, eine der Variablen, X3 oder X5, gegen eine der anderen auszutauschen. Unsere Entscheidungen sind also |
| |
X3 X1, X3 X2, X3 X4, X5 X1, X5 X2 und X5 X4. Beachten Sie also, dass von allen möglichen, wie ich es nenne, Swaps mindestens eine der Startplatzvariablen enthält, okay? |
| |
Und dann werden wir von all dem diese Modelle anpassen und herausfinden, welche Kriterien für diese Modelle gelten. Was wir hier also sehen können, ist das |
| |
für das Modell X3 X5 haben wir 0,5; X3 X1, das Kriterium ist .4. |
| |
Und mit R im Quadrat wollen wir natürlich nicht an einen schlechteren Ort gehen, sondern an einen besseren Ort, mit einem höheren R im Quadrat, damit wir aus allen möglichen Optionen herausfinden, welcher Ort der beste ist . |
| |
In diesem Beispiel ist Swap Nummer drei der beste Ort, also X3 X4. Was wir also tun würden, wäre, mit Schritt drei fortzufahren und ab Schritt Nummer zwei den besten Austausch zu machen. |
| |
In diesem Fall würden wir zu Platz X3, X4 gehen und dann zu Platz zwei zurückkehren und den Vorgang wiederholen, bis keine Verbesserungen mehr möglich sind. |
| |
Also würden wir diesen Prozess wiederholen, uns an Orte bewegen, dort beginnen und alle Tauschvorgänge in Betracht ziehen, bis wir schließlich keine Verbesserung mehr erzielen können. |
| |
Und wir werden das so nennen, dass wir am Ende eine praktikable Lösung finden. |
| |
Und wir werden die Schritte eins bis vier wiederholen, um weitere praktikable Lösungen zu finden. Wir können dies immer wieder tun, und dieser Prozess, dieser realisierbare Lösungsalgorithmus, garantiert nicht, dass Sie die optimale Lösung erhalten, obwohl er Ihnen manchmal die optimale Lösung liefern kann. |
| |
Sprechen wir also über einige Nebenprodukte der Verwendung dieses Algorithmus, des zulässigen Lösungsalgorithmus. Und diese werden in einem Papier dargelegt |
| |
Elliott, eine Kollegin von mir, schrieb 2021, wo sie beschreibt, dass praktikable Lösungen, wie ich gerade bereits sagte, nicht garantiert sind, dass sie für ein gewähltes Kriterium optimal sind. |
| |
Und das bedeutet, dass alle optimalen Lösungen realisierbar sind, aber nicht alle realisierbaren Lösungen optimal sind. Machbare Lösungen sind also eine Art halboptimale Lösung. Sie liefern gute Kriterien, machbare Kriterien, aber nicht unbedingt optimale. |
| |
Diese realisierbaren Lösungskriterien liegen jedoch in der Regel sehr nahe an den optimalen und sind daher in der Regel ziemlich gut. Sie sind vielleicht einfach nicht so gut wie das Beste. |
| |
Viele ... wenn Sie den Vorgang, diese ... diese vier Schritte wiederholen, erhalten Sie möglicherweise viele mögliche Lösungen. Wenn Sie diesen Algorithmus also zehnmal ausführen, erhalten Sie möglicherweise vier mögliche Lösungen. |
| |
Möglicherweise erhalten Sie 10 mögliche Lösungen. Es hängt von den Daten ab, die Sie verwenden, sowie von der Varianz der Kovarianz dieses Datensatzes, es ist also ein wenig |
| |
Sie wissen nicht, wie viele Lösungen Sie erhalten werden. |
| |
Aus diesem Grund empfehlen wir Benutzern normalerweise, den Algorithmus für eine mögliche Lösung viele Male zu wiederholen, da dies Ihre Chancen erhöht, sowohl die optimalen als auch die realisierbaren Lösungen zu erhalten, und stellen Sie sicher, dass Sie dies getan haben |
| |
den Raum ausreichend durchsucht. Und wir haben ein weiteres Papier herausgebracht, in dem beschrieben wird (wenn jemand Interesse hat, kann er sich gerne an mich wenden), wie viele zufällige Sortierungen ich durchführen sollte, um sicherzustellen, dass ich eine angemessene Wahrscheinlichkeit habe, die optimale Sortierung zu erhalten. Wir haben ein |
| |
auch eine theoretische Arbeit darüber. |
| |
Aber im Wesentlichen funktioniert dies dadurch, dass einige dieser Interaktionen attraktiver sind. Sie ... der Beta-Bereich zieht sie mehr an als andere, und so bekommt man am Ende doch manchmal genau das |
| |
Eine Interaktion ist nicht optimal, sie kann manchmal führen... die Daten können oft dazu führen |
| |
Durch den machbaren ... machbaren Lösungsalgorithmus können Sie oft häufiger zu diesem Ort führen als zum optimalen, und das hat nur damit zu tun, wie die Daten korreliert sind und so weiter. |
| |
Sprechen wir also über das R-Paket und darüber, wie ich es in das JMP-Add-In verschoben habe. |
| |
Also |
| |
Das R-Paket heißt rFSA, und ich weiß, dass es einige Leute geben könnte, die R ziemlich ausgiebig genutzt haben, und andere, die das nicht getan haben. Und |
| |
R ist also eine wirklich schöne Programmiersprache und wird oft in Statistikprogrammen gelehrt, und deshalb war es die erste Anlaufstelle, an die ich mich sofort wandte, als ich an meiner Dissertation arbeitete |
| |
um, wissen Sie, diesen Algorithmus zu schreiben und der Community wirklich ein Werkzeug zur Verfügung zu stellen, mit dem sie Interaktionen in ihren eigenen Datensätzen identifizieren und untersuchen kann. |
| |
Und so implementiert das rFSA-Paket diesen realisierbaren Lösungsalgorithmus, über den ich gerade gesprochen habe |
| |
für Interaktionen in großen Datensätzen, und dieses Paket unterstützt die Optimierung vieler verschiedener Kriterien wie R-Quadrat, angepasstes R-Quadrat, AIC |
| |
Interaktion, P-Wert usw. Außerdem unterstützt es verschiedene Modellierungsstrategien wie lineare Modelle und verallgemeinerte lineare Modelle und kann problemlos an andere Modellierungstypen angepasst werden, beispielsweise an Cox-Proportional-Hazard-Modelle. |
| |
Und es gibt auch mehrere Lösungen, da der Algorithmus so oft wiederholt wird, wie Sie angeben. |
| |
Warum also ... Ich möchte ein wenig über meine Motivation sprechen, dieses Paket zu JMP zu verschieben, und ich werde darüber sprechen, warum, wann und wie ich das tun wollte. |
| |
Die erste Frage ist also: Warum tun wir das? Das Erste ist, dass es Spaß macht. Ich schreibe gerne in verschiedenen Programmiersprachen. Ich hatte nicht viel Erfahrung mit dem Schreiben in der JMP-Skriptsprache, der JMP-Version von |
| |
Ich wollte das also lernen und dachte, es würde Spaß machen, dieses R-Paket, an dem ich fast vier Jahre gearbeitet habe, zu verschieben und zu versuchen, es auf JMP zu übertragen, weil |
| |
Ich mag JMP wirklich. Ich finde JMP großartig. Es ist ein wirklich tolles Tool für mich und meine Daten |
| |
Analysepipeline. Normalerweise beginne ich alle meine Projekte in JMP und untersuche die Daten, ich zeichne die Daten, ich schaue mir Dinge an und dann bekomme ich eine Menge guter Intuition über diese Daten. Und das fand ich bei vielen von mir |
| |
Kollegen, insbesondere einer meiner Berater, er arbeitet hauptsächlich in JMP und hat mich immer nach dem FSA-Paket in JMP gefragt. |
| |
Und so dachte ich, warum gibst du es ihm nicht? Er hat es auf jeden Fall verdient, also habe ich beschlossen, dass das ein gutes Werkzeug wäre und hoffentlich auch andere Leute tun würden |
| |
etwas Nutzen daraus ziehen. Und das führt mich zu meinem anderen Punkt, warum ich das tun sollte, und ich habe viel tolles Feedback zu rFSA bekommen. |
| |
Insbesondere habe ich verfolgt, wie viele Leute mein R-Paket heruntergeladen haben, und es gibt über 16.000 Leute, die es heruntergeladen haben, seit wir es 2019 veröffentlicht haben. |
| |
Ich habe unzählige E-Mails von Leuten auf der ganzen Welt erhalten und ich möchte, dass die Leute in JMP auf dasselbe zugreifen können, und ich hoffe, dass die Leute durch dieses Add-in wirklich coole Interaktionen finden, die ihre Interpretation ändern Daten und wie sie diese verstehen. |
| |
Und dann fragen Sie sich vielleicht: Wann sollte ich das tun? Das ist nicht gerade etwas, wofür mich jemand bezahlt. Wissen Sie, JMP bezahlt mich nicht dafür. |
| |
Ich denke zwar, dass sie meine aktuelle Position interessant finden würden, aber sie sind wahrscheinlich nicht gerade begeistert davon, dass ich eine Menge zusätzliche Zeit damit verbringe. |
| |
Aber zum Glück habe ich eine Sache in meine Position eingebaut: freitags etwas Freizeit. Ich versuche, den Freitagnachmittag oder Freitagmorgen einfach dem Spaß offen zu lassen, |
| |
lustige Dinge, die mit meinem Job zu tun haben. Und ich nenne es Fun Friday Free Time, und genau das habe ich in den letzten paar Monaten beschlossen: Ich nehme meinen Fun Friday Free Time und verbringe ihn damit, ein JMP-Add-In zu erstellen. |
| |
Sie fragen sich vielleicht: Wie sollte ich das machen? Wissen Sie, ich kannte die Skriptsprache JMP nicht. Wie sollte ich das anstellen? Also |
| |
Das erste ist, wissen Sie, ich wollte es lernen. Es gibt also viele wirklich tolle Ressourcen zum Erlernen von JSL. |
| |
Es gibt also JMP-JSL-Code-Unterstützung, die in der eigentlichen JMP-Software selbst enthalten ist. Gehen Sie einfach zu Hilfe, Sie können direkt...gehen |
| |
der Skriptindex, der da ist. Es gibt unzählige Dinge, die online sind |
| |
wie man die JMP-Skriptsprache versteht und wo man anfängt. Und dann ist da noch die community.jmp.com, |
| |
Das ist wirklich großartig für den Einstieg, wo man Fragen stellen oder andere Fragen ansehen kann, die Leute gestellt haben, und sich den Code ausleihen kann, den sie dort öffentlich gepostet haben, damit er ... damit die Leute ihn genießen können. Und das habe ich hier schon einige Male gemacht, und es war wirklich großartig. |
| |
Deshalb werde ich jeden einzelnen davon etwas ausführlicher durchgehen. Wenn Sie daran interessiert sind, ein R-Paket zu verschieben oder Ihren eigenen Algorithmus oder Ihren eigenen JSL-Code zu schreiben, |
| |
Sie werden eine Idee haben, wo Sie anfangen sollen. Und wenn ich damit fertig bin, werde ich auf mein Add-In eingehen und genauer darauf eingehen, was es macht und wie man es verwendet. |
| |
Wie lernt man JSL? Naja, das kannst du wieder... |
| |
Sie können es über eine Reihe von JSL-Ressourcen lernen, über die JMP verfügt. Sie haben also einen 864-seitigen Skriptleitfaden, der hier verlinkt ist. |
| |
dass Sie googeln können, oder Sie könnten diese Folien später erhalten und diese Links erhalten. Es gibt einen Skriptindex in JMP, den Sie einfach auf „Hilfe“ und dann auf „Skriptindizes“ aufrufen können. Ich habe es hier für euch zusammengestellt, wirklich einfach zu bedienen und loszulegen. |
| |
Sie können JMP kontaktieren. Das erste, was ich tat, war, dass ich einen Kontakt bei JMP hatte. Ihr Name ist Ruth Hummel und ich sagte: „Hey, ich möchte das machen, wo soll ich anfangen?“ |
| |
Sie unterstützte mich und ermutigte mich zu dieser Idee. Sie fand es großartig und brachte mich dann mit einem JSL-Code-Experten zusammen. |
| |
dessen Name Mark Bailey ist. Und Mark war während des gesamten Prozesses großartig. Mark half mir lediglich mit allgemeiner Unterstützung rund um die Skriptsprache, indem er meinen Code überprüfte und mir beim Schreiben von Teilen davon half. |
| |
Beginnen Sie mit einem Teil davon. Und wir haben in den letzten Monaten etwa 22 Mal per E-Mail hin- und hergeschickt. Und |
| |
die Ressourcen, die JMP mir zur Verfügung gestellt hat, bis hin zu direkten Mitarbeitern, die bereit waren, mir bei meinem Projekt zu helfen |
| |
waren gewaltig. Ich meine, ich hätte mir nichts Besseres wünschen können. Ich meine, ich habe noch nie zuvor diese Art von Unterstützung erhalten, als ich versuchte, etwas für eine andere Plattform zu erstellen. Ein großes Lob an JMP dafür |
| |
dies bereitstellen, und sie sind der Hauptgrund dafür, dass es so etwas gibt; Das liegt daran, dass sie fantastische Ressourcen bereitgestellt haben. |
| |
Unter community.jmp.com können Sie dort Fragen stellen, Antworten erhalten, Code ausleihen und sich dort zertifizieren lassen |
| |
JMP-Skriptsprache. Sie können die Community nach allem durchsuchen, was Sie wollen. Es ist wie bei Google, aber nur für JMP. |
| |
Und Sie können nach allem suchen, was Sie wollen, sodass Sie JSL und JSL eingeben können, was immer Sie wollen, und wahrscheinlich gibt es da draußen jemanden, der bereits darüber gepostet hat. Wenn dies nicht der Fall ist, können Sie dies zum Diskussionsforum hinzufügen. |
| |
Und dann gibt es da noch das Ausleihen von Code, und das ist eines der Dinge, die Mark mir mitgeteilt hat: „Hey, Code ausleihen“. Auf der Community-Website gibt es jede Menge Code. |
| |
Und die Leute haben es aus einem bestimmten Grund geteilt. Also ich ... hier rechts ist tatsächlich etwas, das ich mir für mein von mir entwickeltes Add-In ausgeliehen habe. Ich wollte, dass die Benutzer wissen, wo sie sich befinden |
| |
in Bezug auf die Ausführung des Algorithmus und wie viel länger es dauern würde oder wie viele Fortschritte bereits erzielt wurden. |
| |
Deshalb wollte ich keinen eigenen Fortschrittsbalken in JMP schreiben, also habe ich mir einfach einen aus dem Community-Board ausgeliehen und ihn direkt in mein Add-In eingefügt, also ja. |
| |
Diese Person, Craige Hales, ein pensionierter JMP-Mitarbeiter, hat diesen Code geschrieben und ich habe ihn mir ausgeliehen. Also danke, Craige; Vielen Dank, Mark, für die Empfehlung, den Code auszuleihen. Es hat mir viel Zeit gespart, ich weiß es wirklich zu schätzen und es hat das Add-in viel besser gemacht. |
| |
Lassen Sie uns nun endlich über das Add-In sprechen. Ich habe also mit Ihnen darüber gesprochen, warum dieses Add-In benötigt wird. Andere haben das R-Paket genutzt und warum ich denke, dass JMP-Benutzer davon profitieren werden. Ich habe mit Ihnen darüber gesprochen, wie ich es gemacht habe. |
| |
Und jetzt möchte ich Ihnen tatsächlich zeigen, wie es funktioniert, was hoffentlich der unterhaltsamste Teil der ganzen Sache ist. Also habe ich dieses ganze Paket, das R-Paket, in ein paar Monaten während meiner Freizeit am Freitag, die ich habe, zu JMP verschoben, das sind also nur ein paar Stunden am Freitag. Und das JMP-Add-In |
| |
Funktioniert derzeit nur für lineare und logistische Regressionsmodelle. Ich hoffe, dass ich es später auf andere Modelle erweitern kann, aber im Moment funktioniert es für lineare und logistische Regressionsmodelle. Die andere Sache ist, dass das Add-In, |
| |
Es verfügt nicht über viele der ausgefallenen Schnickschnack, die alle anderen integrierten JMP-Module haben, wissen Sie. Wenn Sie beispielsweise eine kategoriale Variable in die Antwortvariable einfügen, wechselt der Persönlichkeitstyp nicht automatisch zur logistischen Regression. |
| |
Dazu bin ich noch nicht gekommen. Es gibt viele andere Dinge, zu denen ich noch nicht gekommen bin und die ich mit diesem Paket verbessern möchte, wenn die Leute es verwenden und es entweder mögen und mir Feedback dazu geben. |
| |
Es mangelt also an Funktionalität. Und das Coole am Add-In-Manager ist, dass Sie einfach Ihren JSL-Code nehmen und es gibt ein Add-In ... einen Add-In-Manager, ein JMP-Add-In, |
| |
Dadurch können Sie Ihr eigenes Add-In aus Ihrem JSL-Code erstellen. Mit ein paar Mausklicks können Sie Ihren JSL-Code in ein Add-In umwandeln, das Sie mit der gesamten JMP-Community teilen können. |
| |
Und ich habe dies auf der Website community.jmp.com veröffentlicht, damit jeder dort hingehen und auf das Add-In zugreifen kann, das ich Ihnen gleich zeigen möchte |
| |
und um auf den Datensatz zuzugreifen, den ich auch verwenden werde. Dies funktioniert jedoch mit jedem Ihrer Datensätze, die Sie haben, nicht nur mit meinem Beispiel. |
| |
Deshalb werde ich Ihnen ganz kurz ein Live-Tutorial zu diesem Add-In geben, genannt ... das Add-In, ich habe es einfach Interaktionen erkunden genannt, und |
| |
Dies alles wird jedoch über den realisierbaren Lösungsalgorithmus erfolgen, über den ich zuvor gesprochen habe. Das Beispiel ist ein lineares Modell |
| |
wo ich zwei Variablen korrigieren werde, das wäre also mein Basismodell. Mein Basismodell verfügt über eine kontinuierliche Antwortvariable und zwei Kovarianten, an die ich mich anpassen möchte. |
| |
Und was ich dann tun möchte, ist, dass ich Wechselwirkungen zweiter Ordnung in Betracht ziehen möchte, um sie zu diesem Modell zwischen einer der 10 Variablen, die ich in meinem Datensatz habe, hinzuzufügen. |
| |
Und ich möchte fünf zufällige Starts durchführen und sicherstellen, dass mein Kriterium erfüllt ist, und dies ist derzeit das einzige Kriterium, das in das integriert ist |
| |
Das JMP-Add-In besteht darin, dass wir den P-Wert der Interaktion minimieren möchten. Also jede dieser Interaktionen, die wir überprüfen |
| |
einen P-Wert erzeugen, und ich möchte, dass meine Lösungen diejenigen sind, die einen P-Wert haben |
| |
sehr kleine P-Werte. Es wird also den Raum auf der Grundlage des P-Werts der Interaktion durchsuchen und diejenigen auswählen, die den besten haben. Unsere Ergebnisse werden also viele Wechselwirkungen mit kleinen P-Werten aufweisen. Und |
| |
Normalerweise empfehle ich Ihnen, nachdem Sie diese Art von Verfahren durchgeführt haben, den zulässigen Lösungsalgorithmus. |
| |
Anschließend zeichnen Sie die Daten auf, betrachten diese Interaktionen in Ihrem Modell und denken im Kontext kritisch darüber nach, denn am Ende des Tages untersuchen wir hier die Daten. |
| |
Dies ist in keiner Weise schlussfolgernd. Wir verwenden lediglich das Signal der Daten, um festzustellen, welche Wechselwirkungen in diesen Daten bestehen könnten. |
| |
Und auch hier werden die Daten und das Add-In auf der Community-Website veröffentlicht. |
| |
Okay, also höre ich auf, komme ganz schnell da raus und ziehe das hoch |
| |
JMP-Datensatz, den ich habe. Hoffentlich könnt ihr das sehen. |
| |
Und wie Sie sehen können, nur ein ganz kurzer Überblick, handelt es sich dabei eigentlich nur um einen Haufen Zufallsdaten, die ich generiert habe. Es gibt überhaupt keine wirkliche Struktur. Es gibt ... das sind keine echten Daten, sondern nur zufällig generierte Daten in JMP. |
| |
Es gibt hier 20 Beobachtungen. Ich habe 10 kontinuierliche Variablen, erklärende Variablen. |
| |
Ich habe eine kontinuierliche Antwortvariable und habe die Antwortvariable auch als größer als Null oder kleiner als Null kategorisiert. |
| |
Wenn Sie sich also die Ergebnisse der logistischen Regression ansehen möchten, können Sie mit den Daten auch ein Beispiel für eine logistische Regression erstellen. |
| |
Sobald Sie das Add-in erhalten haben, gehen Sie auf die Website, laden das Add-in herunter, doppelklicken einfach darauf und es wird direkt in JMP installiert. Es ist wirklich einfach. |
| |
Und dann können Sie einfach hierher gehen, also zum Add-In, gehen ... Sobald Sie Ihren Datensatz geöffnet haben, gehen Sie zum Add-In, um Interaktionen zu erkunden. |
| |
Und das wird hier auftauchen. Wir haben also ein paar Dinge. Daher sehen wir alle unsere Variablen hier auf der linken Seite, genau wie bei jedem anderen Modul in JMP. |
| |
Und so wähle ich meine Antwortvariable aus, die Y sein wird, und korrigiere sie dann, also konstruiere ich hier mein Basismodell. Das sind also alle linearen Haupteffekte, die ich meinem Modell hinzufüge. In diesem Fall habe ich also zwei Variablen: |
| |
X1 und X2, die ich hier hinzufügen werde. Jetzt müssen Sie unter anderem den Modellierungstyp angeben. In my gibt es also zwei Typen |
| |
Add-in, aus dem Sie wählen können. Eine davon ist die standardmäßige Modellierungsart der kleinsten Quadrate und eine ist die logistische Regressionsmodellierung. |
| |
Und dies wird, wie ich bereits sagte, nicht automatisch basierend auf dem, was Sie hier eingegeben haben, ausgewählt, Sie können also vollständig eine kategoriale Antwortvariable eingeben und es wird nicht wechseln. Sie müssen es selbst wechseln. Das ist einer dieser ausgefallenen Schnickschnack, ich werde hoffentlich später darauf zurückkommen. |
| |
Werd das Los. Setzen Sie das hier wieder ein. |
| |
Okay, das ist also unser Setup, und das wird dem Modell entsprechen: y ist gleich Beta Null plus Beta Eins X Eins plus Beta Zwei X Zwei. Und jetzt werde ich hier unten die Variablen eingeben, zu denen ich bereit bin |
| |
... oder ich möchte nach Interaktionen zwischen ihnen suchen, also wähle ich alle X1 bis X10 aus. Ich werde diese ergänzen. |
| |
Und dann sage ich: Okay, wie oft möchte ich den Algorithmus ausführen? Aus Zeitgründen werde ich dies also fünf Mal tun: |
| |
und die Reihenfolge der zu berücksichtigenden Interaktionen, daher werde ich nur zwei machen. |
| |
Ich empfehle, bei drei oder weniger zu bleiben. Normalerweise wird es viel schwieriger, Interaktionen zu interpretieren, bei denen es sich um Vier-Wege-Interaktionen oder Fünf-Wege-Interaktionen handelt, aber |
| |
Der Algorithmus ... oder die Art und Weise, wie ich das eingerichtet habe, ist, dass man so hoch gehen könnte, wenn man wollte. Ich habe eigentlich kein Limit festgelegt, aber je höher Sie hier kommen, desto mehr Zeit wird es dauern, bis Sie dies ausführen. |
| |
Also klicke ich auf „Okay“. Das wird eine Sekunde dauern. |
| |
Sie können also den Code sehen, den ich ausgeliehen habe. |
| |
Sie können sehen, dass es hier aufgetaucht ist und mir sagt, dass ich zu 20 %, zu 40 % fertig bin. |
| |
Das sind also Lösungen. Bei jeder weiteren Überprüfung wird also eine praktikable Lösung gefunden, und am Ende erscheint eine Datentabelle |
| |
Wissen Sie, das ist wiederum keine dieser Funktionen ... Ich würde mir wünschen, dass es ein Auswahlfeld gibt, in dem Sie die Interaktion auswählen und dann klicken können |
| |
Erstellen Sie ein Modell, und es würde das alles für Sie erledigen, genau wie JMP es bereits für viele verschiedene Dinge tut, aber ich bin noch nicht so weit gekommen. Hier erfahren Sie nur, was die Lösungen waren. |
| |
Es gibt Ihnen also eine Art Zusammenfassung dessen, was es getan hat. Es gab also fünf zufällige Starts. Es sagt Ihnen, was die Antwortvariable war, die festen Variablen, |
| |
Die gefundenen Interaktionsvariablen, okay, und das R-Quadrat, das angepasste R-Quadrat für dieses Modell, der quadratische Mittelwert des Fehlers und dann der P-Wert der Interaktion. Okay, was wir hier sehen können, ist das |
| |
(Wenn ich darauf klicke, wird es mir angezeigt) Es gibt nur zwei Lösungen, also gibt es ... X2 X3 war eine Interaktion und X10 X7 war eine andere. |
| |
Und was ich jetzt tun kann, was ich jetzt nicht tun werde, ist, dass ich dieses Modell baue und diese Ergebnisse reproduziere und mir die Ergebnisse ansehe, um zu sehen, okay, ist das eine gute Statistik? |
| |
Algorithmus ... oder eine gute statistische Interaktion, die ich hier gefunden habe? Wissen Sie, wie sehen meine Leverage-Plots aus? Was sind alles meine unterschiedlichen Kriterien? |
| |
Wie sehen die Grundstücke aus? Und wie sehen meine Diagnosediagramme aus? Solche Dinge. Und dann kann ich anfangen, Fragen zu stellen: Ist diese Interaktion im Hinblick auf die Parameterschätzungen sinnvoll und so weiter? |
| |
Es handelt sich um eine Sondierungsstudie, die Ihnen mögliche Lösungen aufzeigt, aber Sie müssen dies mit der gebotenen Sorgfalt weiterverfolgen und tatsächlich über die Ergebnisse nachdenken, die Sie erzielt haben |
| |
und stellen Sie Fragen an diejenigen, die Kontextexperten auf diesem Gebiet sind. So nutzen wir das normalerweise in den Gesundheitswissenschaften. Wir nutzen dies mit Gesundheitsdaten, wir produzieren Interaktionen, dann gehen wir zu den Ärzten, um zu sagen, ob das Sinn macht, dass dieser Effekt, |
| |
Wissen Sie, es wäre nicht konsistent über Alter, Geschlecht oder was auch immer. Und normalerweise reden sie mit uns darüber, wissen Sie, denken Sie darüber nach. Die ganze Idee ist, dass dies hoffentlich Einfluss auf zukünftige Studien haben wird, in denen wir die Studien dazu anregen können, nach diesen Interaktionseffekten in einem größeren Ausmaß zu suchen |
| |
gut angetriebene Art und Weise. |
| |
Okay, ich werde jetzt zu meinem PowerPoint zurückkehren. Das war also dieses Tutorial. Sie sehen, es ist ziemlich einfach zu bedienen. Das war ein wirklich kleines Beispiel. Sie können dies steigern, |
| |
Wissen Sie nur, je größer die Datensätze sind, desto länger wird der gesamte Prozess, den ich gerade durchgeführt habe, dauern. Es wird nicht 10 Sekunden lang sein; Es wird, |
| |
Sie wissen schon, möglicherweise 5-10 Minuten lang, je nachdem, wie groß Ihr Datensatz war. Ich habe ... den Algorithmus verwendet, das Add-In verwendet, um Datensätze mit 100 Variablen zu erstellen, |
| |
erklärende Variablen, und es dauerte ungefähr so viel Zeit, ungefähr sieben Minuten, um es auszuführen und ungefähr fünf oder zehn zufällige Starts durchzuführen. |
| |
Die Dinge sind im R-Paket schneller als im JMP-Add-In, aber das liegt daran, dass dies wiederum mein erster Versuch ist und hoffentlich durch Iterationen noch schneller und besser wird. |
| |
Sprechen wir also über zukünftige Verbesserungen. Deshalb möchte ich Benutzern die Möglichkeit geben, zu optimieren oder zu optimieren |
| |
Finden Sie praktikable Lösungen auf der Grundlage beliebiger, Sie wissen schon, beliebiger Kriterien. Wenn sie also praktikable Lösungen finden möchten, die auf der Optimierung des R-Quadrats oder der Optimierung des AIC oder der Optimierung der Fehlklassifizierungsrate basieren, |
| |
Wissen Sie, bei logistischen Regressionsmodellen möchte ich ihnen ermöglichen, das zu tun. Und es ist wirklich gar nicht so schwer, ich muss einfach hingehen und es tun. |
| |
Speichern oder wählen Sie Modellierungspersönlichkeiten automatisch basierend auf der Variablenauswahl aus. Das ist einfach. Du hast eine eingegeben |
| |
Wenn Sie eine binäre Logistikvariable verwenden, wird automatisch die logistische Regression für Sie ausgewählt. Ich denke nicht, dass das besonders schwer ist, ich könnte das wahrscheinlich ziemlich schnell schaffen. Ich bin zuversichtlich, dies zu tun, nachdem ich diesen Prozess der Umstellung meines R-Pakets durchlaufen habe. |
| |
Ich möchte die Geschwindigkeit etwas verbessern. Es gibt eine Menge Dinge, die ich tun könnte, um die Geschwindigkeit zu verbessern. |
| |
Also, ich würde das gerne tun können. Ein Recall-Button wäre schön. Das habe ich jetzt nicht. Eine meiner Lieblingsfunktionen in JMP ist die Möglichkeit, auf die Schaltfläche „Abrufen“ zu klicken. |
| |
Und dann möchte ich in der Lage sein, den Übergang von den Ergebnissen, die Sie von der FSA erhalten haben, zum Aufbau eines Modells zu optimieren. Also |
| |
Sie können das bereits tun, wenn Sie beispielsweise eine Vorwärtsauswahl in JMP oder Lasso oder einem dieser Dinge durchführen. Sie können einfach auf „Modell erstellen“ klicken und schon werden alle Variablen ganz einfach übernommen. |
| |
Ich würde das gerne mit diesem realisierbaren Lösungsalgorithmus machen können, einfach diese Art von Ergebnissen erhalten und einfach auf „Modell erstellen“ klicken und es erledigt automatisch alles für Sie |
| |
damit Sie sie erkunden können und hoffentlich auch hier die Interaktionen, die Sie gefunden haben, sinnvoll verstehen. |
| |
Daher einige Danksagungen, die ich gerne durchgehen möchte. An erster Stelle steht also Mark Bailey. Ohne dich hätte ich es nicht geschafft. Vielen Dank für Ihre Unterstützung beim JSL-Code. Vielen Dank an Ruth |
| |
Dafür, dass er mich einfach nur mit Mark in Kontakt gebracht hat, und weil ich einfach nur ein General bin, wissen Sie, |
| |
Ich bin ein Support-Person für dieses Projekt und gebe einfach gutes Feedback. Anne und Larry, ich weiß es einfach zu schätzen |
| |
Für Ihre Hilfe bei allen Dingen, die mit JMP und unseren früheren Beziehungen zu tun haben, und für die Ermutigung, an diesem Discovery Summit teilzunehmen. Es war wirklich großartig und ich freue mich darauf, mehr Leute in der JMP-Community kennenzulernen |
| |
durch, also vielen Dank dafür. Sie können auf verschiedenen Wegen mit mir in Kontakt treten. Sie können mir eine E-Mail an die E-Mail-Adresse meiner Universität senden, Sie können mich auf Twitter kontaktieren, wenn Sie das gerne tun. |
| |
Außerdem habe ich vor, dieses JMP-Add-In auf Github sowie auf der Community-Website zu veröffentlichen. Sie können also gerne an einer dieser Stellen nach zukünftigen Updates des Add-Ins suchen. |
| |
Also ja, vielen Dank, dass Sie mich haben, und ich freue mich darauf, Ihre Fragen während unserer vorgesehenen Zeit zu beantworten, danke. |