Predictive Maintenance: Die Performance und die Kreuzvalidierung
Im ersten Teil von Schritt 4: Datenanalyse des Predictive Maintenance-Prozesses wurde
ein Vorhersagemodell für vorhandene Datensätze ausgearbeitet, in unserem Fall für einen Datensatz aus Sensordaten ein Modell, das vorhersagt,
bei welcher Kombination von Sensorwerten ein Ausfall eines Bauteils oder einer Maschine zu erwarten ist.
Wir stellen uns nun die Frage, wie gut ein Vorhersagemodell überhaupt ist.
Ein gutes Vorhersagemodell sollte nicht nur fehlerhafte Zuordnungen in schon bekannten Beobachtungen vermeiden, sondern auch aus den
bekannten historischen Beobachtungen Vorhersagen für zukünftige Datensätze mit einer gewissen Sicherheit treffen können.
Zur Bewertung eines Modells werden deshalb verschiedene Kennzahlen zum Testfehler bestimmt.
Liegen diese Kennzahlen in einem vorher festgelegten, akzeptablen Bereich?
Wenn ja, dann ist das Modell gut, d.h. wir können uns auf die Vorhersage durch das Modell verlassen.
Zur Bestimmung der Kennzahlen wird das Testverfahren der Kreuzvalidierung angewandt, ein klassisches Verfahren der Statistik bzw. Datenanalyse,
das als Datenbasis für die Validierung den vorhandenen Originaldatensatz verwendet.
Die Kennzahlen
Um ein Vorhersagemodell wie den Entscheidungsbaum zu validieren, verwendet man Kennzahlen, die angeben, wie gut die Gruppenzugehörigkeiten bzw. der Wert der Zielvariablen mit dem entsprechenden Modell vorhergesagt wird. Es gibt eine Vielzahl von Kennzahlen, die unterschiedliche Aussagen treffen, und je nach inhaltlichem Interesse ausgewählt werden. Die wichtigsten Kennzahlen sind:
- Vertrauenswahrscheinlichkeit (engl. accuracy):
Die Wahrscheinlichkeit, dass für eine Beobachtung eine richtige Vorhersage getroffen wird. - Sensivität/Trefferquote (engl. recall oder true-positive-rate):
Die Wahrscheinlichkeit, dass für eine Beobachtung "ausgefallen" auch ein Ausfall vorhergesagt wird. - Ausfallrate (engl. false-positive-rate):
Die Wahrscheinlichkeit, dass für eine Beobachtung "nicht ausgefallen" fälschlicherweise ein Ausfall vorhergesagt wird. - Relevanz/Wirksamkeit/Genauigkeit (engl. precision):
Die Wahrscheinlichkeit, dass die Vorhersage eines Ausfalls auch richtig ist.
In einem idealen Vorhersagemodell, d.h. ein Modell, das immer die richtige Aussage trifft, liegen alle Kennzahlen bis auf die Ausfallrate bei 100%. Die Ausfallrate liegt im idealen Modell bei 0%. Ein Modell kann als "gut" bewertet werden, wenn die Kennzahlen nahe an 100% bzw. 0% liegen. Was genau "nahe" heißt, hängt von der Einschätzung des Experten ab, d.h. welche Abweichungen der Experte noch als in Ordnung gelten lässt.
Die Kreuzvalidierung
Wir wollen nun am Beispiel des Automobildatensatzes zeigen, wie mit Hilfe der Kreuzvalidierung Kennzahlen ermittelt werden, die die Güte des Vorhersagemodells bewerten.
Als Datenbasis für die Validierung dient der Originaldatensatz. Warum die Originaldaten? Weil wir die tatsächlichen Werte/Zustände der Zielvariablen (hier: von Ausfall) aller Beobachtungen aus den Originaldaten kennen und diese mit den Vorhersagen bzw. Zuordnungen der Werte, die das Modell liefert, direkt vergleichen können. Der Vergleich der Vorhersagen mit den bekannten Zuständen liefert die Kennzahlen, die den Testfehler beschreiben.
Idee der Kreuzvalidierung
Die Abbildung verdeutlicht die Idee, wie mittels der k-fachen Kreuzvalidierung auf Basis der Originaldaten der Testfehler erhoben wird. Dazu wird der Originaldatensatz in k circa gleich große Teildatensätze zerlegt. Ein Teildatensatz wird als Test- bzw. Validierungsdatensatz verwendet (in der Abbildung rot-markiert) und die übrigen k-1 Teildatensätze bilden zusammen den Trainingsdatensatz (in der Abbildung blau-markiert) zur Bestimmung des Vorhersagemodells.
Dieses Modell wird dann auf den einen ausgelassenen Teildatensatz, den Validierungsdatensatz, angewandt und somit wird für jede Beobachtung in den Testdaten eine Vorhersage der Zielvariablen durchgeführt. Da die tatsächlichen Werte der Zielvariablen aber bekannt sind, können diese nun mit den Vorhergesagten verglichen werden und die ausgewählte Kennzahl zum Testfehler berechnet werden. Im nächsten Schritt der Kreuzvalidierung wird ein anderer Teildatensatz als Test- bzw. Validierungsdatensatz verwendet und die übrigen k-1 Teildatensätze bilden zusammen wieder den Trainingsdatensatz, und wieder wird die Kennzahl zum Testfehler berechnet. Dies wird solange wiederholt bis jeder der k Teildatensätze einmal als Testdatensatz verwendet wurde, d.h. k-mal. Nach allen k Durchläufen wird durch Mittelung aller k berechneten Kennzahlen der durchschnittliche Kennzahlwert des Testfehlers bestimmt.
Mini-Beispiel (fortgesetzt)
Wir verdeutlichen die 4-fache Kreuzvalidierung nun anhand des Mini-Beispiels zur Datenanalyse.
id | temp | druck | ausfall |
---|---|---|---|
1 | normal | hoch | nein |
2 | hoch | normal | nein |
3 | hoch | hoch | ja |
4 | hoch | normal | ja |
Bei der 4-fachen Kreuzvalidierung wird der Mini-Beispiel-Datensatz in 4 gleich große Teilmengen mit Beobachtungsanzahl 1 zerlegt. D.h. eine Beobachtung wird aus den Originaldaten ausgewählt und als Testdatensatz verwendet und die restlichen 3 Beobachtungen bilden den Trainingsdatensatz. Dieses Verfahren ist auch unter dem Begriff der Leave-One-Out-Kreuzvalidierung bekannt und stellt einen Spezialfall der k-fachen Kreuzvalidierung dar, bei dem k gleich der Anzahl aller Beobachtungen gesetzt wird, hier gleich 4.
Interpretation der Kennzahlen
Die Vorhersage keines Ausfalls (vorherg. Ausfall=nein, also engl. negative=N) durch das Modell kann richtig sein oder auch nicht. Da wir die tatsächlich beobachtete Zuordnung kennen und mit der Vorhersage vergleichen können, wird die Vorhersage in die Kategorie richtig (engl. true= T) oder falsch (engl. false= F) eingeteilt. Somit ergeben sich die beiden Werte richtig negativ (engl. true negative=TN) und falsch negativ (engl. false negative=FN).
Die Vorhersage eines Ausfalls (vorherg. Ausfall=ja, also engl. positive=P) kann auch richtig sein oder auch nicht. Da wir die tatsächlich beobachtete Zuordnung wieder kennen und mit der Vorhersage vergleichen können, wird die Vorhersage eines Ausfalls in die Kategorie richtig (engl. true= T) oder falsch (engl. false= F) eingeteilt. Somit ergeben sich die beiden weiteren Werte richtig positiv (engl. true positive=TP) und falsch positiv (engl. false positive=FP).
Richtige und falsche Klassifikationen
- Was heißt TN (true negative)?
Wenn vorhergesagter Ausfall = nein und beobachteter Ausfall = nein, dann gilt TN: Zuordnung wurde richtig als Ausfall=nein vorhergesagt. - Was heißt FN (false negative)?
Wenn vorhergesagter Ausfall = nein und beobachteter Ausfall = ja, dann gilt FN: Zuordnung falsch als Ausfall=nein vorhergesagt. - Was heißt TP (true positive)?
Wenn vorhergesagter Ausfall = ja und beobachteter Ausfall = ja, dann gilt TP: Zuordnung wurde richtig als Ausfall=ja vorhergesagt. - Was heißt FP (false positive)?
Wenn vorhergesagter Ausfall = ja und beobachteter Ausfall = nein, dann gilt FP: Zuordnung wurde falsch als Ausfall=ja vorhergesagt.
Die Zuordnungstabelle für richtig / falsch negative / positive Vorhersagen fasst die tatsächlich beobachteten Zuordnungen in Ausfall Ja oder Nein in Verbindung mit den durch das Vorhersagemodell getroffenen Vorhersagen zusammen.
Vorhersage | beob. Ausfall=nein | beob. Ausfall=ja |
---|---|---|
vorherg. Ausfall=nein | TN | FN |
vorherg. Ausfall=ja | FP | TP |
Aus TN, FN, TP und FP lassen sich nun je nach inhaltlichem Interesse die Kennzahlen des Testfehlers bestimmen. Dazu werden zuerst noch die vier Randsummen der obigen Tabelle benötigt, die unterschiedlich interpretiert werden:
- I=TN+FP, die Anzahl der Beobachtungen mit "Ausfall=nein" (Summe der ersten Spalte)
- R=FN+TP, die Anzahl der Beobachtungen mit "Ausfall=ja" (Summe der zweiten Spalte)
- N=TN+FN, die Anzahl der Vorhersagen mit "Ausfall=nein" (Summe der ersten Zeile)
- P=FP+TP, die Anzahl der Vorhersagen mit "Ausfall=ja" (Summe der zweiten Zeile)
- T=TN+TP, die Anzahl der richtigen Zuordnungen/Vorhersagen durch das Modell
- n=TP+TN+FN+FP, die Anzahl aller Beobachtungen im Datensatz
Mit den obigen Werten lassen sich die verschiedenen Kennzahlen zum Testfehler bestimmen.
- Accuracy = T / n
Die Vertrauenswahrscheinlichkeit, d.h. die Wahrscheinlichkeit, dass für eine Beobachtung eine richtige Vorhersage getroffen wird, berechnet man als Quotient zwischen der Anzahl der richtigen Zuordnungen und der Anzahl aller Beobachtungen. - Recall (True Positive Rate) TPR = TP / R
Die Wahrscheinlichkeit, dass für eine Beobachtung "Ausfall=ja" auch ein Ausfall vorhergesagt wird, ist der Quotient zwischen den richtig positiv-Klassifikationen und der Gesamtzahl der Beobachtungen mit Ausfall="ja". - Ausfallrate (False Positive Rate): FPR = FP / I
Die Wahrscheinlichkeit, dass für eine Beobachtung "Ausfall=nein" fälschlicherweise ein Ausfall vorhergesagt wird, ist der Quotient zwischen den falsch positiv-Klassifikationen und der Gesamtzahl der Beobachtungen mit Ausfall="nein". - Precision = TP / P
Die Wahrscheinlichkeit, dass die Vorhersage eines Ausfalls auch richtig ist, berechnet man als Quotient zwischen den richtig positiv-Klassifikationen und der Anzahl der Vorhersagen mit "Ausfall=ja".
In unserer Demo wird noch eine weitere Kennzahl ermittelt, die AUC (engl. area-under-the-curve), die sich aus dem ROC-Diagramm ergibt. Zur Erstellung der ROC (engl. receiver-operating-characteristic)-Kurve oder Grenzwertoptimierungskurve werden zwei Kennzahlen/Raten gegenüber gestellt. Auf der x-Achse wird die FPR und als y-Achse die TPR verwendet.
Ein ideales Modell zeichnet sich dabei durch 100% True Positive Rate (TPR) und 0% False Positive Rate (FPR) aus und entspricht der oberen linken Ecke im ROC-Diagramm. Dann beträgt die Fläche unter der ROC-Kurve (engl. area-under-the-curve, in der Abbildung grün-markiert) 100%.
Ein Modell, das als "gut" bewertet wird, sollte möglichst nahe an den Werten 100% TPR und 0% FPR liegen und damit eine AUC nahe 100% aufweisen.
Autoren, Tools und Quellen
Autoren:
M.Sc. Anke Welz
Prof. Dr. Eva Maria Kiss
Quellen und weiterführende Links: