Prognosedaten von OLAP-Cubes mit R - Tableau - Clearpeaks Blog

Entfesseln Sie die Leistung von R zu prognostizieren Daten von Ihrem OLAP-Cubes mit Tableau

R ist eine Programmiersprache und Software-Umgebung für statistische Berechnungen, das führende Werkzeug unter Statistikern, Data-Mining und Daten Wissenschaftler für anspruchsvolle statistische Analyse durchgeführt wird, Datenermittlungs und Vorhersageanalyse auf jeden Satz von Daten, wie beispielsweise lineare / nichtlineare Modellierung, Klassifizierung , Clustering, Zeitreihenanalyse und so weiter.

R bietet eine Fülle von Funktionen und als Open-Source-Projekt, seine Fähigkeiten ständig weiterentwickelt und erweitert durch Benutzer erstellte Pakete; das ist, warum es so beliebt ist und gerade wächst.

In diesem Artikel werden wir sehen, wie R kann Tableau angeschlossen wird hoch anpassbare Prognose Ihrer Daten von OLAP-Cubes auszuführen. Ihre Benutzer für einen erweiterte Codierung Hintergrund, ohne die Notwendigkeit zugute kommen, und visualisieren die Ergebnisse in den Tableau-Charts, die sie am meisten mögen, mit Hilfe von nur ein paar netten Tricks.

1. Forecasting mit Tableau

Tableau kommt bereits mit einer Prognose Funktion; es verwendet eine Technik, die als exponentielle Glättung bekannt, die ein regelmäßiges Muster in den Maßnahmen zu finden versucht, die in die Zukunft fortgesetzt werden können.

Um diese Funktion zuzugreifen, ziehen Sie einfach ein Datum und ein gewisses Maß an Ihr Blatt und die rechte Maustaste auf der Leinwand. In diesem Beispiel verwenden wir Supersbeispieldatensatz Tableau.

Prognosedaten von OLAP-Cubes mit R - Tableau - Clearpeaks Blog

Abbildung 1: Tableau Supersbeispieldatensatz.

Wählen Sie Prognose ➜ anzeigen Prognose. und die geschätzte Linie erscheint. Wie Sie im Bild unten sehen können, ist es sehr einfach. Was Tableau tat, war im Grunde eine lineare Regression zu einer geraden Linie; es zeigt auch das Konfidenzintervall. Rechtsklicken Sie erneut auf der Leinwand die Prognose Optionen zuzugreifen, und ein Optionsfenster öffnet sich.

Prognosedaten von OLAP-Cubes mit R - Tableau - Clearpeaks Blog

Im Optionsfenster (unten, 1), können Sie einige Parameter, wie zum Beispiel Prognose Länge, Aggregationsart, und Sie können die Konfidenzintervall (genannt Prognoseintervalle) ändern oder entfernen und das Prognosemodell anpassen: es automatisch sein kann, Automatik ohne Saisonalität oder benutzerdefinierte. Wenn Sie benutzerdefinierte, sehen Sie die Art des Trends auswählen können und Saison: Kein, additiv oder multiplikativ.

Prognosedaten von OLAP-Cubes mit R - Tableau - Clearpeaks Blog

Durch die wieder einen Rechtsklick und Prognose Beschreiben der Auswahl, werden Sie ein Fenster angezeigt, die Sie zusätzliche Prognoseinformationen gibt. Sie können dies in 2 und 3 sehen.

2. Warum R stattdessen verwenden?

Was wir bisher beschrieben ist im Grunde alles, was Tableau anbieten kann, wenn es um Prognose kommt. Es funktioniert ziemlich gut, aber es ist nicht wirklich individuell und vor allem, es nicht mit OLAP-Würfel arbeiten!

