Predictive Maintenance hilft Ihnen Wartungsmaßnahmen effizient zu gestalten

Screenshot
Predictive Maintenance zeigt verbleibende Nutzungsdauer von Aufzügen der Deutschen Bahn: klicken, um interaktives Dashboard zu öffnen

Nicht nur die Fertigungskosten lassen sich mit Predictive Maintenance senken. Auch im Dienstleistungsbereich entsteht durch Vorhersagen enormes Optimierungspotential. Im wesentlichen lassen sich die Fragestellungen, die im Rahmen von Predictive Maintenance gestellt werden, in drei Klassen einteilen:

  • Wie hoch ist die Wahrscheinlichkeit, dass ein Gerät in naher Zukunft ausfällt?
  • Was sind die Ursachen von Ausfällen und welche Instandhaltungsmaßnahmen sollten durchgeführt werden, um diese Probleme zu beheben?
  • Wie lang ist die Nutzungsdauer eines Gerätes?

Ein Beispiel, das die Frage der Nutzungsdauer in den Mittelpunkt rückt, zeigt das Dashboard Predictive Maintenance Deutsche Bahn Elevators. Dieses Dashboard sagt voraus, wie lange Aufzüge noch ohne Wartung auskommen („Rest of Useful Life“). Mit dem Parameter „Material Wear Off“ lässt sich zudem der Grad der Abnutzung beeinflussen.

Die visualisierten Sensordaten erlauben darüber hinaus die Möglichkeit Anomalien zu entdecken. Hier lassen sich mit den Parametern „Primary Sensor“ und „Secondary Sensor“ verschiedene Kombinationen analysieren. In der „Setting Matrix“ werden die verschiedene Einstellungen, die beim Betreiben der Aufzüge angewandt werden zusammengefasst.

Details zu den Aufzügen werden im Tooltip angezeigt. In diesen Tooltips lassen sich darüber hinaus Wartungsaufträge via Twitter triggern:

 

Anstatt auf eine Störung zu reagieren, können Servicetechniker somit auf Vorhersagen zurückgreifen. Damit agieren sie bereits vor einem Ausfall des Aufzugs entsprechend. Techniker sind somit in der Lage einen Aufzug aus der Ferne in den Diagnosemodus zu versetzen und ihn auf einer bestimmten Etage zu parken. All dies führt zu weniger Anfahrtszeiten, gesteigerter Effizienz und geringeren Kosten.

Dieses und weitere Beispiele zeige ich auf meinem Vortrag “Industry 4.0: Self Service BI and Predictive Maintenance“ im Rahmen des IBI Symposium am 17. November 2016 in Stuttgart.

[Update 24 Mar 2017]: Das Predictive Maintenance Dashboard wird außerdem auf der CeBIT 2017 im Rahmen der „neuen datenbasierten Geschäftsmodelle und Big Data bei der DB“ vorgestellt:

Tableau: How to find the most important variables for determining Sales

Random Forest Animation
Interactive dashboard displaying the most important variables for determining the Sales measure in Tableau 10.0 (click screenshot to enlarge)

During the Q&A session of a recent talk on Data Strategy, I was challenged with a rather technical question: I was asked how to identify the variables that are heavily influencing a certain measure – with an interactive solution that matches a modern data strategy as suggested in my presentation.

Of course, this could be done by executing a script. The result however would be static and it would be not convenient for a Business Analyst to run it over and over again. Instead of applying a script every time the data changes, it would be much more innovative to get the answer immediately with every data update or interactivity such as a changed filter.

So why not solve this with Tableau? The magic underneath this easy-to-use Tableau dashboard is a nifty R script, embedded in a calculated field. This script calls a statistical method known as Random Forest, a sophisticated machine learning technique used to rank the importance of variables as described in Leo Breiman’s original paper.

The Tableau Packaged Workbook (twbx) is available here. Do you have more ideas or use cases? Feel free to leave a comment or send me an email: aloth@tableau.com

How to enable Multi-Language Sentiment Analysis with R

Have you seen how easy it is to integrate sentiment analysis in your Tableau dashboard – if your text is in English?

Until now the sentiment package for R only worked with English text. Today, I released version 1.0 of the sentiment package on GitHub that features multi-language support. In order to perform sentiment analysis with German text, just add the parameter language="german" as shown in this example:

Demo showing Multi-Language Sentiment Analysis with English and German text
Demo showing Multi-Language Sentiment Analysis with English and German text

The new code allows you to add any language. So far, I started to prepare German sentiment files. French and Spanish sentiment files are on my to-do list.

Predictive Maintenance Beispiele: 4 Methoden zur Kostenoptimierung durch Predictive Maintenance

Predictive Maintenance Beispiele: PdM Dashboard auf Tableau Mobile und IoT Realtime Feed auf Tableau Desktop
Predictive Maintenance Beispiele: PdM Dashboard auf Tableau Mobile und IoT Realtime Feed auf Tableau Desktop

Einführung: Warum ist Predictive Maintenance wichtig?

Instandhaltungskosten tragen wesentlich zu den Produktionskosten bei, wobei sie je nach Branche auf 15 bis 60 Prozent der Gesamtkosten geschätzt werden. Predictive Maintenance (PdM), die vorausschauende Instandhaltung, hat das Potenzial, diese Kosten deutlich zu senken.

Unsere Erfahrungen und die ausführlichen Beispiele in meinem Buch zur Digitalisierung Decisively Digital: From Creating a Culture to Designing Strategy (Amazon) zeigen, dass Predictive Maintenance die Gesamtkosten einer Maschine während ihrer gesamten Lebensdauer reduzieren kann.

Das Prinzip von Predictive Maintenance

Predictive Maintenance zielt darauf ab, den Ausfall einer Maschine vorherzusagen und somit die Wartung zu optimieren. Die Wartungsarbeiten erfolgen nur dann, wenn ein Ausfall voraussichtlich eintreten wird. Doch wie lässt sich diese Vorhersage treffen?

Jene Vorhersagen, die häufig im Kontext mit Industrie 4.0 gesehen werden, lassen sich auf Grundlage folgender Fakten treffen:

  • Aktuelle Sensordaten: Wie verhält sich die Maschine gegenwärtig?
  • Historische Sensordaten: Wie hat sich die Maschine in der Vergangenheit verhalten?
  • Benachbarte Sensordaten: Wie haben sich andere, ähnliche Maschinen verhalten?
  • Instandhaltungsprotokoll: Wann wurde die Maschine zuletzt gewartet oder getauscht?
  • Instandhaltungsempfehlung: Welche Wartungsintervalle empfiehlt der Hersteller?

Methoden zur Interpretation von IoT-Daten

Solche Daten aus dem Internet der Dinge (IoT) lassen sich nun nicht ohne weiteres sinnvoll auf einem Dashboard darstellen. Ein Blick auf die bloßen Daten lässt hier kaum Schlüsse zu. So ist es für erfolgreiches Predictive Maintenance essentiell, dass statistische Methoden wie diese angewandt werden:

1. Mustererkennung: Durch das Identifizieren von Mustern zwischen bestimmten Ereignissen und Maschinenausfällen können wir voraussagen, wann und warum eine Maschine ausfallen könnte. Zum Beispiel könnte eine Maschine, die bei der Verarbeitung eines bestimmten Materials besonders belastet wird, eher ausfallen.

2. Trendmodell: Ein Trendmodell gibt den zeitlichen Verlauf der Maschinenperformance bis zu einem Ausfall wieder. Dies kann durch verschiedene Regressionsansätze modelliert und in drei Komponenten unterteilt werden: Trend, Saison und Rauschen.

3. Ereigniszeitanalyse: Die Analyse historischer Daten zu Ausfällen liefert ein weiteres Modell, das gegen aktuelle Messdaten gelegt werden kann, um damit die Dauer bis zum nächsten Ausfall bestimmen zu können.

4. Kritische Schwellwerte: Eine Überprüfung, ob bestimmte Schwellenwerte überschritten wurden, kann ebenfalls Hinweise auf einen bevorstehenden Ausfall geben. Diese Schwellenwerte können initial von Experten festgelegt und später durch maschinelles Lernen angepasst werden.

Diese Methoden lassen sich zum Beispiel in Python und R implementieren. Die Resultate zeigen konkrete Handlungsempfehlungen und eignen sich somit ausgezeichnet für Dashboards, die auch auf Tablets oder Smartphones gut zur Geltung kommen und fortlaufend aktualisiert werden.

Feedback und weiterführende Literatur

Wenn Sie mehr über Predictive Maintenance und über die Anwendung von digitalen Strategien in Ihrer Organisation erfahren möchten, empfehle ich Ihnen mein Buch Decisively Digital: From Creating a Culture to Designing Strategy (Amazon).

Was sind Ihre Gedanken zu Predictive Maintenance? Welche Daten und Methoden nutzen Sie für Ihre Instandhaltungsstrategie? Ich freue mich auf Kommentare und Anregungen. Teilen Sie uns Ihre Erfahrungen und Vorschläge in den Kommentaren mit:

Update: Predictive Maintenance mit Tableau wird außerdem auf der CeBIT am Stand der Deutschen Telekom im Rahmen von „Echtzeit-Analysen von Maschinendaten und externen Datenquellen“ vorgestellt:

„Predictive Maintenance Beispiele: 4 Methoden zur Kostenoptimierung durch Predictive Maintenance“ weiterlesen

How to implement Sentiment Analysis in Tableau using R

Interactive sentiment analysis with Tableau using R
Interactive sentiment analysis with Tableau using R

In my previous post I highlighted Tableau’s text mining capabilities, resulting in fancy visuals such as word clouds:

Today I’d like to follow up on this and show how to implement sentiment analysis in Tableau using Tableau’s R integration. Some of the many uses of social media analytics is sentiment analysis where we evaluate whether posts on a specific issue are positive, neutral, or negative (polarity), and which emotion in predominant.

What do customers like or dislike about your products? How do people perceive your brand compared to last year?

In order to answer such questions in Tableau, we need to install an R package that is capable of performing the sentiment analysis. In the following example we use an extended version of the sentiment package, which was initiated by Timothy P. Jurka.

The sentiment package requires the tm and Rstem packages, so make sure that they are installed properly. Execute these commands in your R console to install sentiment from GitHub (see alternative way to install at the end of this blog post):


install.packages("devtools")
library(devtools)
install_github("aloth/sentiment/sentiment")

The sentiment package offers two functions, which can be easily called from calculated fields in Tableau:

Screenshot 2016-01-31 15.25.24 crop

The function get_polarity returns „positive“, „neutral“, or „negative“:


SCRIPT_STR('
library(sentiment)
get_polarity(.arg1, algorithm = "bayes")
'
, ATTR([Tweet Text]))

The function get_emotion returns „anger“, „disgust“, „fear“, „joy“, „sadness“, „surprise“, or „NA“:


SCRIPT_STR('
library(sentiment)
get_emotion(.arg1, algorithm = "bayes")
'
, ATTR([Tweet Text]))

The sentiment package follows a lexicon based approach and comes with two files emotions_english.csv.gz (source and structure) and subjectivity_english.csv.gz (source and structure). Both files contain word lists in English and are stored in the R package library under /sentiment/data directory.

If text is incorrectly classified, you could easily fix this issue by extending these two files. If your aim is to analyze text other than English, you need to create word lists for the target language. Kindly share them in the comments!

Feel free to download the Packaged Workbook (twbx) here.

Update 11 Aug 2016: If you are having trouble with install_github, try to install directly form this website:


install.packages("Rcpp")
install.packages("http://alexloth.com/utils/sentiment/current/sentiment.zip",repos=NULL)