| Lautsprecher |
Transkript |
| Mia Stephens |
Willkommen zum JMP Discovery Summit. Ich bin Mia Stephens und JMP-Produktmanagerin. Mit dabei ist Jordan Hiller, Systemingenieur. Heute sprechen wir über die Automatisierung des Datenkuratierungs-Workflows. |
| |
Und dies ist die Zusammenfassung nur als Referenz; ich werde nicht darüber sprechen. |
| |
Wir werden diesen Vortrag in zwei Teile aufteilen. Ich beginne mit dem analytischen Workflow. |
| |
Wir sprechen über die Datenerstellung und was wir unter Datenkuratierung verstehen. Außerdem erfahren Sie, wie Sie potenzielle Probleme mit der Datenqualität in Ihren Daten identifizieren. |
| |
Und dann übergebe ich an Jordan, und Jordan wird über die Notwendigkeit der Reproduzierbarkeit sprechen. |
| |
Er wird uns einen Spickzettel zur Datenkuratierung zeigen und wie Sie Ihre Daten in JMP kuratieren. |
| |
der Aktionsrekorder und das erweiterte Protokoll. |
| |
Sprechen wir also über den analytischen Workflow. |
| |
Alles beginnt damit, dass wir ein geschäftliches Problem haben, das wir lösen möchten. |
| |
Und natürlich müssen wir Daten zusammenstellen. Sie können Daten aus einer Reihe unterschiedlicher Quellen zusammenstellen und die Daten in ein JMP importieren. |
| |
Und am Ende müssen wir in der Lage sein, Ergebnisse zu teilen und mit anderen zu kommunizieren. Manchmal handelt es sich dabei vielleicht um ein einmaliges Projekt, |
| |
Aber oft müssen wir Analysen wiederholen. Eine Kernfrage dieses Vortrags lautet daher: Können Sie Ihre Ergebnisse problemlos reproduzieren? |
| |
Können andere Ihre Ergebnisse reproduzieren? Oder können Sie Ihre Analyse und insbesondere die Datenkuratierung problemlos auf neue oder aktualisierte Daten anwenden? Genau darum geht es in diesem Vortrag. |
| |
Aber was genau ist Datenkuratierung? |
| |
Und warum müssen wir uns darüber Sorgen machen? |
| |
Bei der Datenkuratierung geht es darum, sicherzustellen, dass unsere Daten für analytische Erkenntnisse nützlich sind. Grundsätzlich müssen wir in der Lage sein, die Probleme zu lösen, die wir angehen möchten. |
| |
Und es geht hauptsächlich um Datenorganisation, Datenstruktur und auch Datenbereinigung. |
| |
Wenn Sie über Probleme nachdenken, die bei der Nutzung von Daten auftreten können, lassen sich diese in vier allgemeine Kategorien einteilen: |
| |
Möglicherweise liegt eine falsche Formatierung vor, die Daten sind unvollständig, fehlen oder sind fehlerhaft oder unordentlich. |
| |
Um diese Themen besser zu besprechen, nutzen wir einige Inhalte von STIPS. Falls Sie STIPS nicht kennen: STIPS ist unser kostenloser Kurs „Statistisches Denken für die Lösung industrieller Probleme“. |
| |
Und dieser Kurs basiert auf sieben unabhängigen Modulen, wobei das zweite Modul die explorative Datenanalyse ist. |
| |
Und aufgrund der iterativen und interaktiven Natur der explorativen Datenanalyse und Datenkuratierung heißt die letzte Lektion in diesem Modell ... in diesem Modul „Datenvorbereitung für die Analyse“, daher greifen wir in diesem Vortrag stark auf diese Lektion zurück. |
| |
Lassen Sie uns jedes dieser Probleme genauer betrachten. Falsche Formatierung. Was meinen wir mit falscher Formatierung? Nun, das liegt vor, wenn Ihre Daten in der falschen Form oder im falschen Format für die Analyse vorliegen. Dies kann sich auf die gesamte Datentabelle beziehen. So könnten Sie beispielsweise |
| |
genannt ... Daten, die in separaten Spalten gespeichert sind, aber Sie müssen die Daten tatsächlich in einer Spalte speichern. |
| |
Oder es könnte sein, dass Ihre Daten in separaten Datentabellen vorliegen und Sie diese entweder verketten, aktualisieren oder zusammenführen müssen. |
| |
Es kann sich auf einzelne Variablen beziehen. Beispielsweise könnte es sein, dass Sie den falschen Modellierungstyp verwenden. Oder Ihre Datentabelle enthält Datumsspalten, die nicht als Tage formatiert sind. Die Analyse erkennt daher möglicherweise nicht, dass es sich um Datumsdaten handelt. |
| |
Die Formatierung kann auch kosmetischer Natur sein. Wenn Sie beispielsweise mit einer großen Datentabelle arbeiten, kann diese viele Spalten haben ... |
| |
Sie haben möglicherweise Namen ... Spaltennamen, die nicht wirklich erkennbar sind und die Sie möglicherweise ändern möchten. |
| |
Möglicherweise haben Sie viele Spalten, die Sie zur besseren Übersichtlichkeit gruppieren möchten. |
| |
Ihre Antwortspalte befindet sich möglicherweise ganz am Ende der Datentabelle, und Sie möchten sie möglicherweise nach oben verschieben. Kosmetische Mängel beeinträchtigen Ihre Analyse also nicht unbedingt. Wenn Sie jedoch einige dieser Probleme beheben, können Sie Ihre Analyse etwas vereinfachen. |
| |
Unvollständige Daten liegen vor, wenn Daten fehlen. Dies kann ein Mangel an Daten zu wichtigen Variablen sein. So fehlen Ihnen beispielsweise Daten zu Variablen, 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 beispielsweise möglicherweise nicht über genügend Informationen, um eine Interaktion abzuschätzen. |
| |
Oder Sie haben eine Zielvariable, die Sie interessiert und die unausgeglichen ist, sodass Sie beispielsweise Defekte untersuchen. Es kann sein, dass nur 5 % Ihrer Beobachtungen |
| |
sind für Defekte und Sie haben möglicherweise nicht genügend Daten, denn Sie wissen, Sie haben möglicherweise nur eine sehr kleine Teilmenge Ihrer Daten |
| |
wo der Defekt vorliegt. Möglicherweise verfügen Sie nicht über genügend Daten, um mögliche Defektursachen zu verstehen. Möglicherweise ist auch die Stichprobengröße nicht ausreichend, sodass Sie schlichtweg nicht genügend Daten für gute Schätzungen haben. |
| |
Von fehlenden Daten spricht man, wenn Werte für Variablen fehlen. Dies kann verschiedene Formen annehmen. |
| |
Wenn Daten fehlen und die Daten nicht zufällig fehlen, kann dies zu einem ernsthaften Problem führen und Ihre Schätzungen könnten verzerrt sein. |
| |
Wenn Daten völlig zufällig fehlen, ist dies möglicherweise kein Problem, wenn nur wenige Beobachtungen fehlen. Wenn jedoch viele Daten fehlen, kann dies problematisch sein. |
| |
Von fehlerhaften und unordentlichen Daten spricht man, wenn es Probleme mit Beobachtungen oder Variablen gibt. Die Werte könnten also falsch sein. |
| |
Möglicherweise treten Inkonsistenzen auf. Beispielsweise können Tippfehler oder Rechtschreibfehler auftreten, wenn die Eingaben unterschiedlich sind. |
| |
Die Werte könnten ungenau sein. Beispielsweise könnten Probleme mit Ihrem Messsystem vorliegen. Es könnten Fehler oder Tippfehler auftreten, oder die Daten könnten veraltet sein. |
| |
Von veralteten Daten spricht man, wenn Sie beispielsweise Daten zu einer Anlage oder Maschine haben, die nicht mehr in Betrieb ist. |
| |
Die Daten könnten veraltet sein, d. h. Sie verfügen möglicherweise über Daten, die zwei oder drei Jahre zurückreichen, aber der Prozess könnte sich in diesem Zeitraum geändert haben. |
| |
Das bedeutet, dass diese historischen Daten für den aktuellen Prozess in seiner heutigen Form möglicherweise nicht relevant sind. Ihre Daten könnten zensiert oder gekürzt werden. |
| |
Es kann redundante Spalten geben, also Spalten, die im Wesentlichen dieselben Informationen enthalten. Oder Sie haben möglicherweise doppelte Beobachtungen. |
| |
Schmutzige oder unordentliche Daten können also viele verschiedene Formen annehmen. |
| |
Wie identifizieren Sie also potenzielle Probleme? |
| |
Ein guter Ausgangspunkt ist die Analyse Ihrer Daten. Die Identifizierung von Problemen führt Sie zur Datenanalyse und anschließend zur Analyse. Wenn Sie mit der Analyse Ihrer Daten beginnen, erkennen Sie Dinge, die bei Ihrer Analyse Probleme verursachen könnten. |
| |
Ein guter Ausgangspunkt besteht daher darin, die Datentabelle nach offensichtlichen Problemen zu durchsuchen. |
| |
Wir werden im weiteren Verlauf dieses Vortrags ein Beispiel namens „Komponenten“ verwenden. Dies ist ein Beispiel aus dem STIPS-Kurs. |
| |
Ein Unternehmen produziert Kleinkomponenten und hat Probleme mit der Ausbeute. Die Daten wurden von 369 Chargen erfasst. 15 Merkmale wurden erfasst. Wir möchten diese Daten nutzen, um die möglichen Ursachen für niedrige Ausbeuten zu verstehen. |
| |
Wenn wir uns also die Datentabelle selbst ansehen, finden wir einige Hinweise auf mögliche Probleme mit der Datenqualität. Und ein wirklich guter Ausgangspunkt (und dieser wurde in JMP 15 hinzugefügt). |
| |
Das sind Kopfdiagramme. Ich liebe Kopfdiagramme. Sie zeigen bei kontinuierlichen Variablen ein Histogramm an, sodass Sie die Zentrierung, die Form und die Streuung der Verteilung erkennen können. |
| |
Sie zeigen Ihnen auch den Wertebereich. Bei kategorialen Daten wird ein Balkendiagramm mit den Werten der am häufigsten vorkommenden Balken angezeigt. Sehen wir uns einige davon an. Ich beginne mit der Chargennummer. Die Chargennummer zeigt ein Histogramm mit gleichmäßiger Form. |
| |
Bei den Chargennummern handelt es sich wahrscheinlich um eine Kennung, daher ist mir sofort klar, dass diese Daten wahrscheinlich falsch codiert sind. |
| |
Ich sehe, dass diese Verteilung sehr verzerrt ist und dass der niedrigste Wert -6 ist. Dies kann dazu führen, dass ich mir Fragen zur Machbarkeit einer negativen Ausschusszahl stelle. |
| |
Ein weiteres Beispiel ist „Prozess“. Ich habe im Grunde zwei Balken und es wird mir tatsächlich ein Histogramm mit nur zwei Werten angezeigt. |
| |
Und wenn ich mir diese Säulendiagramme anschaue, diese Kopfdiagramme, kann ich mir das Säulenfeld ansehen, |
| |
Es ist leicht zu erkennen, dass beispielsweise Chargennummer, Teilenummer und Prozess fortlaufend kodiert sind. Wenn Sie Daten in JMP importieren und JMP Zahlen erkennt, kodiert es diese Spalten automatisch als numerisch fortlaufend. Das sind Dinge, die wir möglicherweise ändern möchten. |
| |
Wir können uns auch die Daten selbst ansehen. Wenn ich mir beispielsweise die Luftfeuchtigkeit anschaue (und der Kontext ist bei der Betrachtung von Daten wirklich wichtig), ist die 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 oder Textdaten in einer numerischen Spalte haben, wird die Spalte beim Importieren der Daten in JMP als nominal kodiert. Das ist also etwas, das wir sofort beheben müssen. |
| |
Und ich kann auch die anderen Spalten durchsehen. So sehe ich zum Beispiel bei Lieferant, dass mir einige Werte fehlen. Wenn Sie Daten in JMP ziehen, wenn es |
| |
Leere Zellen für kategorische Daten. Wir wissen, dass Werte fehlen. Ich sehe, dass es einige Einträge gibt, bei denen die Dateneingabe nicht konsistent ist. |
| |
Ich bekomme also einige ernstzunehmende Hinweise auf mögliche Probleme mit meinen Daten. |
| |
Beachten Sie die vielen Punkte. Die Temperatur ist eine kontinuierliche Variable, und wo ich Punkte sehe, fehlen Werte. Da die Temperatur für meine Analyse sehr wichtig ist, könnte dies problematisch sein. |
| |
Eine logische Erweiterung besteht darin, Daten Variable für Variable zu untersuchen. Eines meiner bevorzugten Tools für die erste Datenanalyse ist der Spalten-Viewer. Er liefert uns numerische Zusammenfassungen der ausgewählten Variablen. |
| |
Wenn Werte fehlen, erscheint die Spalte „N Fehlende Werte“. Hier sehe ich, dass 265 der 369 Temperaturwerte fehlen. Das ist also eine erhebliche Lücke, wenn wir davon ausgehen, dass die Temperatur für die Analyse wichtig ist. |
| |
Ich kann auch erkennen, ob ich ungewöhnliche Werte habe. Wenn ich mir beispielsweise Min. und Max. für die Anzahl der Ausschussteile und die Ausschussrate ansehe, erhalte ich negative Werte. Ist dies nicht möglich, liegt ein Problem mit den Daten oder dem Datenerfassungssystem vor. |
| |
Es ist auch ziemlich einfach, eine falsche Kodierung von Variablen zu erkennen. So wurden beispielsweise für die Einrichtungs- und Chargennummer, die eigentlich als nominal kodiert werden sollten, ein Mittelwert und die Standardabweichung angegeben. |
| |
Und eine gute Möglichkeit, darüber nachzudenken, ist, dass, wenn es physikalisch nicht möglich ist, eine durchschnittliche Chargennummer oder (die Teilenummer war die andere Variable) oder Teilenummer zu haben, diese in nominale Variablen statt in kontinuierliche Variablen geändert werden sollten. |
| |
„Verteilungen“ ist der nächste Ort, an den ich gehe, wenn ich mich zum ersten Mal mit meinen Daten vertraut mache. |
| |
Und wenn Sie über kontinuierliche Daten verfügen, ermöglichen Ihnen Verteilungen, die Form, Zentrierung und Streuung Ihrer Daten zu verstehen, aber Sie können auch erkennen, ob Sie ungewöhnliche Werte haben. |
| |
Bei kategorialen Daten können Sie auch sehen, wie viele Ebenen vorhanden sind. Beispielsweise die Kundennummer. Wenn die Kundennummer eine wichtige oder potenziell wichtige Variable ist, |
| |
Ich habe viele Ebenen oder Werte für Kundennummern. Bei der Datenaufbereitung möchte ich diese möglicherweise in vier oder fünf Kategorien zusammenfassen und eine weitere Kategorie für Kunden hinzufügen, zu denen ich nicht viele Daten habe. |
| |
Luftfeuchtigkeit. Wir sehen das Problem mit N/A in der Spalte. Wir sehen ein Balkendiagramm anstelle eines Histogramms. |
| |
In den Lieferantendaten können wir leicht erkennen, wonach wir gesucht haben. Beispielsweise gibt es für Cox Inc. und Cox drei verschiedene Schreibweisen, für Anderson und für Hersh drei verschiedene Schreibweisen. |
| |
Beachten Sie, dass wir bei der Geschwindigkeit eine gewölbte Verteilung haben, die von etwa 60 bis 140 reicht, aber ganz unten sehen wir, dass es einen oder zwei Werte gibt |
| |
das liegt ziemlich nahe bei Null, und das könnte ... es könnte sich um einen Dateneingabefehler gehandelt haben, aber das ist auf jeden Fall etwas, das wir untersuchen möchten. |
| |
Eine Erweiterung davon besteht darin, Ihre Daten jeweils mit zwei Variablen gleichzeitig zu betrachten. So können Sie beispielsweise Graph Builder oder Streudiagramme verwenden. |
| |
Und wenn Sie jeweils zwei Variablen gleichzeitig betrachten, können Sie Muster erkennen und ungewöhnliche Muster, die mehr als eine Variable betreffen, leichter erkennen. |
| |
Wenn ich mir beispielsweise die Ausschussrate und die Anzahl der Ausschussteile ansehe, sehe ich, dass es einige Bereiche gibt. Und möglicherweise finden Sie in Ihrer Datentabelle etwas, das dieses Muster erklären kann. |
| |
Und in diesem Fall ist die Streifenbildung auf unterschiedliche Batchgrößen zurückzuführen. Dieser violette Streifen ist also dort, wo ich eine Batchgröße von 5.000 habe. |
| |
Und bei einer größeren Chargengröße besteht deutlich mehr Ausschuss als bei einer kleineren. Das mag zwar Sinn ergeben, aber ich sehe auch etwas, das keinen Sinn ergibt. Diese beiden Werte hier unten liegen im negativen Bereich. |
| |
Wenn ich mir die Daten in zwei Dimensionen ansehe, ist das ziemlich leicht zu erkennen. |
| |
Ich kann meinen Diagrammen zusätzliche Dimensionalität verleihen, indem ich Spaltenumschalter und Datenfilter verwende. |
| |
Dies führt mich auch zu einer Potenzialanalyse. Daher könnte es mich interessieren, welche X-Punkte wichtig sein könnten und mit der Ausschussrate in Zusammenhang stehen könnten. |
| |
Und achten Sie gleichzeitig auf Probleme oder potenzielle Probleme mit der Datenqualität. Was die Ausschussrate betrifft, scheint es eine positive Beziehung zwischen Druck und Ausschussrate zu geben. |
| |
Es sieht nicht so aus, als gäbe es da einen allzu großen Zusammenhang. Ausschussrate versus Temperatur, das ist ziemlich flach, also passiert hier nicht viel. |
| |
Aber achten Sie auf die Geschwindigkeit. Es besteht eine negative Beziehung, aber oben sehe ich diese beiden Werte; den einen Wert, den ich im Histogramm gesehen habe, aber es gibt einen zweiten Wert, der hervorzustechen scheint. |
| |
Es könnte also sein, dass dieser Wert um 60 einfach ein Ausreißer ist, aber er könnte ein gültiger Punkt sein. Ich würde wahrscheinlich in Frage stellen, ob dieser Punkt hier unten nahe 0 gültig ist oder nicht. |
| |
Wir haben uns also die Datentabelle angesehen. Wir haben die Daten Variable für Variable betrachtet. Wir haben die Daten jeweils mit zwei Variablen betrachtet, und all dies passt perfekt zur Datenexploration und führt uns zur Analyse. |
| |
Es gibt fortgeschrittenere Tools, die wir verwenden könnten (z. B. zum Untersuchen von Ausreißern oder fehlenden Werten), die jedoch über den Rahmen dieses Kurses oder dieses Vortrags hinausgehen. |
| |
Und wenn Sie mit der Analyse Ihrer Daten beginnen, werden Sie wahrscheinlich weitere Probleme feststellen. Wenn Sie beispielsweise viele Kategorien kategorialer Variablen haben, |
| |
Wenn Sie versuchen, eine Interaktion in ein Regressionsmodell einzufügen, erhalten Sie von JMP eine Warnung, dass dies nicht möglich ist. Wenn Sie mit der Datenanalyse beginnen, ist der gesamte Prozess iterativ, und Sie werden im Laufe des Prozesses potenzielle Probleme identifizieren. |
| |
Wichtig ist, dass Sie sich die Probleme notieren, die Ihnen beim Betrachten Ihrer Daten begegnen. Und einige davon können |
| |
Sie können Ihre Daten im Laufe der Zeit korrigieren, Werte ausblenden und ausschließen, sie umgestalten und bereinigen. Möglicherweise müssen Sie jedoch neue Daten erfassen. Um mehr Vertrauen in die Daten zu gewinnen, empfiehlt sich eine DOE. |
| |
Wenn Sie wissen, dass Sie diese Analyse wiederholen werden oder dass jemand anderes diese Analyse wiederholen möchte, |
| |
Dann sollten Sie Ihre Schritte unbedingt dokumentieren, um Reproduzierbarkeit zu gewährleisten. Jemand anderes kann Ihre Ergebnisse reproduzieren, oder Sie können Ihre Analyse später wiederholen. Hier übergebe ich an Jordan. Jordan wird |
| |
Sprechen Sie über reproduzierbare Datenkuratierung. |
| Jordan Hiller |
Okay, danke, Mia. |
| |
Hallo, ich bin Jordan Hiller. Ich bin Systemingenieur bei JMP. Lassen Sie uns etwas tiefer in die Materie einsteigen und mehr über Reproduzierbarkeit sprechen. |
| |
für Ihre Datenkuratierung. |
| |
Mia hat diese Idee sehr schön vorgestellt, aber lassen Sie uns noch ein paar Details dazu geben. Die Idee dahinter ist, dass wir in der Lage sein wollen, |
| |
Alle unsere Kurationsschritte, mit denen wir unsere Daten für die Analyse vorbereiten, sind integriert. Ich sehe darin drei Hauptvorteile. Der erste ist die Effizienz. 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 Point-and-Click-Aktivitäten erneut auszuführen. Genauigkeit ist der zweite Vorteil. Point-and-Click kann fehleranfällig sein. Durch die Erstellung eines Skripts gewährleisten Sie eine genaue Reproduktion. |
| |
Und schließlich ist die Dokumentation wichtig, und diese wird vielleicht unterschätzt. Wenn Sie ein Skript haben, dokumentiert es die Schritte, die Sie |
| |
Es ist eine Spur aus Brotkrumen, die Sie später erneut aufrufen können, wenn Sie dieses Projekt unweigerlich noch einmal aufrufen und sich fragen: Was habe ich getan, um diese Daten vorzubereiten? |
| |
Dieses Skript ist eine große Hilfe. Heute werden wir eine Fallstudie durchgehen. Ich zeige Ihnen, wie Sie eines dieser reproduzierbaren Datenkuratierungsskripte erstellen. |
| |
Mit nur einem Mausklick. Die Technologie dahinter ist neu in JMP 16: das erweiterte Protokoll und die darin enthaltene Aktionsaufzeichnung. |
| |
Wir werden unsere Datenkuratierung wie gewohnt per Mausklick durchführen. Dabei |
| |
Das Skript, das wir brauchen, der Computercode (er heißt JSL-Code, JSL steht für JMP-Skriptsprache), wird automatisch für uns erfasst. |
| |
im neuen erweiterten Protokoll. Und wenn wir mit der Point-and-Click-Kuration fertig sind, müssen wir nur noch den Code abrufen und speichern. Wir möchten vielleicht ein paar Optimierungen und Modifikationen vornehmen, um ihn etwas stabiler zu machen, aber das ist optional. |
| |
Okay, das ist also ein Spickzettel, den Sie verwenden können. Dies sind einige der häufigsten Datenbereinigungsaktivitäten |
| |
und wie man sie in JMP 16 so durchführt, dass man eine 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, alle unsere Datenbereinigungsvorgänge und wie Sie dies per Zeigen und Klicken tun. |
| |
Dies ist also keine vollständige Liste aller Schritte, die Sie zur Datenbereinigung unternehmen müssen, und auch keine vollständige Liste aller Schritte, die im erweiterten Protokoll erfasst werden. Aber das Wichtigste haben Sie hier direkt zur Hand. |
| |
Gut, gehen wir also zu unserer Fallstudie über, verwenden die von Mia eingeführte Komponentendatei und erstellen unser Datenkuratierungsskript in JMP 16 unter Verwendung des erweiterten Protokolls. |
| |
Hier sind wir in JMP 16. Ich möchte darauf hinweisen, dass dies die letzte Version des Early-Adopter-Programms für JMP 16 ist, also eine Vorabversion. Ich bin mir jedoch sicher, dass diese Version der endgültigen Release-Version von JMP 16 sehr ähnlich sein wird. |
| |
Um zum Protokoll zu gelangen, |
| |
Ich zeige es Ihnen hier. Es sieht anders aus, wenn Sie das Protokoll aus früheren JMP-Versionen gewohnt sind. Es ist in zwei Bereiche unterteilt: |
| |
Okay, oben ein Nachrichtenfeld und unten ein Codefeld. Wir werden uns hier etwas Zeit nehmen. Ich zeige Ihnen, wie das aussieht, aber lassen Sie uns zunächst eine kurze Vorschau geben, wenn ich einige schnelle Aktionen wie das Importieren einer Datei und das Löschen dieser Spalte durchführe. |
| |
Sie können sehen, dass die beiden Schritte, die ich durchgeführt habe (Datenimport und Löschen der Spalte), hier oben in diesem Nachrichtenfeld aufgelistet sind. |
| |
Und der Code, der JSL-Code, den wir für ein reproduzierbares Datenkuratierungsskript benötigen, befindet sich hier unten im unteren Bereich. Okay, also |
| |
Das ist wirklich sehr aufregend. Die Möglichkeit, diesen Code einfach zu haben und ihn jederzeit durch Zeigen und Klicken abzurufen, ist ein enormer Vorteil von JMP 16. |
| |
In JMP 16 ist die neue, erweiterte Protokollansicht standardmäßig aktiviert. Wenn Sie zur alten Version des Protokolls, dem einfachen Textprotokoll, zurückkehren möchten, können Sie dies hier in den JMP-Einstellungen tun. Es gibt eine neue |
| |
Abschnitt für das Protokoll. Sie können bei Bedarf zur alten Textansicht des Protokolls zurückkehren. Bei der Installation von JMP 16 ist standardmäßig das erweiterte Protokoll aktiviert. Wir werden später in unserer Fallstudie auf einige dieser weiteren Funktionen eingehen. |
| |
Okay, ich werde also ausräumen |
| |
Das Protokoll befindet sich vorerst im roten Dreieck. Löschen Sie das Protokoll und beginnen wir mit unserer Fallstudie. Importieren wir die Komponentendaten, die Mia mit Ihnen geteilt hat. Wir beginnen mit dieser CSV-Datei. |
| |
Also |
| |
Ich führe den einfachsten Import durch, indem ich es einfach hineinziehe. Oh, ich hatte schon eine Version davon geöffnet. Entschuldigen Sie, lassen Sie mich zunächst die alte Version schließen. |
| |
und löschen Sie das Protokoll noch einmal. |
| |
Okay, einfacher Import |
| |
indem Sie es in das JMP-Fenster ziehen. Jetzt haben wir die Datei „Komponente A“ mit 369 Batches. Fahren wir nun mit der Datenbereinigung fort. Ich aktiviere |
| |
Die Kopfdiagramme. Als Erstes sehen wir, dass die Spalte „Einrichtung“ nur einen Eintrag und einen Wert enthält: FabTech. Es gibt also keine Variation, nichts Interessantes. Ich lösche die Spalte einfach mit einem Rechtsklick. |
| |
Und auch das wird im erweiterten Protokoll erfasst. |
| |
Okay, was noch? Nehmen wir an, die Spalte mit der Ausschussrate am Ende der Tabelle ist für uns sehr wichtig, und ich möchte sie weiter vorne in der Tabelle sehen. Ich verschiebe sie an die vierte Position. |
| |
indem Sie es im Spaltenbereich greifen und direkt hinter die Kundennummer ziehen. Los geht‘s. |
| |
Mia erwähnte, dass diese Feuchtigkeitsspalte beim Import falsch dargestellt wird, hauptsächlich aufgrund der N/A |
| |
Buchstaben, die dazu führen, dass es als Zeichenvariable eingegeben wird. Das beheben wir. Wir gehen mit einem Rechtsklick in die Spalte „Info“ |
| |
Ändern Sie den Datentyp von Zeichen zu Numerisch und den Modellierungstyp von nominal zu kontinuierlich. Klicken Sie auf „OK“. Klicken Sie hier zum Protokoll. Sie sehen, dass wir nun vier Schritte erfasst haben. Wir fahren fort. |
| |
Okay, wie geht es weiter? Wir haben mehrere Variablen, die von kontinuierlich auf nominal geändert werden müssen. Das sind Chargennummer, Teilenummer und Prozess. Nachdem ich diese drei ausgewählt habe, klicke ich mit der rechten Maustaste und ändere von kontinuierlich auf nominal. |
| |
Und diese wurden alle korrigiert. |
| |
Und wir können wieder sehen, dass diese drei Schritte hier im Protokoll aufgezeichnet sind. |
| |
Okay, was noch? Noch etwas Kosmetisches: Diese Spalte „Druck“. Meine Ingenieure möchten den Spaltennamen gerne als PSI sehen, also ändern wir ihn, indem wir die Spalte auswählen und PSI eingeben. Mit der Tabulatortaste können Sie zu einer anderen Spalte wechseln. Das wird ebenfalls im Protokoll erfasst. |
| |
Der Lieferant. Mia hat uns gezeigt, dass es einige inkonsistente Schreibweisen gibt. Wahrscheinlich sind hier zu viele Werte enthalten. Wir müssen die Zeichenwerte korrigieren. Wenn Sie falsche, inkonsistente Zeichenwerte in einer Spalte haben, denken Sie an das Recode-Tool. |
| |
Das Umkodierungstool ist eine wirklich effiziente Lösung. Klicken Sie mit der rechten Maustaste auf den Lieferanten und wählen Sie „Umkodieren“. |
| |
Und gruppieren wir diese entsprechend. Ich beginne mit einigen roten Dreiecksoptionen. Konvertieren wir alle Werte in Groß- und Kleinschreibung. |
| |
Wir kürzen auch den Leerraum, um die uneinheitlichen Abstände zu korrigieren. Damit sind bereits einige Probleme behoben. Alles andere korrigieren wir manuell. Ich gruppiere die Andersons und die Coxes. |
| |
Gruppieren Sie die Hershes. Trutna und Worley haben bereits mit einer einzigen Kategorie Recht. Die letzte Korrektur, die ich vornehmen werde, betrifft Dinge, die einfach als leer oder fehlend aufgeführt sind. Ich werde ihnen eine explizite |
| |
hier fehlt das Etikett. |
| |
Alles klar, und wenn wir auf „Neu kodieren“ klicken, |
| |
Wir haben diese Korrekturen in einer neuen Spalte mit dem Namen „Lieferant 2“ vorgenommen. |
| |
Dabei wurden lediglich die Kategorien 1, 2, 3, 4, 5 und 6 korrigiert und reduziert. |
| |
Gut. |
| |
Okay, machen wir eine Berechnung. Wir berechnen hier den Ertrag anhand der Chargengröße und der Anzahl der Ausschussteile. |
| |
Richtig. Und ja, mir ist klar, dass das etwas redundant ist. Wir haben bereits eine Ausschussrate und der Ertrag ist nur eins minus Ausschussrate, aber nur der Argumentation halber führen wir Folgendes durch: |
| |
die Berechnung. Ich möchte, dass die Spalte „Ertrag“ direkt nach der verschrotteten Zahl eingefügt wird. Ich markiere also die verschrottete Zahl und gehe dann zum Spaltenmenü und wähle „Neue Spalte“. |
| |
Wir werden dieses Ding „Ertrag“ nennen. |
| |
Und wir werden unsere neue Spalte nach der ausgewählten Spalte einfügen, nach der verschrotteten Zahl, und ihr eine Formel zur Berechnung des Ertrags geben. |
| |
Wir benötigen die Anzahl der guten Einheiten. Das entspricht der Losgröße abzüglich der Anzahl der verschrotteten Einheiten. |
| |
Das ist also die Anzahl der guten Einheiten und wir werden das Ganze durch |
| |
die Batchgröße. |
| |
Anzahl der guten Einheiten geteilt durch die Chargengröße, das ist unsere Ertragsberechnung. |
| |
Und klicken Sie auf „OK“. |
| |
Da ist unser neues |
| |
Wir sehen, dass die Ausbeute eins minus Ausschuss ist. Das ist gut. Lassen wir vorerst einmal außer Acht, dass wir Ausbeuten haben, die über 100 % liegen. |
| |
Okay, wir sind fast fertig. Nur noch ein paar Änderungen. Mir ist aufgefallen, dass wir zwei Prozesse haben, die vorerst nur als Prozess 1 und Prozess 2 bezeichnet werden. |
| |
Das ist nicht sehr aussagekräftig und nicht sehr hilfreich. Geben wir ihnen aussagekräftigere Bezeichnungen. Prozess 1 nennen wir Produktionsprozess; und Prozess 2 nennen wir experimentell. Wir verwenden also Wertbezeichnungen, anstatt sie neu zu kodieren. Ich gehe in die Spalte „Info“ |
| |
und wir werden eins und zwei Wertebezeichnungen zuweisen. |
| |
Einer in dieser Spalte wird die Produktion darstellen. |
| |
Fügen Sie das hinzu. |
| |
Und zwei steht für experimentell. |
| |
Fügen Sie das hinzu. |
| |
Klicken Sie auf „OK“. Gut. In den Kopfdiagrammen werden „1“ und „2“ angezeigt, in der Datentabelle hingegen „Produktion“ und „Experimentell“. |
| |
Okay, ein letzter Schritt, bevor wir unser Skript speichern. Nehmen wir der Argumentation halber an, ich interessiere mich nur für die Daten. Ich möchte die Analyse erst fortsetzen, wenn das Vakuum ausgeschaltet ist. |
| |
Gut, ich werde also eine Teilmenge der Daten erstellen und eine neue Datentabelle erstellen, die nur die Zeilen enthält, in denen das Vakuum ausgeschaltet ist. Dazu klicke ich mit der rechten Maustaste auf eine der Zellen mit ausgeschaltetem Vakuum. |
| |
und Auswählen passender Zellen. |
| |
Damit sind die 313 Zeilen ausgewählt, in denen das Vakuum deaktiviert ist. Nun gehen wir zur Tabellenteilmenge. |
| |
Erstellen Sie eine neue Datentabelle, die wir vac_off nennen. |
| |
Klicken Sie auf „OK“. |
| |
In Ordnung, und das ist unsere neue Datentabelle mit 313 Zeilen, die nur Daten anzeigen, bei denen das Vakuum ausgeschaltet ist. |
| |
Das ist also das Ende. Wir haben die gesamte Datenkuratierung abgeschlossen. Gehen wir nun zurück und sehen uns das Protokoll noch einmal an, um mehr über unsere Daten zu erfahren. |
| |
Okay, alle diese Schritte und noch ein paar mehr, die ich nicht vorhatte, wurden hier im Protokoll erfasst. |
| |
Schauen Sie hier, wir haben ... jede Zeile ist einer der Schritte, die wir ausführen. |
| |
Es gibt auch einige überflüssige Dinge, zum Beispiel habe ich irgendwann die Zeilenauswahl gelöscht. Das war nicht wirklich nötig ... Ich muss das nicht unbedingt in mein Skript aufnehmen. |
| |
Die ausgewählten Zeilen werden gelöscht. Ich klicke einfach mit der rechten Maustaste darauf und lösche das Element. Das ist gut. |
| |
Okay, also Nachrichten hier oben, JSL-Code hier unten. Ich möchte Sie auf den Ursprung und das Ergebnis aufmerksam machen. Das ist ziemlich raffiniert. |
| |
Bei jedem Schritt, bei jeder Aktion per Point-and-Click, gibt es etwas, worauf wir die Aktion anwenden, und etwas, das daraus resultiert. Das ist also Ursprung und Ergebnis. Zum Beispiel, als wir die Spalte „Einrichtung“ gelöscht haben … |
| |
Nun, vielleicht ist das ein schlechtes Beispiel... lasst uns stattdessen die Spalteninformationen für die Luftfeuchtigkeit ändern. Der Ursprung, das, was wir getan haben, |
| |
Es handelte sich um die Tabelle „Komponenten A“, die wir hier als Datentabelle sehen. Wenn ich mit der Maus darüberfahre, erscheint die Meldung „Komponenten A in den Vordergrund bringen“. Klicken Sie darauf, um zur Tabelle „Komponenten A“ zu gelangen. Sehr schön. |
| |
Das Ergebnis ist etwas, das wir mit der Spalte „Feuchtigkeit“ gemacht haben. Wir haben die Luftfeuchtigkeit geändert. Wir haben sie auf den Datentyp „numerisch“ und den Modellierungstyp „kontinuierlich“ geändert. Sehen Sie das hier unten. |
| |
Ich kann hier klicken und zur Spalte „Feuchtigkeit“ gehen. Sie wird hervorgehoben und für uns ausgewählt. JMP wählt die Spalte „Feuchtigkeit“ für uns aus. |
| |
Grün für alle, außer für dieses letzte Ergebnis in Blau. Das soll uns helfen, den Überblick über unsere Aktivitäten in verschiedenen Datentabellen zu behalten. Wir haben alle diese Aktivitäten in der Datentabelle „Komponente A“ durchgeführt. |
| |
Und in unserer letzten Aktivität haben wir eine Teilmenge der Datentabelle „Komponente A“ ausgeführt. Das Ergebnis war eine neue Datentabelle namens „vac_off“. Daher ist „vac_off“ blau. So können wir diese Farben nutzen, um den Überblick zu behalten. |
| |
Okay, die letzte Funktion, die ich Ihnen hier im Protokoll zeigen möchte, ist... das ist |
| |
Hilfreich ist es, wenn Sie eine lange Reihe von Schritten haben und nur einen einzigen finden müssen. Dieses Filterfeld hilft Ihnen dabei. Nehmen wir an, ich möchte die Teilmenge finden. Hier ist sie. Wir haben die Teilmengen-Datentabelle gefunden, und ich kann direkt zu dem Code gelangen, den ich brauche. |
| |
Okay, das ist alles, was wir brauchen. Unsere Schritte zur Datenkuratierung wurden aufgezeichnet. Um ein reproduzierbares Datenkuratierungsskript zu erstellen, müssen wir nur noch auf das rote Dreieck klicken und das Skript in einem neuen Skriptfenster speichern. |
| |
Der Importschritt, der Schritt zum Löschen der Spalte und der Schritt zum Verschieben der Ausschussrate. Alle diese Schritte sind hier im Skript enthalten. |
| |
Die Syntaxhervorhebung erleichtert uns das Lesen des Skripts. Außerdem gibt es hilfreiche Kommentare, die uns genau erklären, was wir in den einzelnen Schritten getan haben. |
| |
So, das ist alles. Das ist alles, was wir brauchen. Ich speichere es auf meinem Desktop als „Importieren und Bereinigen“ … nennen wir es „Importieren und Kuratieren von Komponenten“. |
| |
So, das ist unser reproduzierbares Datenkurationsskript. Wenn ich also zum JMP-Startfenster zurückkehre und alles außer unserem neuen Skript schließe, |
| |
So gehen wir vor, wenn ich diese Schritte zur Datenkuratierung wiederholen muss. Ich habe gerade die Skriptdatei geöffnet und wir können sie durch Klicken auf die Schaltfläche „Skript ausführen“ ausführen. Öffnet die Daten, führt die gesamte Bereinigung durch, nimmt die Teilmengenbildung vor und erstellt die neue Datendatei mit 313 Zeilen. |
| |
Stellen wir uns nun vor, dass wir dies mit neuen Daten wiederholen müssen. |
| |
Ich habe eine weitere Version der Komponentendatei. Sie heißt Komponente B. Sie enthält 50 zusätzliche Zeilen, also statt 369 nun 419. Stellen Sie sich vor, wir haben den Prozess für weitere 50 Batches ausgeführt und verfügen nun über mehr Daten. |
| |
Es heißt also Komponente B, und ich möchte dieses Skript auf Komponente B ausführen. Sie werden jedoch feststellen, dass im gesamten Skript Komponente A mehrfach aufgerufen wird. Wir müssen also nur Komponente A suchen, ersetzen und in Komponente B ändern. Los geht’s. Bearbeiten. |
| |
Suchen. |
| |
Wir suchen Komponente A und ersetzen sie durch Komponente B. Alle ersetzen. 15 Vorkommen wurden ersetzt. |
| |
Sie können es hier und hier sehen. |
| |
Jetzt führen wir das Skript einfach erneut aus, und schon ist die neue Version der Daten da. Sie sehen, dass es mehr Zeilen enthält, obwohl die Daten vorher nicht mehr vorhanden waren. Vorher waren es 313, jetzt sind es 358. |
| |
Also gut, also ein reproduzierbares Datenkuratierungsskript, das mit neuen Daten ausgeführt werden kann. |
| |
Okay, hier ist noch einmal der Spickzettel. Er befindet sich in den Materialien, die wir mit dem Vortrag speichern, Sie können ihn also jederzeit finden. Er erklärt Ihnen, wie Sie sich per Mausklick durch die Datenkuratierung arbeiten und ein ansprechendes, wiederholbares und reproduzierbares Datenkuratierungsskript erstellen. |
| |
Für das Skript, das wir erstellt haben, mussten wir überhaupt keine Codes schreiben, aber ich werde Ihnen ein paar Tipps geben, vier Tipps, die Sie verwenden können |
| |
Um die Skripte etwas zu verbessern. Der erste Tipp ist, diese Zeile am Anfang Ihrer Skripte einzufügen. Das ist für alle Ihre Skripte sinnvoll. Fügen Sie hier einfach die standardmäßigen Zeilennamen ein. |
| |
Dies verhindert, dass Ihr Skript mit anderen Skripten interagiert. Dies nennt man eine Namespace-Kollision, und Sie müssen nicht wirklich verstehen, was sie bewirkt, sondern es einfach tun. Es ist sinnvoll und gehört zur guten Programmierpraxis. |
| |
Der zweite Tipp besteht darin, sicherzustellen, dass zwischen den JSL-Ausdrücken Semikolons stehen. |
| |
Das erweiterte Protokoll erledigt dies automatisch für Sie. Es setzt das erforderliche Semikolon zwischen jeden Schritt. Wenn Sie jedoch selbst Änderungen vornehmen, achten Sie auf die korrekte Platzierung der Semikolons. Ein kleiner Tipp: |
| |
Kommentare hinzufügen. |
| |
Kommentare sind eine Möglichkeit, Notizen im Programm zu hinterlassen, und zwar so, dass das Programm nicht durcheinander gebracht wird. Es ist eine Möglichkeit, |
| |
Lassen Sie etwas im Programm, das vom JSL-Interpreter nicht interpretiert wird. Das erweiterte Protokoll enthält außerdem Notizen zur Aktionsaufzeichnung. Sie können diese jedoch ändern und ergänzen, wenn Sie möchten. Hier sind die wichtigsten Punkte zu Kommentaren. |
| |
Das typische Format besteht aus zwei Schrägstrichen, und alles, was den Schrägstrichen folgt, ist ein Kommentar. Sie können dies also am Anfang oder auch am Ende einer Zeile tun. Der Interpreter führt dann den JSL-Ausdruck X = 9 aus, ignoriert dann aber alles nach den Schrägstrichen. |
| |
Bei längeren Kommentaren können Sie auch dieses Format verwenden: /* am Anfang und */ am Ende. Dadurch wird ein Kommentar eingeschlossen. Kommentare sind nützlich, um Notizen für sich selbst zu hinterlassen, aber auch zum Debuggen Ihres JSL-Skripts. |
| |
Wenn Sie eine Codezeile entfernen und verhindern möchten, dass sie ausgeführt wird, können Sie ihr einfach die beiden Schrägstriche voranstellen. Für einen größeren Codeabschnitt können Sie dieses Format verwenden. Es ist also gut zu wissen, wie man Kommentare verwendet. |
| |
Mein letzter Tipp ist die Verallgemeinerung von Datentabellenreferenzen. Erinnern Sie sich noch daran, wie wir suchen und ersetzen mussten, damit das Skript mit einem neuen Dateinamen, „Komponente B“, ausgeführt wurde? |
| |
Wir mussten 15 Instanzen in der Datentabelle im Skript ändern. Wäre es nicht schön, wenn wir sie nur einmal ändern müssten, anstatt 15 Mal? So können Sie Ihre Skripte robuster gestalten. |
| |
Durch Verallgemeinerung 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. |
| |
Links ist Code zu sehen, der durch die Aktionsaufzeichnung im erweiterten Protokoll generiert wurde. |
| |
Wir öffnen die Datentabelle „Big Class“. Wir bearbeiten die Spalte „Alter“, ändern sie in einen kontinuierlichen Modellierungstyp und erstellen anschließend eine neue berechnete Spalte. |
| |
Beim Öffnen verwenden wir es, um die Änderung an der Altersspalte vorzunehmen, und wir verwenden es hier. |
| |
Ganz einfach: Was Sie tun müssen, um dies robuster und allgemeiner zu machen. |
| |
Sie müssen drei Änderungen vornehmen. |
| |
Bei dieser ersten Änderung vergeben wir einen Namen. Ich habe BC gewählt; Sie können wählen, was Sie wollen. DT wird häufig vorkommen. |
| |
BC ist also der Name, mit dem wir im Rest des Skripts auf die Big Class-Datentabelle verweisen. Wenn wir also das Alter ändern möchten, |
| |
„Alter“ bedeutet BC-Datentabelle und die Altersspalte in dieser Datentabelle. |
| |
Hier unten senden wir eine Nachricht an die Big Class-Datentabelle. Genau das bedeutet die Doppelpfeil-Syntax. Wir verallgemeinern das einfach, indem wir den neuen Namen verwenden, um die Nachricht zu senden. |
| |
zur Datentabelle. Wenn wir dieses Skript nun für eine neue Datentabelle mit einem anderen Namen als „Big Class“ ausführen müssen, müssen wir nur eine einzige Stelle im Skript ändern. Suchen und Ersetzen ist nicht erforderlich. |
| |
Okay, wenn Sie nach diesen vier Tipps bereit sind, Ihr Kurationsskript auf die nächste Stufe zu heben, sind hier einige nächste Schritte. Sie könnten einen Dateiwähler hinzufügen. Es erfordert nicht viel Programmieraufwand. |
| |
um es so zu ändern, dass jemand, der dieses Skript ausführt, einfach zu der Datei navigieren kann, auf der es ausgeführt werden soll, anstatt das Skript manuell bearbeiten zu müssen. |
| |
Das ist eine gute Idee. Wenn Sie das Skript an andere Benutzer in Ihrem Unternehmen verteilen möchten, können Sie es in ein JMP-Add-In integrieren. So können Benutzer das Skript einfach ausführen, indem sie es aus einem Menü in JMP auswählen. |
| |
Wirklich praktisch. Und schließlich: Wenn Sie dieses Kurationsskript planmäßig ausführen müssen, um eine JMP-Masterdatentabelle zu aktualisieren, die Sie irgendwo im Netzwerk gespeichert haben, können Sie dies mit dem Taskplaner in Windows oder dem Automator in Mac OS tun. |
| |
Zusammenfassend hat Mia darüber gesprochen, wie Sie Ihre Datenkuratierung durchführen, indem Sie die Daten untersuchen und iterativ bearbeiten, um Probleme zu identifizieren. |
| |
Wenn Sie diese Schritte automatisieren, profitieren Sie von der Reproduzierbarkeit, also von Effizienz, Genauigkeit und der Dokumentation Ihrer Arbeit. |
| |
Um dies in JMP 16 zu tun, zeigen und klicken Sie einfach wie gewohnt und Ihre Schritte zur Datenkuratierung werden durch die Aktionsaufzeichnung erfasst, die im erweiterten Protokoll erfolgt. |
| |
Und schließlich können Sie den JSL-Code aus dem erweiterten Protokoll exportieren und ändern, um Ihr reproduzierbares Datenkuratierungsskript zu erstellen. Damit schließen wir unseren Vortrag ab. Vielen Dank für Ihre Zeit und Aufmerksamkeit. |