{"id":33407,"date":"2022-02-08T16:44:02","date_gmt":"2022-02-08T15:44:02","guid":{"rendered":"http:\/\/54.194.80.134.nip.io\/blog\/advanced-analytics-with-r\/"},"modified":"2022-06-18T10:29:04","modified_gmt":"2022-06-18T08:29:04","slug":"advanced-analytics-with-r","status":"publish","type":"post","link":"https:\/\/www.cubeserv.com\/de\/advanced-analytics-with-r\/","title":{"rendered":"Advanced Analytics mit R: Eine \u00dcbersicht"},"content":{"rendered":"\t\t
Die Programmiersprache R wurde bereits anfangs der 90er Jahre entwickelt. An Bedeutung gewonnen hat sie aber erst in den letzten zehn Jahren. Dies liegt zum einen am grossen Funktionsumfang und zum anderen an der Tatsache, dass Anwender nicht zwangsl\u00e4ufig umfangreiche Programmierkenntnisse haben m\u00fcssen, um Advanced Analytics mit R erstellen\u00a0zu k\u00f6nnen.\u00a0<\/span><\/p> In meinem letzten Blogbeitrag „Erste Schritte mit R“ haben wir uns umfassend mit den Grundlagen befasst. Sollten Sie den Artikel noch nicht gelesen haben, dann w\u00e4re jetzt ein guter Zeitpunkt – z<\/span>um Beitrag gelangen Sie<\/span>\u00a0<\/span>hier<\/a><\/span>.<\/span><\/p> Denn heute werden wir tiefer in die Thematik eintauchen und uns mit Advanced Analytics mit R befassen, im Speziellen mit der graphischen Darstellung, der Regessionsanalyse und der Zeitreihenanalyse mit R.\u00a0\u00a0<\/span><\/p> Lassen Sie uns beginnen.<\/span><\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t Beginnen wir mit den Grundlagen und sehen wir uns die verschiedenen Diagrammarten an, die wir in R erstellen k\u00f6nnen. Obwohl das Erstellen von Diagrammen eine relativ einfache Aufgabe ist und man meinen k\u00f6nnte, dass es nicht zu den fortgeschrittenen Analysen geh\u00f6rt, ist es wichtig, die verschiedenen Diagrammarten zu kennen und zu wissen, wann und f\u00fcr welches Szenario sie verwendet werden sollten. Die Ergebnisse, die Sie so aus ein paar Codezeilen erzielen k\u00f6nnen, sind oft aussagekr\u00e4ftiger als so manch ausgekl\u00fcgeltes Advanced Analytics.<\/p>\n Unabh\u00e4ngig davon, welche Art von Diagrammen Sie in R erstellen m\u00f6chten, ggplot2 sollte immer Ihre erste Wahl sein. Wenn es darum geht etwas darzustellen, dann ist es mit Abstand das von R-Programmierern am h\u00e4ufigsten verwendete Paket.<\/p>\n Schauen wir uns die verschiedenen Diagramme, die das ggplot2-Paket bietet, genauer an und finden heraus, f\u00fcr welche Anwendungen sie geeignet sind. Zu Demonstrationszwecken werden wir den ber\u00fchmten Iris-Datensatz (Iris dataset)<\/a> verwenden.<\/p>\n Also, R-Studio laden und loslegen!<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t Balkendiagramme sind die g\u00e4ngigste Art von Diagrammen, die im Analytics verwendet werden. Sie eignen sich dazu um Werte verschiedener Kategorien mit Hilfe von vertikalen Balken zu vergleichen. Die unterschiedlich hohen Balken machen den Vergleich sehr einfach. Hier ist ein Beispiel, das die Sepal-L\u00e4nge verschiedener Arten zeigt.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t Histogramme sind den Balkendiagrammen sehr \u00e4hnlich. Sie werden verwendet, um fortlaufende Daten grafisch darzustellen und sie in bestimmte Bereiche zu gruppieren. Jeder Balken in einem Histogramm hat mehrere Bins mit unterschiedlichen Farben, welche die H\u00e4ufigkeit jeder einzelnen Kategorie veranschaulichen. Unten sehen Sie ein Beispiel, wie Histogramme mit ggplot2 erstellt werden k\u00f6nnen.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t Der Box-Plot stellt die gesamte Datenverteilung auf sehr kompakte Weise dar. Mit einer einzigen Box k\u00f6nnen Sie sowohl das obere und untere Quartil als auch etwaige Ausrei\u00dfer sowie den Bereich der Datenverteilung anzeigen.<\/p>\n M\u00f6chten Sie wissen, wie man den Boxplot liest? Klicken Sie hier<\/a>.<\/p>\n\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t Nicht zuletzt sind auch Streudiagramme sehr verbreitet und eignen sich zur Darstellung von Daten. Sie werden h\u00e4ufig von Datenwissenschaftlern verwendet, um eine vorhandene Korrelation zwischen einer Reihe von Variablen zu erkennen. Es werden dabei alle Punkte einer Variablen in ein Diagramm gestreut. Gibt es eine Korrelation zwischen ihnen, so wird diese ersichtlich.<\/p>\n\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t Bei der Regressionsanalyse handelt es sich um ein statistisches Analyseverfahren, bei der die Beziehung zwischen den Variablen eines Datensatzes ermittelt wird. H\u00e4ufig wird die Beziehung zwischen den unabh\u00e4ngigen und abh\u00e4ngigen Variablen ermittelt – ist aber kein Muss. Dies ist eine weitere wichtige Funktion zur Durchf\u00fchrung von Advanced Analytics mit R.<\/p> Die Idee der Regressionsanalyse ist es, herauszufinden, wie sich die Variable \u00e4ndern wird, wenn wir eine andere Variable \u00e4ndern. Genau auf diese Weise werden Regressionsmodelle erstellt. Es gibt verschiedene Arten von Regressionsverfahren, die wir je nach Form der Regressionslinie und Art der beteiligten Variablen verwenden k\u00f6nnen:<\/p> Schauen wir uns die verschiedenen Regressionsarten und ihre Verwendung genauer an.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t Die lineare Regression ist die einfachste Art der Regression und kann verwendet werden, wenn zwei Variablen eine lineare Beziehung aufweisen. Ausgehend von den Werten der beiden Variablen wird eine gerade Linie mit der folgenden Gleichung formuliert:<\/p> Y = ax + b<\/em><\/p> Die lineare Regression wird zur Vorhersage fortlaufender Werte verwendet, wobei Sie lediglich den Wert der unabh\u00e4ngigen Variablen angeben. Als Ergebnis erhalten Sie den Wert der abh\u00e4ngigen Variable (in diesem Fall y).<\/p> Die logistische Regression wird angewandt, um die Vorhersage von Werten innerhalb eines bestimmten Bereichs zu ermitteln. Sie kann verwendet werden, wenn die Zielvariable kategorisch ist, z. B. zur Vorhersage eines Gewinners oder Verlierers anhand bestimmter Daten. Die folgende Gleichung wird bei der logistischen Regression verwendet.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t Wie der Name schon sagt, ist die multinomiale logistische Regression eine erweiterte Version der logistischen Regression. Der Unterschied zur einfachen logistischen Regression besteht darin, dass sie mehr als zwei kategoriale Variablen unterst\u00fctzen kann. Ansonsten verwendet sie denselben Mechanismus wie die logistische Regression.<\/p>\n Auch hier handelt es sich um einen erweiterten Mechanismus der einfachen logistischen Regression, der zur Vorhersage von Werten auf verschiedenen Kategorie Levels verwendet wird, z. B. zur Vorhersage von Rangfolgen. Ein Anwendungsbeispiel f\u00fcr die ordinale logistische Regression w\u00e4re die klassische Restaurantbewertung.<\/p>\n\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t Zur Demonstration werde ich ein logistisches Regressionsmodell in R erstellen.<\/p>\n Anwendungsfall: Wir wollen den Erfolg von Sch\u00fclern in einer Pr\u00fcfung anhand ihrer IQ-Werte vorhersagen.<\/p>\n Lassen Sie uns daf\u00fcr einige zuf\u00e4llige IQ-Zahlen generieren, um unseren Datensatz zu erstellen.<\/p>\n\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t Mithilfe von rnorm() haben wir eine Liste mit 40 IQ-Werten erstellt, die einen Mittelwert von 30 und einen STD von 2 haben.<\/p>\n Nun werden wir f\u00fcr 40 Sch\u00fcler nach dem Zufallsprinzip Werte f\u00fcr bestanden\/nicht bestanden als 0\/1 erstellen und sie in einen Datenrahmen einf\u00fcgen. Au\u00dferdem werden wir jeden von uns erstellten Wert mit einem IQ-Wert verkn\u00fcpfen, damit unser Datenrahmen vollst\u00e4ndig ist.<\/p>\n\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t Lassen Sie uns nun ein Regressionsmodell auf der Grundlage unseres Datensatzes anlegen und eine Kurve erstellen, um zu sehen, wie das Regressionsmodell auf diesem Datensatz abschneidet. Wir k\u00f6nnen die Funktion glm() verwenden, um ein Regressionsmodell zu erstellen und zu trainieren, und die Funktion curve(), um die Kurve auf der Grundlage der Vorhersage zu zeichnen.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t Wenn Sie die Statistiken des logistischen Regressionsmodells weiter \u00fcberpr\u00fcfen m\u00f6chten, k\u00f6nnen Sie dies mit der Funktion summary() von R (summary(g)) ausf\u00fchren.<\/p>\n\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t Die Zeitreihenanalyse geh\u00f6rt zu den wichtigsten St\u00e4rken von R. Python ist zwar auch f\u00fcr die Zeitreihenanalyse bekannt, aber viele Experten sind der Meinung, dass R insgesamt eine bessere Anwendungsumgebung bietet. Das Zeitreihenanalyse-Paket ist sehr umfassend und das Beste, was man sich f\u00fcr Advanced Analytics mit R w\u00fcnschen kann.<\/p>\n In diesem Artikel werden wir die folgenden Methoden der Zeitreihenanalyse behandeln:<\/p>\n Wir werden den in R vorhandenen Datensatz „Air Passengers“ verwenden, um Modelle f\u00fcr einen Validierungssatz und Prognosen f\u00fcr die Dauer des Validierungssatzes zu erstellen und schlie\u00dflich den Mittleren Absoluten Prozentualen Fehler (Mean Absolute Percentage Error<\/a>) ermitteln, um das Segment abzuschlie\u00dfen.<\/p>\n Initialisieren wir also die Daten zusammen mit dem Trainings- und Validierungsfenster, um zu beginnen.<\/p>\n\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t Wie der Name schon sagt, ist die naive Methode die einfachste aller Prognosemethoden. Sie basiert auf dem einfachen Prinzip „was wir heute beobachten, wird morgen die Prognose sein“. Die saisonale naive Methode ist eine etwas komplexere Variante, bei der der Beobachtungszeitraum dem Zeithorizont entspricht, mit dem wir arbeiten, z. B. Woche\/Monat\/Jahr.<\/p>\n Lassen Sie uns mit einer saisonalen naiven Prognose fortfahren.<\/p>\n\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t
Graphische Darstellung in R<\/h2>\n
ggplot2 \u2013 Your best Friend!<\/h3>\n
\n\t\t\t\t
\n\t\t\t\t\t
1.\u00a0\u00a0\u00a0\u00a0\u00a0 Balkendiagramme<\/h3>
\n\t\t\t\t
\n\t\t\t\t\t
\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t
2.\u00a0\u00a0\u00a0\u00a0\u00a0 Histogramme<\/h3>
\n\t\t\t\t
\n\t\t\t\t\t
\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t
3.\u00a0\u00a0\u00a0\u00a0\u00a0 Box-Plot<\/h3>\n
\n\t\t\t\t
\n\t\t\t\t\t
\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t
4.\u00a0\u00a0\u00a0\u00a0\u00a0 Streudiagramme<\/h3>\n
\n\t\t\t\t
\n\t\t\t\t\t
\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t
Regressionsanalyse in R<\/h2>
\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t
1.\u00a0\u00a0\u00a0\u00a0\u00a0 Lineare Regression<\/h3>
2.\u00a0\u00a0\u00a0\u00a0\u00a0 Logistische Regression<\/h3>
\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t
3.\u00a0\u00a0\u00a0\u00a0\u00a0 Multinomiale Logistische Regression<\/h3>\n
4.\u00a0\u00a0\u00a0\u00a0\u00a0 Ordinale Logistische Regression<\/h3>\n
Verwendung von Regression in R<\/h2>\n
\n\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t
\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t
\t\t\t\t\t\t\t\t\t\t\t
Zeitreihenanalyse in R<\/h2>\n
\n
\n\t\t\t\t
\n\t\t\t\t\t
1.\u00a0\u00a0\u00a0 <\/strong>Naive Methode<\/strong><\/h3>\n
\n\t\t\t\t
\n\t\t\t\t\t