OLAP-Cubes hat viele Vorteile, aber leider Tableau erlaubt uns nicht, all die Dinge zu tun, wir mit einer „traditioneller“ Datenquelle tun können, und Prognose ist eine davon (eine Liste von anderen OLAP bezogenen Grenzen finden hier .

Zum Glück für uns, Tableau ist so ein großes Werkzeug, das, obwohl sie nicht Prognose ausführen zu können, auf Würfel, es bietet uns eine noch leistungsfähigere Alternative: eine reibungslose Integration mit R.

3. Integration R in Tableau

Es gibt 4 Funktionen, die ermöglichen, mit R Tableau zu kommunizieren: SCRIPT_REAL, SCRIPT_STR, SCRIPT_INT, SCRIPT_BOOL. Sie unterscheiden sich nur in den Rückgabetyp, wie ihre Namen vorgeschlagen.

R werden diese Werte annehmen, interpretieren sie als Vektoren (R grundsätzlich funktioniert nur mit Vektoren und deren Derivate), und geben einen Vektor von Daten, die Tableau wie jedes andere berechnetes Feld verwenden können.

4. Anschluss R Tableau

Um zu kommunizieren, müssen R und Tableau angeschlossen werden, und das ist wirklich einfach zu tun:

1. Laden R von hier oder R Studio von hier. und installieren Sie es

2. Von der R-Konsole, laden Sie das rserve Paket und führen Sie es:

3. In Tableau, wählen Sie Hilfe ➜ Einstellung und Leistung ➜ Verbindungen verwalten Außendienst

4. Geben Sie einen Servernamen oder eine IP-Eingabe (in der gleichen Maschine, verwenden Sie localhost oder 127.0.0.1) und wählen Sie Port 6311

5. Testen Sie die Verbindung, indem Sie auf den „Test Connection“ klicken, und drücken Sie OK, wenn Sie eine positive Nachricht erhalten

Sie können auch den Beginn der rserve automatisieren, indem sie ein Rscript mit dem in Punkt genannten Code zu schaffen 2 (ohne die Installation zu wiederholen), ist es als .R-Datei speichern und sie von einer .bat Datei aufrufen mit „start Rscript myRserveScript.R“ . Sie finden es sehr nützlich, vor allem in einer Serverumgebung, da Sie seine Ausführung planen können, wenn die Maschine über den Task-Scheduler gestartet wird, oder durch eine Verknüpfung kopieren zu% AppData% \ Microsoft \ Windows \ Startmenü \ Programme \ Autostart ( in Windows).

Nach rserve begonnen hat und Tableau erfolgreich angeschlossen wurde, können Sie die 4 Script_ * Funktionen starten R Macht zu nutzen.

5. Forecasting in R

Zur Durchführung Prognose in R, müssen Sie ein benutzer gemacht Download-Paket namens „Prognose“.

Dazu einfach schreiben install.packages ( „Prognose“) in der R-Konsole und rufen Sie es durch das Schreiben Bibliothek (Prognose) jedes Mal, wenn Sie es brauchen.

Für weitere Informationen über das Paket, überprüfen Sie die Folien des Autors. das Hilfepaket pdf. oder jede Hilfeseite der Funktion durch das Schreiben? func_name in der Konsole (ex. STLF).

6. Verwenden Fall

In unserem Anwendungsfall werden wir eine Reihe von monatlichen Maßnahmen der letzten 3 Jahre in Anspruch nehmen und prognostizieren sie mit verschiedener Frequenz / Zeit-Kombinationen. Wir werden die Funktion aufgerufen STLF verwenden. die, ohne in Details zu verzetteln, gibt uns mehr Freiheit, wenn sie mit Perioden und Frequenzen zu spielen, während immer noch ein solides Ergebnis bereitstellt.

Prognosedaten von OLAP-Cubes mit R - Tableau - Clearpeaks Blog

Wir schleppten unsere Datumsdimension (Jahr Anzahl Month Number) an das Spaltenfeld, und setzten unsere gewünschte Maß in der Zeile Feld. Der Trend ist nicht regelmäßig, aber wir können sehen, wie die Linie ein paar Spitzen hat und neigt im Allgemeinen zu wachsen.

7. Schreiben der R-Skripte

Mal sehen, wie die R-Skripte zu schreiben, die die Prognose durchführen.

Zunächst müssen wir wissen, welche Werte wir vorbei werden: wir unser Maß haben (R, es zu akzeptieren, es aggregiert werden müssen, sondern aus dem Cube kommt es ohnehin schon ist, und wenn nicht, kann die ATTR-Funktion aufgerufen werden auf help) und die beiden ganzzahligen Parameter (erstellen sie in Tableau) für die Anzahl der Perioden prognostiziert und für die Frequenz der Saison werden.

Lassen Sie uns sie in dieser Reihenfolge verwenden, sie ForecastMeasure, ForecastPeriods und Freq aufrufen. Das berechnete Feld sollte zunächst etwas wie folgt aussehen:

Im ersten Argument haben wir bereits die R-Variablen einrichten, die die Werte sammeln, um das Skript zu übergeben (dies ist nicht zwingend, sondern nur den Code sauberer zu halten). Denken Sie daran, dass R mit Vektoren arbeitet: bemerken, wie die erste (Daten), um das gesamte .arg1 nimmt, weil wir eigentlich die ganze Reihe von Maßnahmen wollen, während die Parameter (einfache, ganze Zahlen) müssen vom ersten Wert einer 1-sized genommen Array. Wir filtern dann diesen Vektor eventuelle Nullwerte zu entfernen, und wir speichern die Anzahl der in einer Variablen namens nulls (wir werden es brauchen später).

Wir führen nun die Prognose. Fügen Sie die folgenden Zeilen in das Skript:

Die erste Zeile ruft einfach die Prognose Bibliothek; wir dann eine Zeitreihe Objekt erstellen, durch die Maßnahme und die Frequenz-Parameter übergeben (für kundengerechtere Details, überprüfen Sie die Ressourcen bereits erwähnt). Schließlich produzieren wir unser Prognoseergebnis, durch die STLF-Funktion mit der Zeitreihe Objekt Fütterung und den Perioden Parametern.

Out Prognose ist fertig. Wenn wir die gleichen Daten verwenden, und wir führen Sie das Skript in R, wird die Konsole wie folgt aussehen:

Prognosedaten von OLAP-Cubes mit R - Tableau - Clearpeaks Blog

Die interessanten Spalten sind Forecast, Lo80, Hi80, Lo95, Hi95. Die erste enthält den eigentlichen prognostizierten Wert. Es gibt 12, weil wir verwendeten Parameter = 12 (Freq = 12, auch). Die anderen sind das Konfidenzintervall (die Grenzwerte können geändert werden, wenn die Funktion aufrufen).

Nun wollen wir unser Skript abzuschließen. Es ist eine Sache, wir erinnern müssen: Tableau die gleiche Anzahl von Maßnahmen zu empfangen erwartet, dass es gesendet, so dass wir anhängen unsere prognostizierten Array an das Original, richtig verschoben, zusammen mit rep (NaN, nulls), eine Reihe von Nullen ( wir wissen, wie viele es sind, weil wir sie gespeichert). Fügen Sie diese Zeilen an das Skript:

Das Ergebnis, das wir wollen, ist fcast $ bedeuten. das entspricht die Spalte „Prognose“ in der R-Matrix, die wir gesehen haben. Wir hängen Sie ihn zusammen mit eventuellen Nullwerten auf das Segment der ursprünglichen Daten, die von der Positionsnummer Periode beginnt + 1, um ein Array von der Originalgröße (Anmerkung zu bekommen: Auf diese Weise werden wir die erste Periode Elemente nicht sichtbar machen ).

Das ist es! Ihr neues berechnetes Feld sollte so aussehen wie unten. Ziehen Sie es auf dem Zeilenfeld, und Sie Ihre Prognose erhalten.

Prognosedaten von OLAP-Cubes mit R - Tableau - Clearpeaks Blog

Abbildung 5: Vollständiger R-Skript und Ergebnis

8. Schaltzeit Maßnahmen

Nun starten wir die ersten Fragen zu bekommen. Tableau erhielt einen Vektor von R die gleiche Größe wie die eine, die wir es übergeben, so dass jedes Datum-Messwert wird für die neue, die aus dem berechneten Feld substituiert. Das Problem ist, dass das Datum nicht geändert hat!

Normalerweise ist dies durch die Schaffung eines neuen berechneten Zeitpunkt mit Hilfe der DATEADD Funktion festgelegt werden könnte, aber da wir nicht eine Dimension in Würfel hinzufügen können, müssen wir dieses Problem überwinden, indem sie Dimensionswert als Maß mit einer MDX-Formel erhalten, und dann die Anwendung DATEADD zu.

Erstellen Sie ein neues berechnetes Element, und legen Sie es als:

Erstellen Sie dann ein Feld berechnen wie folgt aus:

Wo [YearNumberMonthNumber] ist (zum Beispiel) der Name Ihres neu berechneten Elements. Dies wird Ihnen ein Maß mit dem Datum entsprechend den prognostizierten Zeitraum verschoben, die Sie ausgewählt.

Prognosedaten von OLAP-Cubes mit R - Tableau - Clearpeaks Blog

Ziehen Sie dieses neue Feld oben auf dem ursprünglichen Datum Spalte und ... Ihr Diagramm wird abstürzen!

Warum? Sie haben gerade ein neues für jeden ursprüngliches Datum Wert verschoben Datum, und im Grunde jetzt Ihre Daten „Split“ in „Spalten“ von 1 Wert, 1 für jeden Monat verschoben und R wird sie 1 von 1, anstatt mir einen Empfang gesamter Vektor zu verarbeiten. Dies erklärt den Fehler, der sagt „-Reihe nicht periodisch ist oder weniger als zwei Perioden“, weil das, was R tatsächlich sieht eine Reihe von indipendent 1-sized Vektoren ist.

Um dies zu beheben, gibt es einen einfachen, aber netten Trick: fügen Sie Ihr ursprüngliches Datenfeld „Detail“, so dass es in dem Blatt zur Verfügung steht, und bearbeiten Sie Ihr berechnete Prognose Feld wie folgt.

Dies wird Tableau Prozess das berechnete Feld auf der richtigen Ebene machen, und hilft, R der empfangenen Daten in der richtigen Art und Weise sehen, damit das gewünschte Ergebnis zu erzeugen.

Das ist es! Sie haben gerade Ihre OLAP-Cube prognostiziert!

Prognosedaten von OLAP-Cubes mit R - Tableau - Clearpeaks Blog

Abbildung 8: OLAP-Würfel prognostizierten

9. Hinzufügen von Vertrauensintervalle

Sie können auch Konfidenzintervall fügen Sie Ihre Visualisierung zu verbessern: nur noch zwei Metriken erstellen, zu kopieren, die Sie für die Prognose erstellt, und fcast $ bedeuten ändern $ niedriger [1] fcast, fcast $ niedriger [2], fcast $ Ober [1] oder fcast $ upper [2]. in Abhängigkeit von der Grenze, die Sie (denken Sie daran, dass die Standardwerte sind 80 und 95, aber diese sind in der R-Funktion editierbar) angezeigt werden sollen.

Im Bild unten Sie die Prognose mit den 95% Grenzen sehen können (fcast $ upper [2] und fcast $ niedriger [2]). und die Trendlinie (berechnet durch Tableau).

Prognosedaten von OLAP-Cubes mit R - Tableau - Clearpeaks Blog

Abbildung 9: Prognose endgültige Visualisierung

10. Schlussfolgerungen

In diesem Handbuch haben wir gezeigt, wie R können Sie große Prognosediagramme für OLAP-Cube-Daten aufbauen helfen, aber das ist nicht der einzige Vorteil: wir einen viel höheren Grad der Individualisierung bekamen, und überwanden die Grenzen von Tableau, wenn es um die Definition kommt Parameter, Methoden oder ganze Algorithmen.

Sobald Tableau zu R verbinden kann, ist ihr Potenzial praktisch unbegrenzt, und es kann Ihre Diagramme in einer Unzahl von Möglichkeiten verbessern: von einem beliebigen Quelle (nicht unbedingt OLAP-Würfel) oder mit einem beliebigen Ziel, senden Sie einfach die Daten an R und lassen Sie es tut die Arbeit, was auch immer es ist! Forecasting, Clustering, Klassifikation, oder irgendetwas anderes mit einem R-Paket für sie geschrieben - man könnte sogar eine selbst schreiben! Dann visualisieren das Ergebnis im Tableau, und passen Sie das Aussehen und das Gefühl von Ihrem Armaturenbrett mit den leistungsstarken Funktionen, die Sie lieben.

Klicken Sie hier, wenn Sie möchten mehr Informationen über das Thema erhalten!

Artikelnavigation

In Verbindung stehende Artikel