Lautsprecher | Transkript |
| Mia Stephens | Willkommen zum JMP Discovery Summit. Ich bin Mia Stephens und ich bin ein JMP-Produktmanager. Zu mir gesellt sich Jordan Hiller, ein Systemingenieur. Und heute werden wir über die Automatisierung des Datenkurations-Workflows sprechen. |
| Und dies ist die Zusammenfassung nur als Referenz; Ich werde nicht darüber reden. |
| Und wir werden dieses Gespräch in zwei Teile teilen. Ich werde es starten und über den analytischen Workflow sprechen |
| und über die Datenerstellung sprechen, was wir unter Datenkuration verstehen. Und wir werden sehen, wie Sie potenzielle Probleme mit der Datenqualität in Ihren Daten identifizieren können. |
| Und dann werde ich es Jordanien übergeben, und Jordan wird über die Notwendigkeit der Reproduzierbarkeit sprechen. |
| Er wird uns einen Spickzettel für die Kuratierung von Daten zur Verfügung stellen und zeigen, wie ... wie Sie Ihre Daten in JMP kuratieren können. |
| den Aktionsrekorder und das erweiterte Protokoll. |
| Sprechen wir also über den analytischen Workflow. |
| Alles beginnt mit einem Geschäftsproblem, das wir zu lösen versuchen. |
| Und natürlich müssen wir Daten kompilieren, und Sie können Daten aus verschiedenen Quellen kompilieren und die Daten in ein JMP bringen. |
| Und am Ende müssen wir in der Lage sein, Ergebnisse auszutauschen und unsere Ergebnisse mit anderen zu kommunizieren. Manchmal ist dies vielleicht ein einmaliges Projekt. |
| Aber oft haben wir Analysen, die wir wiederholen werden. Eine Kernfrage, die in diesem Vortrag behandelt wird, lautet also: Können Sie Ihre Ergebnisse leicht reproduzieren? |
| Können andere Ihre Ergebnisse reproduzieren? Oder können Sie, wenn Sie über neue Daten verfügen oder wenn Sie Daten aktualisiert haben, Ihre Analyse und insbesondere die Schritte zur Datenerfassung für diese neuen Daten problemlos wiederholen? Das ist es, worauf wir in diesem Vortrag eingehen. |
| Aber was genau ist Datenkuration? |
| Und warum müssen wir uns darüber Sorgen machen? |
| Bei der Datenkuration geht es darum, sicherzustellen, dass unsere Daten für analytische Entdeckungen nützlich sind. Grundsätzlich müssen wir in der Lage sein, die Probleme zu lösen, die wir angehen wollen. |
| Dabei geht es hauptsächlich um Datenorganisation, Datenstruktur und auch Datenbereinigung. |
| Wenn Sie über Probleme nachdenken, die bei Daten auftreten können, fallen diese in vier allgemeine Kategorien |
| Möglicherweise haben Sie eine falsche Formatierung, unvollständige Daten, fehlende Daten oder schmutzige oder unordentliche Daten. |
| Um uns dabei zu helfen, über diese Probleme zu sprechen, werden wir einige Inhalte von STIPS ausleihen. Und wenn Sie mit STIPS nicht vertraut sind, ist STIPS unser kostenloser Kurs Statistisches Denken zur industriellen Problemlösung. |
| Dies ist ein Kurs, der auf sieben unabhängigen Modulen basiert, und das zweite Modul ist die explorative Datenanalyse. |
| Und aufgrund des iterativen und interaktiven Charakters der explorativen Datenanalyse und Datenkuration heißt die letzte Lektion in diesem Modell ... in diesem Modul Datenvorbereitung für die Analyse, sodass wir uns in diesem Vortrag stark von dieser Lektion leihen. |
| Lassen Sie uns jedes dieser Probleme aufschlüsseln. Falsche Formatierung. Was verstehen wir unter falscher Formatierung? Nun, dies ist der Fall, wenn Ihre Daten in der falschen Form oder im falschen Format für die Analyse vorliegen. Dies kann für die gesamte Datentabelle gelten. So könnten Sie zum Beispiel haben |
| aufgerufene ... Daten, die in separaten Spalten gespeichert sind, aber Sie benötigen tatsächlich die Daten, die in einer Spalte gespeichert sind. |
| Oder Sie haben Ihre Daten möglicherweise in separaten Datentabellen und müssen die Datentabellen entweder verketten oder aktualisieren oder zusammenfügen. |
| Es kann sich auf einzelne Variablen beziehen. So haben Sie beispielsweise möglicherweise den falschen Modellierungstyp. Oder Sie haben möglicherweise Datumsangaben in Ihrer Datentabelle, sodass Sie möglicherweise Datumsspalten haben und diese möglicherweise nicht als Tage formatiert sind, sodass die Analyse möglicherweise nicht erkennt, dass dies ... dies sind Datumsdaten. |
| Die Formatierung kann auch kosmetisch sein. Wenn Sie beispielsweise mit einer großen Datentabelle arbeiten, haben Sie möglicherweise viele Spalten ... |
| Möglicherweise haben Sie Namen ... Spaltennamen, die nicht wirklich erkennbar sind und die Sie möglicherweise ändern möchten. |
| Möglicherweise haben Sie viele Spalten, die Sie möglicherweise gruppieren möchten, um die Verwaltung zu vereinfachen. |
| Ihre Antwortspalte befindet sich möglicherweise ganz am Ende der Datentabelle und Sie möchten sie möglicherweise nach oben verschieben. Kosmetische Probleme werden Ihrer Analyse also nicht unbedingt im Wege stehen. Wenn Sie jedoch einige dieser Probleme beheben können, können Sie Ihre Analyse ein wenig vereinfachen. |
| Unvollständige Daten liegen vor, wenn Daten fehlen. Dies kann ein Mangel an Daten zu wichtigen Variablen sein. So haben Sie beispielsweise möglicherweise keine Daten zu Variablen erfasst, die für die Lösung des Problems von grundlegender Bedeutung sind. Es könnte auch ein Mangel an Daten zu einer Kombination von Variablen sein. |
| So verfügen Sie möglicherweise nicht über genügend Informationen, um eine Interaktion abzuschätzen. |
| Oder Sie haben eine Zielvariable, an der Sie interessiert sind, die unausgeglichen ist, sodass Sie möglicherweise so etwas wie Fehler untersuchen. Es können nur 5% Ihrer Beobachtungen sein |
| sind für Fehler und Sie haben möglicherweise nicht genügend Daten, denn Sie wissen, dass Sie möglicherweise nur eine sehr kleine Teilmenge Ihrer Daten haben |
| wo der Defekt vorliegt. Möglicherweise verfügen Sie nicht über genügend Daten, um mögliche Fehlerursachen zu verstehen. Möglicherweise verfügen Sie auch nicht über eine ausreichend große Stichprobengröße, sodass Sie einfach nicht über genügend Daten verfügen, um gute Schätzungen zu erhalten. |
| Fehlende Daten treten auf, wenn Werte für Variablen fehlen. Dies kann verschiedene Formen annehmen. |
| Wenn Sie Daten vermissen und die Daten ... das Fehlen nicht zufällig ist, kann dies ein ernstes Problem verursachen, sodass Sie möglicherweise voreingenommene Schätzungen haben. |
| Wenn Sie Daten völlig zufällig vermissen, ist dies möglicherweise kein Problem, wenn Sie nur einige Beobachtungen verpassen. Wenn Sie jedoch viele Daten vermissen, kann dies problematisch sein. |
| Schmutzige und unordentliche Daten treten auf, wenn Sie Probleme mit Beobachtungen oder Variablen haben. Sie könnten also falsche Werte haben, Werte sind einfach falsch. |
| Möglicherweise haben Sie Inkonsistenzen. So können beispielsweise Tippfehler oder Tippfehler auftreten, wenn Personen Dinge anders eingeben. |
| Die Werte sind möglicherweise ungenau. So könnten Sie beispielsweise Probleme mit Ihrem Messsystem haben. Es kann Fehler geben, es kann Tippfehler geben, die Daten sind möglicherweise veraltet. |
| Veraltete Daten liegen vor, wenn Sie Daten beispielsweise zu einer Einrichtung oder Maschine haben, die nicht mehr in Betrieb ist. |
| Die Daten sind möglicherweise veraltet, sodass Sie möglicherweise Daten haben, die zwei oder drei Jahre zurückliegen, aber der Prozess hat sich möglicherweise irgendwo in diesem Zeitraum geändert. |
| Dies bedeutet, dass diese historischen Daten für den aktuellen Prozess in seiner heutigen Form möglicherweise nicht relevant sind. Ihre Daten werden möglicherweise zensiert oder abgeschnitten. |
| Sie können redundante Spalten haben, dh Spalten, die im Wesentlichen dieselben Informationen enthalten. Oder Sie haben doppelte Beobachtungen gemacht. |
| So können schmutzige oder unordentliche Daten viele verschiedene Formen annehmen. |
| Wie identifizieren Sie potenzielle Probleme? |
| Ein guter Ausgangspunkt ist die Untersuchung Ihrer Daten. Wenn Sie Probleme identifizieren, werden Sie in die Datenerkundung und -analyse einbezogen. Und wenn Sie anfangen, Ihre Daten zu untersuchen, beginnen Sie, Dinge zu identifizieren, die Ihnen Probleme bei Ihrer Analyse verursachen könnten. |
| Ein guter Ausgangspunkt ist es also, die Datentabelle nach offensichtlichen Problemen zu durchsuchen. |
| Wir werden im weiteren Verlauf dieses Vortrags ein Beispiel mit dem Namen "Komponenten" verwenden. Dies ist ein Beispiel aus dem STIPS-Kurs |
| Wo ein Unternehmen kleine Komponenten produziert und sie ein Problem mit der Rendite haben. Damit die Daten gesammelt wurden, gibt es 369 Chargen. Es wurden 15 Merkmale erfasst, und wir möchten diese Daten verwenden, um mögliche Ursachen für niedrige Erträge zu verstehen. |
| Wenn wir uns also die Datentabelle selbst ansehen, gibt es einige Hinweise darauf, welche Probleme mit der Datenqualität auftreten können. Und ein wirklich schöner Ausgangspunkt (und dieser wurde in JMP 15 hinzugefügt) |
| is is is Header-Diagramme. Ich liebe Header-Grafiken. Wenn Sie eine kontinuierliche Variable haben, die Ihnen ein Histogramm anzeigt, können Sie die Zentrierung, die Form und die Verteilung der Verteilung sehen. |
| Sie zeigen Ihnen auch den Bereich der Werte. Wenn Sie über kategoriale Daten verfügen, wird ein Balkendiagramm mit Werten für die bevölkerungsreichsten Balken angezeigt. Schauen wir uns einige davon an. Ich werde mit der Chargennummer beginnen. Die Chargennummer zeigt also ein Histogramm und hat tatsächlich eine einheitliche Form. |
| Chargennummern, die wahrscheinlich eine Kennung sind. Auf Anhieb kann ich also feststellen, dass diese Daten wahrscheinlich falsch codiert sind. |
| Ich kann sehen, dass diese Verteilung stark verzerrt ist, und ich kann auch sehen, dass der niedrigste Wert -6 ist, und dies kann dazu führen, dass ich Fragen zur Machbarkeit einer negativen Ausschusszahl stelle. |
| Prozess ist ein anderer. Ich habe im Grunde zwei Balken und es zeigt mir tatsächlich ein Histogramm mit nur zwei Werten. |
| Und wenn ich mir diese Säulendiagramme, diese Kopfgraphen anschaue, kann ich mir das im Spaltenfenster ansehen. |
| und es ist ziemlich leicht zu erkennen, dass beispielsweise Chargennummer, Teilenummer und Prozess alle als fortlaufend codiert sind. Wenn Sie Daten in JMP importieren und JMP Zahlen sieht, werden diese Spalten automatisch als fortlaufende Zahlen codiert. Das sind also Dinge, die wir vielleicht ändern wollen. |
| Wir können uns auch die Daten selbst ansehen. Wenn ich zum Beispiel die Luftfeuchtigkeit betrachte (und der Kontext ist wirklich wichtig, wenn Sie Ihre Daten betrachten), ist Luftfeuchtigkeit etwas, das wir als kontinuierliche Daten betrachten würden. |
| Aber ich habe hier ein paar Felder, in denen ich N / A habe. |
| Wenn Sie alphanumerische Daten haben und wenn sich Textdaten in einer numerischen Spalte befinden, wird die Spalte als nominal codiert, wenn Sie die Daten in JMP ziehen. Das ist also etwas auf Anhieb, das wir reparieren müssen. |
| Und ich kann auch durch die anderen Spalten schauen. So sehe ich zum Beispiel, Lieferant, dass mir einige Werte fehlen. Wenn Sie Daten in JMP ziehen, falls vorhanden |
| Leere Zellen für kategoriale Daten, wir wissen, dass uns Werte fehlen. Ich kann sehen, dass es einige Einträge gibt, bei denen wir nicht konsistent sind ... nicht konsistent in der Art und Weise, wie die Daten eingegeben wurden. |
| Ich bekomme also einige ernsthafte Hinweise auf mögliche Probleme mit meinen Daten. |
| Beachten Sie alle Punkte. Die Temperatur ist eine kontinuierliche Variable. Wenn ich Punkte sehe, zeigt dies an, dass mir Werte fehlen. Die Temperatur ist also etwas, das für meine Analyse wirklich wichtig ist. Dies könnte problematisch sein. |
| Eine natürliche Erweiterung davon besteht darin, Daten einzeln zu untersuchen. Eines meiner Lieblingswerkzeuge, wenn ich zum ersten Mal mit dem Betrachten von Daten beginnen möchte, ist der Spalten-Viewer. Der Spalten-Viewer gibt uns numerische Zusammenfassungen für die von uns ausgewählten Variablen. |
| Wenn Werte fehlen, wird eine Spalte N fehlen. Und hier kann ich sehen, dass mir 265 der 369 Temperaturwerte fehlen. Dies ist also eine ernsthafte Lücke, wenn wir glauben, dass die Temperatur für die Analyse wichtig sein wird. |
| Ich kann auch sehen, ob ich einige seltsame Werte habe. Wenn ich mir also Dinge wie Mins und Maxes für die verschrottete Zahl und die Verschrottungsrate ansehe, habe ich negative Werte. Und wenn dies nicht machbar ist, habe ich ein Problem mit den Daten oder dem Datenerfassungssystem. |
| Es ist auch ziemlich leicht, eine Fehlcodierung von Variablen zu erkennen. So meldeten beispielsweise die Anlagen- und Chargennummer, die wahrscheinlich als nominal codiert werden sollte, einen Mittelwert und die Standardabweichung. |
| Und eine gute Möglichkeit, darüber nachzudenken, ist, wenn es physikalisch nicht möglich ist, eine durchschnittliche Chargennummer oder (Teilenummer war die andere Variable) oder Teilenummer zu haben, sollten diese in nominelle Variablen anstatt in kontinuierliche Variablen geändert werden. |
| Verteilungen sind der nächste Ort, an den ich gehe, wenn ich mich zum ersten Mal mit meinen Daten vertraut mache. |
| Wenn Sie über kontinuierliche Daten verfügen, können Sie mit Verteilungen die Form, Zentrierung und Verteilung Ihrer Daten verstehen. Sie können jedoch auch feststellen, ob Sie ungewöhnliche Werte haben. |
| Bei kategorialen Daten können Sie auch sehen, wie viele Ebenen Sie haben. So zum Beispiel Kundennummer. Wenn die Kundennummer eine wichtige Variable oder potenziell wichtig ist, |
| Ich habe viele Ebenen oder Werte für die Kundennummer. Wenn ich die Daten vorbereite, möchte ich diese möglicherweise in vier oder fünf Buckets mit einer anderen Kategorie für Kunden kombinieren, bei denen ich nicht wirklich viele Daten habe. |
| Feuchtigkeit. Wir sehen das Problem mit N / A in der Spalte. Wir sehen ein Balkendiagramm anstelle eines Histogramms. |
| Wir können leicht sehen, was wir in den Daten für Lieferanten angesehen haben. Zum Beispiel Cox Inc und Cox, Anderson, drei verschiedene Schreibweisen, Hersh drei verschiedene Schreibweisen. |
| Beachten Sie für die Geschwindigkeit, dass wir eine Hügelverteilung haben, die von etwa 60 bis 140 reicht, aber ganz unten sehen wir, dass es einen oder zwei Werte gibt |
| Das ist ziemlich nahe bei Null, und das könnte sein ... es könnte ein Dateneingabefehler gewesen sein, aber es ist definitiv etwas, das wir untersuchen möchten. |
| Eine Erweiterung davon besteht darin, Ihre Daten zwei Variablen gleichzeitig zu betrachten. Verwenden Sie beispielsweise Graph Builder oder Streudiagramme. |
| Wenn Sie zwei Variablen gleichzeitig betrachten, können Sie Muster und ungewöhnliche Muster, die mehr als eine Variable kreuzen, leichter erkennen. |
| Wenn ich mir zum Beispiel die Verschrottungsrate und die verschrottete Anzahl anschaue, sehe ich, dass ich einige Bands habe. Und es könnte sein, dass Sie etwas in Ihrer Datentabelle haben, das dieses Muster erklären kann. |
| In diesem Fall wird die Streifenbildung auf verschiedene Chargengrößen zurückgeführt, sodass ich in diesem violetten Band eine Chargengröße von 5.000 habe. |
| Und ich habe viel mehr Möglichkeiten für Schrott mit einer größeren Chargengröße als für eine kleinere Chargengröße. Das mag also Sinn machen, aber ich sehe auch etwas, das keinen Sinn ergibt. Diese beiden Werte liegen hier unten im negativen Bereich. |
| Es ist also ziemlich einfach, diese zu sehen, wenn ich Daten in zwei Dimensionen betrachte. |
| Ich kann meinen Diagrammen zusätzliche Dimensionalität hinzufügen, indem ich Spaltenumschalter und Datenfilter verwende. |
| Dies führt mich auch zu einer potenziellen Analyse, sodass ich möglicherweise daran interessiert bin zu verstehen, welche x wichtig sind und welche mit der Ausschussrate zusammenhängen. |
| Betrachten Sie gleichzeitig Datenqualitätsprobleme oder potenzielle Probleme. Für die Ausschussrate scheint es also eine positive Beziehung zwischen Druck und Ausschussrate zu geben. |
| sieht nicht so aus, als gäbe es eine zu große Beziehung. Ausschussrate im Vergleich zur Temperatur, dies ist ziemlich flach, daher ist hier nicht viel los. |
| Aber beachte die Geschwindigkeit. Es gibt eine negative Beziehung, aber oben sehe ich diese beiden Werte; Der eine Wert, den ich im Histogramm gesehen habe, aber es gibt einen zweiten Wert, der aufzufallen scheint. |
| Es könnte also sein, dass dieser Wert um 60 einfach ein Ausreißer ist, aber es könnte ein gültiger Punkt sein. Ich würde wahrscheinlich fragen, ob dieser Punkt hier in der Nähe von 0 gültig ist oder nicht. |
| Also haben wir uns die Datentabelle angesehen. Wir haben Daten einzeln betrachtet. Wir haben die Daten zwei Variablen gleichzeitig betrachtet, und all dies passt genau zur Datenexploration und führt uns in die Analyse. |
| Es gibt fortgeschrittenere Tools, die wir möglicherweise verwenden (z. B. Ausreißer untersuchen, fehlende untersuchen), die den Rahmen dieses Kurses oder dieses Vortrags sprengen. |
| Und wenn Sie mit der Analyse Ihrer Daten beginnen, werden Sie wahrscheinlich zusätzliche Probleme identifizieren. Zum Beispiel, wenn Sie viele Kategorien von kategorialen Variablen haben |
| Wenn Sie versuchen, eine Interaktion in ein Regressionsmodell einzubauen, werden Sie von JMP gewarnt, dass Sie dies nicht wirklich tun können. Wenn Sie mit der Analyse von Daten beginnen, ist dieser gesamte Prozess iterativ und Sie identifizieren potenzielle Probleme während des gesamten Prozesses. |
| Ein Schlüssel ist, dass Sie Probleme notieren möchten, die beim Betrachten Ihrer Daten auftreten. Und einige davon können sein |
| Im Laufe der Zeit korrigiert, sodass Sie Werte ein- und ausschließen können. Sie können die Daten neu gestalten, während Sie fortfahren. Sie können jedoch entscheiden, dass Sie neue Daten erfassen müssen. Möglicherweise möchten Sie ein DOE durchführen, um mehr Vertrauen in die Daten selbst zu haben. |
| Wenn Sie wissen, dass Sie diese Analyse wiederholen werden oder dass jemand anderes diese Analyse wiederholen möchte, |
| Dann sollten Sie sicherstellen, dass Sie Ihre Schritte erfassen, damit Sie reproduzierbar sind. Jemand anderes kann Ihre Ergebnisse reproduzieren oder Sie können Ihre Analyse später wiederholen. Hier werde ich es also Jordan übergeben, und Jordan wird es tun |
| Sprechen Sie über reproduzierbare Datenkuration. |
| Jordan Hiller | Okay, danke, Mia. |
| Hallo, ich bin Jordan Hiller. Ich bin ein Systemingenieur für JMP. Lassen Sie uns ein wenig näher darauf eingehen und etwas mehr über die Reproduzierbarkeit sprechen |
| für Ihre Datenkuration. |
| Mia hat diese Idee sehr gut vorgestellt, aber lassen Sie uns ein paar Details näher erläutern. Die Idee hier ist, dass wir in der Lage sein wollen, einfach wieder aufzutreten |
| Alle unsere Kurationsschritte, mit denen wir unsere Daten für die Analyse vorbereiten, und ich sehe drei Hauptvorteile darin. Das erste ist die Effizienz. Wenn Sie ... wenn sich Ihre Daten ändern und Sie diese Kurationsschritte in Zukunft für neue Daten wiederholen müssen, |
| Es ist viel effizienter, es einmal mit einem Ein-Klick-Skript auszuführen, als alle Ihre Point-and-Click-Aktivitäten erneut durchzugehen. Genauigkeit ist der zweite Vorteil. Zeigen und Klicken kann fehleranfällig sein. Wenn Sie es zu einem Skript machen, stellen Sie eine genaue Reproduktion sicher. |
| Und schließlich ist die Dokumentation, und dies wird möglicherweise unterschätzt. Wenn Sie ein Skript haben, dokumentiert es die Schritte, die Sie ausführen |
| dauerte. Es ist eine Spur von Brotkrumen, die Sie später noch einmal besuchen können, wenn Sie dieses Projekt unweigerlich erneut besuchen müssen und sich daran erinnern müssen, was ich getan habe, um diese Daten vorzubereiten. |
| Dieses Skript zu haben ist eine große Hilfe. Also werden wir heute eine Fallstudie durchgehen. Ich werde Ihnen zeigen, wie Sie eines dieser reproduzierbaren Datenkurationsskripte erstellen |
| Verwenden Sie nur Zeigen und Klicken. Und die Aktivierungstechnologie ist in JMP 16 etwas Neues. Es ist das erweiterte Protokoll und die Aktionsaufzeichnung, die im erweiterten Protokoll enthalten sind. |
| Wir werden also Folgendes tun: Wir werden unsere Datenkurationsaktivitäten wie gewohnt per Mausklick ausführen. Während wir das tun, |
| Das Skript, das wir benötigen, der Computercode (JSL-Code, JSL für JMP-Skriptsprache) wird automatisch für uns erfasst |
| im neuen erweiterten Protokoll. Und wenn wir mit unserer Point-and-Click-Kuration fertig sind, müssen wir nur noch diesen Code holen und ihn speichern. Wir möchten vielleicht ein paar Änderungen vornehmen, ein paar Modifikationen, nur um es ein bisschen stärker zu machen, aber dieser Teil ist optional. |
| Okay, das ist ein Spickzettel, den du verwenden kannst. Dies ist eine der häufigsten Datenbereinigungsaktivitäten |
| und wie man sie in JMP 16 so macht, dass man sich diese Spur von Brotkrumen hinterlässt, so dass das JSL-Skript im erweiterten Protokoll verbleibt. Es behandelt also Dinge wie das Bearbeiten von Zeilen, das Bearbeiten von Spalten, |
| Möglichkeiten zum Ändern der Datentabelle, aller unserer Datenbereinigungsvorgänge und Vorgehensweise per Mausklick. |
| Es ist also keine vollständige Liste von allem, was Sie möglicherweise für die Datenbereinigung tun müssen, und es ist auch keine vollständige Liste von allem, was im erweiterten Protokoll erfasst wird, aber dies ist das Wichtigste, das Sie hier zur Hand haben. |
| Okay, gehen wir also zu unserer Fallstudie mit der von Mia eingeführten Komponentendatei und erstellen unser Datenkurationsskript in JMP 16 mithilfe des erweiterten Protokolls. |
| Hier sind wir in JMP 16. Ich werde bemerken, dass dies die letzte Version des Early-Adopter-Programms für JMP 16 ist, also ist dies eine Vorabversion. Ich bin mir jedoch sicher, dass dies der aktuellen Release-Version von JMP 16 sehr, sehr ähnlich sein wird. |
| Um zum Protokoll zu gelangen, |
| Ich werde es dir hier zeigen. Dies sieht anders aus, wenn Sie an das Protokoll früherer Versionen von JMP gewöhnt sind. Es ist in diese beiden Felder unterteilt: |
| Okay, ein Meldungsfeld oben und ein Codefeld unten. Wir werden einige Zeit hier verbringen. Ich werde Ihnen zeigen, wie das ist, aber lassen Sie uns nur eine kurze Vorschau geben, wenn ich einige schnelle Aktivitäten wie das Importieren einer Datei und vielleicht das Löschen dieser Spalte ausführen würde. |
| Sie können sehen, dass diese beiden Schritte, die ich ausgeführt habe (Datenimport und Löschen der Spalte), hier oben in diesem Meldungsfeld aufgelistet sind |
| Der Code, der JSL-Code, den wir für ein Skript zur Reproduktion reproduzierbarer Daten benötigen, befindet sich hier unten in diesem unteren Bereich. Okay, also |
| dass es wirklich sehr aufregend ist, die Möglichkeit, diesen Code einfach zu haben und ihn zu greifen, wann immer Sie ihn brauchen, nur durch Zeigen und Klicken, ist ein enormer Vorteil in JMP 16. |
| In JMP 16 ist diese neue erweiterte Protokollansicht standardmäßig aktiviert. Wenn Sie zur alten Version des Protokolls, diesem einfachen Textprotokoll, zurückkehren möchten, können Sie dies hier im Abschnitt JMP-Einstellungen tun. Es gibt eine neue |
| Wenn Sie dies bevorzugen, können Sie zur alten Textansicht des Protokolls zurückkehren. Die Standardeinstellung bei der Installation von JMP 16 ist das erweiterte Protokoll. Einige dieser anderen Funktionen werden wir später in unserer Fallstudie erläutern. |
| Okay, also werde ich räumen |
| das Protokoll vorerst aus dem roten Dreieck. Löschen Sie das Protokoll und beginnen Sie mit unserer Fallstudie. Importieren wir die Komponentendaten, die Mia mit Ihnen geteilt hat. Wir werden von dieser CSV-Datei ausgehen. |
| So |
| Ich werde den einfachsten Import durchführen, indem ich ihn einfach hineinziehe. Oh, ich hatte eine ... ich hatte bereits eine Version davon offen. Es tut mir leid, lassen Sie mich zunächst die alte Version schließen |
| und löschen Sie das Protokoll noch einmal. |
| Okay, einfacher Import |
| durch Ziehen in das JMP-Fenster. Und jetzt haben wir diese Datei, Komponenten A, mit 369 Stapeln, und jetzt fahren wir mit unseren Datenbereinigungsaktivitäten fort. Ich werde einschalten |
| die Header-Diagramme. Und als erstes können wir sehen, dass die Einrichtungsspalte nur einen Eintrag und einen Wert enthält, FabTech. Es gibt also keine Variation, hier nichts Interessantes. Ich werde es nur mit einem Rechtsklick löschen, die Spalte löschen. |
| Und wieder wird dies erfasst, wenn wir in das erweiterte Protokoll gehen. |
| Okay, was noch? Stellen wir uns vor, dass diese Spalte für die Ausschussrate am Ende der Tabelle für uns sehr wichtig ist und ich eine frühere Spalte in der Tabelle sehen möchte. Ich werde es auf die vierte Position bringen |
| indem Sie es im Spaltenbedienfeld greifen und direkt nach der Kundennummer nach rechts ziehen. Na, bitte. |
| Mia erwähnte, dass diese Feuchtigkeitssäule beim Import falsch dargestellt wird, hauptsächlich aufgrund dieser N / A. |
| Alphabetische Zeichen, die dazu führen, dass es als Zeichenvariable eingeht. Also lasst uns das beheben. Wir werden in die Spalteninformationen mit dem rechten Klick hier gehen |
| und ändern Sie den Datentyp von Zeichen in Numerisch, ändern Sie den Modellierungstyp von nominal in stetig. OK klicken. Und lassen Sie uns einfach hier auf das Protokoll klicken, und Sie können sehen, wir haben jetzt vier Schritte, die erfasst wurden, und wir werden weitermachen. |
| Okay, was kommt als nächstes? Wir haben mehrere Variablen, die von kontinuierlich auf nominal geändert werden müssen. Dies sind Chargennummer, Teilenummer und Prozess. Wenn die drei ausgewählt sind, klicke ich mit der rechten Maustaste und wechsle von kontinuierlich zu nominal. |
| Und diese wurden alle korrigiert. |
| Und wieder können wir sehen, dass diese drei Schritte hier im Protokoll aufgezeichnet sind. |
| Alles klar, was noch? Noch etwas Kosmetisches, diese Kolumne, Druck. Meine Ingenieure möchten diesen Spaltennamen als PSI sehen, daher ändern wir ihn, indem wir diese Spalte auswählen und PSI eingeben. Tab raus, um woanders hinzugehen. Das wird auch im Protokoll festgehalten. |
| Der Zulieferer. Mia hat uns gezeigt, dass es einige inkonsistente Schreibweisen gibt. Wahrscheinlich zu viele Werte hier. Wir müssen die Zeichenwerte korrigieren. Wenn Sie falsche, inkonsistente Zeichenwerte in einer Spalte haben, denken Sie an das Rekodierungswerkzeug. |
| Das Rekodierungswerkzeug ist eine sehr effiziente Möglichkeit, dies zu beheben. Wenn Sie also mit der rechten Maustaste auf den Lieferanten klicken, werden wir neu codieren. |
| Und lassen Sie uns diese entsprechend gruppieren. Ich werde mit einigen Optionen für rote Dreiecke beginnen. Lassen Sie uns alle Werte in Groß- und Kleinschreibung konvertieren. |
| Lassen Sie uns auch diesen Leerraum kürzen, damit inkonsistente Abstände korrigiert werden. Das hat schon ein paar Probleme behoben. Lassen Sie uns alles andere manuell korrigieren. Ich werde die Andersons zusammenfassen. Ich werde die Coxes zusammenfassen. |
| Gruppieren Sie die Hershes. Trutna und Worley sind bereits mit einer einzigen Kategorie korrekt. Und die letzte Korrektur, die ich vornehmen werde, sind Dinge, die, wie Sie wissen, nur als leer oder fehlend aufgeführt sind. Ich werde sie explizit angeben |
| fehlendes Etikett hier. |
| In Ordnung, und wenn wir auf "Neu codieren" klicken, |
| Wir haben diese Korrekturen in einer neuen Spalte mit dem Namen "Lieferant 2" vorgenommen. |
| Das hat nur 1, 2, 3, 4, 5, 6 Kategorien korrigiert und reduziert. |
| Gut. |
| Okay, lass uns eine Berechnung machen. Wir werden hier den Ertrag anhand der Chargengröße und der verschrotteten Anzahl berechnen. |
| Richtig. Und ja, mir ist klar, dass dies ein wenig überflüssig ist. Wir haben bereits eine Ausschussrate und die Ausbeute beträgt nur eins minus Ausschussrate, aber nur aus Gründen der Argumentation werden wir eine Leistung erbringen |
| die Berechnung. Ich möchte also, dass diese Ertragsspalte direkt nach dem Verschrotten der Zahl eingefügt wird. Daher werde ich die verschrottete Zahl markieren und dann zum Spaltenmenü gehen und eine neue Spalte auswählen. |
| Wir werden dieses Ding Ausbeute nennen. |
| Und wir werden unsere neue Spalte nach der ausgewählten Spalte einfügen, nachdem die Zahl verschrottet wurde, und geben wir ihr eine Formel zur Berechnung der Ausbeute. |
| Wir brauchen die Anzahl der guten Einheiten. Das wird die Chargengröße abzüglich der verschrotteten Anzahl sein. |
| Das ist also die Anzahl der guten Einheiten und wir werden das Ganze durch teilen |
| die Chargengröße. |
| Anzahl der guten Einheiten geteilt durch die Chargengröße, das ist unsere Ertragsberechnung. |
| Und klicken Sie auf OK. |
| Da ist unser neues |
| Fließsäule. Wir können sehen, dass es eine Eins minus Schrottrate ist. Das ist ... das ist gut und lassen Sie uns vorerst die Tatsache ignorieren, dass wir einige Renditen haben, die über 100% liegen. |
| Okay, wir sind fast fertig. Nur noch ein paar Änderungen. Mir ist aufgefallen, dass wir zwei Prozesse haben, die derzeit nur als Prozess 1 und Prozess 2 bezeichnet werden. |
| Das ist nicht sehr beschreibend, nicht sehr hilfreich. Geben wir ihnen aussagekräftigere Bezeichnungen. Prozess 1 nennen wir Produktionsprozess; und Prozess 2 nennen wir experimentell. Also machen wir das mit Wertelabels, anstatt neu zu codieren. Ich werde in Spalteninformationen gehen |
| und wir werden eins und zwei Wertelabels zuweisen. |
| Eine in dieser Spalte wird die Produktion darstellen. |
| Fügen Sie das hinzu. |
| Und zwei stehen für experimentell. |
| Fügen Sie das hinzu. |
| OK klicken. Gut. Es zeigt eins und zwei in den Header-Diagrammen, aber Produktion und Experiment hier in der Datentabelle. |
| Okay, ein letzter Schritt, bevor wir unser Skript speichern. Nehmen wir zum Zwecke der Argumentation an, dass ich nur an den Daten interessiert bin ... Ich möchte mit der Analyse nur fortfahren, wenn das Vakuum ausgeschaltet ist. |
| Richtig, also werde ich die Daten unterteilen und eine neue Datentabelle erstellen, die nur die Zeilen enthält, in denen das Vakuum ausgeschaltet ist. Ich mache das, indem ich mit der rechten Maustaste auf eine dieser Zellen klicke, in denen das Vakuum ausgeschaltet ist |
| und Auswählen passender Zellen. |
| Dadurch werden die 313 Zeilen ausgewählt, in denen das Vakuum ausgeschaltet ist. Und jetzt gehen wir zur Tabellenuntermenge, |
| Erstellen Sie eine neue Datentabelle, die wir vac_off nennen werden. |
| Klicken Sie auf OK. |
| In Ordnung, und das ist unsere neue Datentabelle mit 313 Zeilen, in der nur Daten angezeigt werden, bei denen das Vakuum ausgeschaltet ist. |
| Das ist also das Ende. Wir haben alle unsere Daten kuratiert und jetzt gehen wir zurück und sehen uns das Protokoll noch einmal an und erfahren ein bisschen mehr über das, was wir haben. |
| Okay, all diese Schritte und ein paar weitere, die ich nicht vorhatte, wurden hier im Protokoll festgehalten. |
| Schauen Sie hier rüber, wir haben ... jede Zeile ist einer der Schritte, die wir ausführen. |
| Es gibt auch einige irrelevante Dinge, wie zum Beispiel, dass ich irgendwann die Zeilenauswahl gelöscht habe. Ich musste nicht wirklich ... Ich muss diesen Teil meines Skripts nicht wirklich machen. |
| Löschen Sie die ausgewählten Zeilen. Entfernen Sie diese. Ich werde einfach mit der rechten Maustaste darauf klicken und das Element löschen, um es zu entfernen. Das ist gut. |
| Okay, also Nachrichten hier oben, JSL-Code hier unten. Ich möchte Ihre Aufmerksamkeit auf den Ursprung und das Ergebnis lenken. Das ist ziemlich geschickt. |
| Wann immer wir einen Schritt machen, wann immer wir eine Aktion per Punkt und Klick ausführen, wissen Sie, es gibt etwas, an dem wir diese Aktion ausführen, und es gibt etwas, das sich ergibt. Das ist also der Ursprung und das Ergebnis. Also zum Beispiel, als wir die Einrichtungsspalte gelöscht haben ... |
| Nun, vielleicht ist das ein schlechtes Beispiel. Lassen Sie uns stattdessen die Spalteninformationen für die Luftfeuchtigkeit ändern. Der Ursprung, die Sache, an der wir es gemacht haben |
| war die Components A-Tabelle, und wir sehen die hier als Datentabelle aufgelistete. Wenn ich mit der Maus darüber fahre, heißt es "Komponenten A nach vorne bringen". Wenn Sie also darauf klicken, gelangen Sie zur Tabelle "Komponenten A". Sehr schön. |
| Und das Ergebnis haben wir mit der Feuchtigkeitssäule gemacht. Wir haben die Luftfeuchtigkeit geändert. Wir haben es in den Datentyp numerisch und den Modellierungstyp kontinuierlich geändert. Sehen Sie das hier unten. |
| Also kann ich hier klicken, zur Feuchtigkeitsspalte gehen und es ... es hebt hervor, es wählt für uns aus. JMP wählt die Feuchtigkeitssäule für uns aus. |
| Grün für überall, außer diesem letzten Ergebnis in Blau. Das soll uns helfen, unsere Aktivitäten in verschiedenen Datentabellen zu verfolgen. Wir haben alle diese Aktivitäten in der Datentabelle Komponenten A durchgeführt |
| In unserer letzten Aktivität haben wir eine Teilmenge der Datentabelle Komponenten A ausgeführt. Das Ergebnis war eine neue Datentabelle mit dem Namen vac_off. Und so ist vac_off in blau. Richtig, wir können diese Farben verwenden, um Ihnen dabei zu helfen, den Überblick zu behalten. |
| Okay, die letzte Funktion, die ich Ihnen hier im Protokoll zeigen möchte, ist ... das ist |
| hilfreich ist, wenn Sie eine wirklich lange Reihe von Schritten haben und nur einen finden müssen, können Sie diese Filterbox finden. Angenommen, ich möchte die Teilmenge finden. Da ist es. Wir haben die Teilmengen-Datentabelle gefunden, und ich kann direkt zu dem Code gelangen, den ich benötige. |
| Okay, das ist ... ist das alles, was wir brauchen. Unsere Datenkurationsschritte wurden erfasst. Alles, was wir tun müssen, um ein reproduzierbares Datenkurationsskript zu erstellen, ist, in das rote Dreieck zu gehen und das Skript in einem neuen Skriptfenster zu speichern. |
| Der Importschritt, der Schritt zum Löschen der Spalte und der Schritt zum Verschieben der Ausschussrate. Alle diese Schritte befinden sich hier im Skript. |
| Wir haben die Syntaxfarbe, die uns beim Lesen des Skripts hilft. Wir haben all diese hilfreichen Kommentare, die uns genau sagen, was wir in jedem dieser Schritte getan haben. |
| Richtig, das ist also alles. Das ist alles was wir brauchen und ich werde das retten. Ich werde es als Import und Bereinigung auf meinem Desktop speichern. Nennen wir es Import und Kuratieren von Komponenten. |
| Richtig, das ist unser reproduzierbares Kurationsskript für Daten. Wenn ich also zum JMP-Startfenster zurückkehren und alles außer unserem neuen Skript schließen würde, |
| Folgendes tun wir, wenn ich diese Schritte zur Datenkuration erneut abspielen muss. Ich habe gerade die Skriptdatei geöffnet und wir können sie ausführen, indem wir auf die Schaltfläche Skript ausführen klicken. Öffnet die Daten, führt die gesamte Bereinigung durch, führt die Teilmenge durch und erstellt diese neue Datendatei mit 313 Zeilen. |
| Stellen wir uns jetzt vor, wir müssen dies für neue Daten wiederholen. |
| Ich habe eine andere Version der Komponentendatei. Es heißt Komponenten B. Es enthält 50 weitere Zeilen, sodass anstelle von 369 Zeilen 419 Zeilen vorhanden sind. Stellen Sie sich vor, wir haben den Prozess für weitere 50 Chargen ausgeführt und verfügen über mehr Daten. |
| Es heißt also Komponenten B, und ich möchte dieses Skript auf Komponenten B ausführen. Sie werden jedoch feststellen, dass im gesamten Skript Komponenten A mehrmals aufgerufen werden. Wir müssen also nur die Komponenten A suchen, ersetzen und in Komponenten B ändern. Los geht's. Bearbeiten. |
| Suche. |
| Wir finden Komponenten A, ersetzen durch Komponenten B. Ersetzen Sie alle. 15 Vorkommen wurden ersetzt. |
| Sie können es hier und hier sehen. |
| Und jetzt führen wir das Skript einfach erneut aus und dort befindet es sich auf der neuen Version der Daten. Sie können sehen, dass es mehr Zeilen hat, in der Tat war es aus. Es war 313 vor, es ist jetzt 358. |
| Okay, also ein reproduzierbares Datenkurationsskript, das mit neuen Daten ausgeführt werden kann. |
| Okay, hier ist noch einmal dieser Spickzettel. Dies wird in den Materialien enthalten sein, die wir mit dem Vortrag speichern, damit Sie darauf zugreifen und es finden können. Auf diese Weise erfahren Sie, wie Sie durch die Datenkuration zeigen und klicken und sich ein schönes, wiedergegebenes, reproduzierbares Datenkurationsskript hinterlassen. |
| Für dieses Skript, das wir erstellt haben, mussten wir überhaupt keine Codierung durchführen, aber ich werde Ihnen nur eine Handvoll Tipps geben, vier Tipps, die Sie verwenden können |
| um die Skripte nur ein wenig zu verbessern. Der erste Tipp ist, diese Zeile am Anfang Ihrer Skripte einzufügen. Es ist eine gute Sache für all Ihre Skripte. Fügen Sie einfach die Zeilennamen hier standardmäßig ein. |
| Dies soll verhindern, dass Ihr Skript mit anderen Skripten interagiert. Es wird eine Namespace-Kollision genannt und Sie müssen nicht wirklich verstehen, was es tut, tun Sie es einfach. Es ist eine gute Sache zu tun. Es ist eine gute Programmierpraxis. |
| Der zweite Tipp ist, sicherzustellen, dass sich zwischen JSL-Ausdrücken Semikolons befinden. |
| Das erweiterte Protokoll erledigt dies automatisch für Sie. Es platziert das erforderliche Semikolon zwischen jedem Schritt. Wenn Sie jedoch selbst Änderungen vornehmen, sollten Sie sicherstellen, dass diese Semikolons richtig platziert sind. Also nur ein Wort an die Weisen. |
| Füge Kommentare hinzu. |
| Kommentare sind eine Möglichkeit für Sie, Notizen im Programm zu hinterlassen und sie so zu belassen, dass Sie das Programm nicht durcheinander bringen, richtig. Es ist ein Weg zu |
| Lassen Sie etwas im Programm, das vom JSL-Interpreter nicht interpretiert wird. Und es gibt Hinweise, die das erweiterte Protokoll für Sie hinterlassen hat ... Die Aktionsaufzeichnung im Erweiterungsprotokoll ist für Sie übrig geblieben, aber Sie können sie ändern und ergänzen, wenn Sie möchten. Hier sind die wichtigsten Punkte zu Kommentaren. |
| Das typische Format sind zwei Schrägstriche, und alles, was auf die Schrägstriche folgt, ist ein Kommentar. Sie können dies also am Anfang einer Zeile oder auch am Ende der Zeile tun. Der Interpreter führt also diesen JSL-Ausdruck X = 9 aus, ignoriert dann jedoch alles nach den Schrägstrichen. |
| Wenn Sie einen längeren Kommentar haben, können Sie auch dieses Format verwenden, das am Anfang ein / * und am Ende ein * / ist. Das schließt einen Kommentar ein. Kommentare sind also nützlich, um Notizen für sich selbst zu hinterlassen, aber sie sind auch nützlich, um Ihr JSL-Skript zu debuggen. |
| Wenn Sie eine Codezeile entfernen und nicht ausführen möchten, können Sie ihr einfach diese beiden Schrägstriche voranstellen. Wenn Sie dies für einen größeren Codeabschnitt tun möchten, können Sie dieses Format verwenden. So gut zu wissen, wie man Kommentare verwendet. |
| Der letzte Tipp, den ich Ihnen hinterlassen werde, ist die Verallgemeinerung von Datentabellenreferenzen. Erinnern Sie sich, wie wir suchen und ersetzen mussten, damit dieses Skript unter dem neuen Dateinamen Komponenten B ausgeführt wurde? |
| Wir mussten 15 Instanzen in der Datentabelle im Skript ändern. Wäre es nicht schön, wenn wir es nur auf einmal anstatt auf 15 Mal ändern müssten? So können Sie Ihre Skripte robuster machen |
| durch Verallgemeinern der Datentabellenreferenzen. Anstatt die Namen zu verwenden, verwenden wir eine JSL-Variable, um diese Tabellennamen zu speichern. Hier ist, wovon ich spreche. Ich zeige Ihnen ein Beispiel. |
| Auf der linken Seite befindet sich Code, der durch Aktionsaufzeichnung im erweiterten Protokoll generiert wurde. |
| Wir öffnen die Big Class-Datentabelle. Wir bearbeiten die Altersspalte, ändern sie in einen kontinuierlichen Modellierungstyp und erstellen dann eine neue berechnete Spalte. |
| Beim Öffnen verwenden wir es, um die Änderung in der Altersspalte durchzuführen, und wir verwenden es hier. |
| Sehr einfach, was Sie tun müssen, um dies robuster und allgemeiner zu machen. |
| Sie müssen drei Änderungen vornehmen. |
| Bei dieser ersten Änderung hier weisen wir einen Namen zu. Ich entschied mich für BC; Sie können wählen, was Sie wollen. Sie werden DT viel sehen. |
| BC ist also der Name, auf den wir uns im Rest des Skripts auf diese Big Class-Datentabelle beziehen werden. Und wenn wir das Alter ändern wollen |
| Alter bedeutet BC-Datentabelle und die Altersspalte in dieser Datentabelle. |
| Hier unten senden wir eine Nachricht an die Big Class-Datentabelle, und genau das bedeutet die Doppelpfeilsyntax. Wir verallgemeinern das nur, wir verallgemeinern es so, dass wir den neuen Namen verwenden, um diese Nachricht zu senden |
| zur Datentabelle. Und jetzt, wenn wir dieses Skript für eine neue Datentabelle ausführen müssen, die einen anderen Namen als Big Class hat, ist hier die einzige Änderung, die wir vornehmen müssen. Wir müssen nur eine Stelle im Skript ändern. Wir müssen nicht suchen und ersetzen. |
| Okay, nach diesen vier Tipps, wenn Sie bereit sind, Ihr Kurationsskript auf die nächste Stufe zu heben, sind hier einige nächste Schritte. Sie können eine Dateiauswahl hinzufügen. Es braucht nicht viel Codierung |
| Um es so zu ändern, dass jemand, der dieses Skript ausführt, einfach zu der Datei navigieren kann, in der es ausgeführt werden soll, anstatt das Skript manuell bearbeiten zu müssen. |
| Das ist also eine schöne Idee. Wenn Sie das Skript an andere Benutzer in Ihrer Organisation verteilen möchten, können Sie es in ein JMP-Add-In einbinden. Auf diese Weise können Benutzer das Skript ausführen, indem Sie es einfach aus einem Menü in JMP auswählen. |
| Wirklich praktisch. Wenn Sie dieses Kurationsskript nach einem Zeitplan ausführen müssen, um eine Master-JMP-Datentabelle zu aktualisieren, die Sie irgendwo im Netzwerk aufbewahren, können Sie dazu den Taskplaner in Windows oder den Automator in Mac OS verwenden das nach einem Zeitplan. |
| Zusammenfassend sprach Mia darüber, wie Sie Ihre Daten kuratieren können, indem Sie die Daten untersuchen und iterieren, um Probleme zu identifizieren. |
| Wenn Sie diese Schritte automatisieren, profitieren Sie von der Reproduzierbarkeit. Dies sind Effizienz, Genauigkeit und Dokumentation Ihrer Arbeit. |
| Um dies in JMP 16 zu tun, zeigen und klicken Sie einfach wie gewohnt, und Ihre Datenkurationsschritte werden von der Aktionsaufzeichnung erfasst, die im erweiterten Protokoll erfolgt. |
| Zuletzt können Sie diesen JSL-Code aus dem erweiterten Protokoll exportieren und ändern, um Ihr reproduzierbares Kurationsskript für Daten zu erstellen. Damit ist unser Vortrag abgeschlossen. Vielen Dank für Ihre Zeit und Aufmerksamkeit. |