2024-08-29 Vorbereitung Modul 1.2 Termin 03.09.24.docx
Document Details
Uploaded by SwiftCantor
Tags
Related
- BMT 443 Exploratory Data Analysis (EDA) Lecture 4 PDF
- Exploratory Data Analysis (EDA) Lecture 4 PDF
- Exploratory Data Analysis (EDA) in Finance PDF
- Exploratory Data Analysis - Lecture Six - Al Turath University
- Exploratory Data Analysis (EDA) Lecture Notes PDF
- Chapter 4: Exploratory Data Analysis PDF
Full Transcript
Inhaltsverzeichnis {#inhaltsverzeichnis.Inhaltsverzeichnisberschrift} ================== [M1.6 Explorative Datenanalyse 2](#m1.6-explorative-datenanalyse) [Einführung in die explorative Datenanalyse 3](#einf%C3%BChrung-in-die-explorative-datenanalyse) [Ziele der explorativen Datenanalyse 3](#ziel...
Inhaltsverzeichnis {#inhaltsverzeichnis.Inhaltsverzeichnisberschrift} ================== [M1.6 Explorative Datenanalyse 2](#m1.6-explorative-datenanalyse) [Einführung in die explorative Datenanalyse 3](#einf%C3%BChrung-in-die-explorative-datenanalyse) [Ziele der explorativen Datenanalyse 3](#ziele-der-explorativen-datenanalyse) [Die explorative Datenanalyse 3](#die-explorative-datenanalyse) [Daten identifizieren und statistisch zusammenfassen 4](#daten-identifizieren-und-statistisch-zusammenfassen) [Statistische Zusammenfassung 5](#statistische-zusammenfassung) [Im Tool 5](#im-tool) [Grafische Analyse 5](#grafische-analyse) [Eindimensionale Charts 6](#eindimensionale-charts) [Histogramm 6](#histogramm) [Säulendiagramm 6](#s%C3%A4ulendiagramm) [Beispiel 6](#beispiel) [Zeitverläufe und Verteilungen 6](#zeitverl%C3%A4ufe-und-verteilungen) [Mehrdimensionale Charts 7](#mehrdimensionale-charts) [Im Tool 8](#im-tool-1) [Knoten zur Datenvisualisierung: 8](#knoten-zur-datenvisualisierung) [Color Manager, Shape Manager und Size Manager stellen Sie folgendermaßen ein: 8](#color-manager-shape-manager-und-size-manager-stellen-sie-folgenderma%C3%9Fen-ein) [Ausreißer erkennen und bearbeiten 8](#ausrei%C3%9Fer-erkennen-und-bearbeiten) [Der Umgang mit Ausreißern 9](#der-umgang-mit-ausrei%C3%9Fern) [Systematische Fehler 10](#systematische-fehler) [Im Tool 10](#im-tool-2) [Fehlende Werte identifizieren und einschätzen 11](#fehlende-werte-identifizieren-und-einsch%C3%A4tzen) [Kategorien fehlender Werte 12](#kategorien-fehlender-werte) [Was verraten uns fehlende Werte? 12](#was-verraten-uns-fehlende-werte) [Beispiel 12](#beispiel-1) [Der Umgang mit fehlenden Werten 12](#der-umgang-mit-fehlenden-werten) [Im Tool 13](#im-tool-3) [Korrelationsanalyse: Zusammenhänge verstehen 13](#korrelationsanalyse-zusammenh%C3%A4nge-verstehen) [Eine positive Korrelation 13](#_Toc175828131) [Eine negative Korrelation 14](#_Toc175828132) [Welche Werte können korreliert werden? 14](#welche-werte-k%C3%B6nnen-korreliert-werden) [Aussage von Korrelationsdaten 14](#aussage-von-korrelationsdaten) [R = 0,0 14](#r-00) [R = +0,3 14](#r-03) [R = +0,5 14](#r-05) [R = +0,7 14](#r-07) [R = +1,0 14](#r-10) [Korrelation und Kausalität 14](#korrelation-und-kausalit%C3%A4t) [Korrelation 14](#korrelation) [Kausalität 14](#kausalit%C3%A4t) [Korrelationskoeffizient im Tool 15](#korrelationskoeffizient-im-tool) [M1.7 Datentypen und Werte bearbeiten 15](#m1.7-datentypen-und-werte-bearbeiten) [Tabellen zusammenführen und erweitern 15](#tabellen-zusammenf%C3%BChren-und-erweitern) [Verbinden von Datensätzen 16](#verbinden-von-datens%C3%A4tzen) [Tabellen vertikal erweitern 16](#tabellen-vertikal-erweitern) [Die Optionen „Union" und „Intersection" 16](#die-optionen-union-und-intersection) [Union 16](#union) [Intersection 16](#intersection) [Tabellen horizontal erweitern 16](#tabellen-horizontal-erweitern) [Daten bearbeiten und transformieren 17](#daten-bearbeiten-und-transformieren) [Der Datentyp 17](#der-datentyp) [Besondere Datentypen: Datum und Zeit 18](#besondere-datentypen-datum-und-zeit) [Typenkonvertierung 18](#typenkonvertierung) [Wertetransformation 19](#wertetransformation) [1. Zeichentransformation 19](#zeichentransformation) [2. Zahlentransformation 19](#zahlentransformation) [3. Regelbasierte Wertetransformation 19](#regelbasierte-wertetransformation) [Tabellentransformation 20](#tabellentransformation) [Sortieren 20](#sortieren) [Filtern 20](#filtern) [Aufteilen 20](#aufteilen) [Aggregation: Gruppieren 21](#aggregation-gruppieren) [Aggregation: Pivot-Tabellen 21](#aggregation-pivot-tabellen) M1.6 Explorative Datenanalyse ============================= Was kann man nach Untergang der Titanic anhand der Passagierdaten herausfinden? Auch aus unternehmensrelevanten Daten können Firmen Zusammenhänge für weiterführende Analysen ableiten. Dafür müssen die Daten richtig verstanden und **Wirkzusammenhänge** erkannt werden. Sie lernen, wie man mithilfe der **explorativen** **Datenanalyse** verborgene Strukturen und Auffälligkeiten entdeckt. Das gelingt besonders gut mit einer **grafischen** **Analyse**, für die Sie **verschiedene Darstellungsformen** kennenlernen. Wie man mit **Ausreißern** oder **fehlenden Werten** umgeht, ist ebenso Thema wie das **Erkennen von Zusammenhängen und Abhängigkeiten**. In der praktischen Umsetzung üben Sie all das: eine statistische Übersicht zu erstellen, fehlende Werte zu identifizieren und zu bereinigen, Korrelationen zu veranschaulichen und Daten grafisch darzustellen. Einführung in die explorative Datenanalyse ------------------------------------------ Der Untergang der Titanic ist den meisten Menschen bekannt. Doch was wissen wir über die Passagiere? Oder besser gesagt: Was können wir nachträglich mittels der Passagierdaten herausfinden? Eine **explorative Datenanalyse (EDA)** ermöglicht es, weiterführende Betrachtungen vorzunehmen, z. B.: Wie verteilt sich das Alter nach Geschlecht? Wie viele Kinder sind pro Ticketklasse mitgefahren? Welchen Einfluss nahmen Alter und Geschlecht auf die Überlebenschance? Wie geht man dabei am besten vor? Ziele der explorativen Datenanalyse ----------------------------------- Ob Onlinehandel, Verkehrsunternehmen oder Versicherungen: Aus **unternehmensrelevanten** **Daten** können Firmen **Zusammenhänge** für weiterführende Analysen ableiten. Dafür müssen die Daten richtig verstanden und Wirkzusammenhänge erkannt werden. Für Data Analysts ist die explorative Datenanalyse eine Möglichkeit, **verborgene** **Strukturen** oder **Auffälligkeiten** aufzudecken und die in den Daten enthaltenen **Informationen zu verdichten**. Auf diese Weise können die **wesentlichen Inhalte verdeutlicht** und dargestellt werden und davon ausgehend **Hypothesen** abgeleitet werden. **Durch die explorative Datenanalyse wird also eine große Menge an unbekannten Daten anschaulich und verständlich.** Die explorative Datenanalyse ---------------------------- Die explorative Datenanalyse unterteilt sich in folgende Schritte, die in weiteren Lerneinheiten im Detail erläutert werden Ein Bild, das Text, Screenshot, Schrift, Diagramm enthält. Automatisch generierte Beschreibung 1. Variablen und Datentypen identifizieren 2. Statistische Zusammenfassung 3. Grafische Analyse 4. Ausreißer entdecken 5. Fehlende Werte identifizieren 6. Korrelationen berechnen 7. Hypothesen aufstellen Daten identifizieren und statistisch zusammenfassen --------------------------------------------------- Um **Daten analysieren und miteinander vergleichbar** machen zu können, müssen die **Datentypen zunächst identifiziert und klassifiziert** werden. Der Datentyp entscheidet darüber, wie mit den Daten weiter verfahren wird. ---------------------------------------------------------------------------------------------------------------------------------------------- Variablen ----------------------------- -------------------------------- --------------------------------------------- --------------------------------- numerisch \[\#\] kategorisch \[abc\] diskret \[Anzahl\] kontinuierlich \[4,68 €\] ordinal \[Januar\] nominal \[männlich\] Ganze Zahlen (Integer - i)\ Gleitkommazahlen (Double - d)\ Geordneter Text (String - s / Integer - i)\ Ungeordneter Text (String - s)\ \ \ \ \ Beispiel:\ Beispiel:\ Beispiel:\ Beispiel:\ \ \ \ \ Anzahl Geschwister Ticketpreis Ticketklasse Herkunftsland ---------------------------------------------------------------------------------------------------------------------------------------------- Statistische Zusammenfassung ---------------------------- Wurden alle Daten klassifiziert, kann mittels der folgenden Werte ein erster statistischer Überblick gewonnen werden. Bei der Titanic sieht das so aus (hier am Beispiel „Alter" einer Familie auf der Titanic): ![Ein Bild, das Kleidung, Kleid, Mantel, Schuhwerk enthält. Automatisch generierte Beschreibung](media/image2.png) - Anzahl unterschiedlicher Werte (7) - Minimum (7 Jahre) - Maximum (61 Jahre) - Mittelwert (Durchschnittsalter: 28,7 Jahre) - Median (29 Jahre) - Modus (7 Jahre) - Quantile (Beispiel: 4 von 7 Personen sind älter als 21 Jahre = 57,14 %) - Varianz (521,6) - Standardabweichung (+/- 21,1 Jahre) - Anzahl fehlender Werte (alle Altersangaben dieser Familie sind bekannt) Im Tool ------- In KNIME wählen Sie dazu folgenden Knoten bzw. Menüeintrag: Interactive View: **Data Explorer View** Grafische Analyse ----------------- Können unbekannte Strukturen anhand von Tabellen und Fließtext nur schwer herausgearbeitet werden, so zeigt die grafische Darstellung auf einen Blick, wo sich Ansammlungen, Zusammenhänge oder Ausreißer befinden. Im Folgenden werden verschiedene Formen der Darstellung erläutert. Durch unkomplizierte Diagramme können Daten einfach und verständlich dargestellt werden. Eindimensionale Charts ---------------------- **Eindimensionale** Charts verschaffen einen **schnellen** **Überblick** über zum Beispiel Minimum und Maximum nominaler Daten, über die Verteilung der Datenwerte und über Ansammlungen. Beispiele für diese Darstellungsform sind das **Histogramm** **für kontinuierliche Werte** oder das **Säulendiagramm** **für diskrete Werte**. Der Unterschied der beiden besteht darin, dass für das Histogramm die Daten zunächst in Klassen (zum Beispiel Altersklassen) eingeteilt werden müssen. ### Histogramm Beim Histogramm werden auf der x-Achse kontinuierliche Werte aufgetragen, z. B. eine Altersspanne von 0 bis 80 Jahren. ### Säulendiagramm Das Säulendiagramm gibt die Verteilung für diskrete Werte auf der x-Achse an, z. B. 10 Jahre, 20 Jahre, \... 80 Jahre. ### Beispiel Das Histogramm der Titanic zeigt zum einen die Altersspanne (0-80 Jahre) und zum anderen die Verteilung auf die verschiedenen Altersklassen aller auf der Titanic vorhandenen Personen. Es zeigt sich auf einen Blick, dass die meisten Passagiere der Altersklasse 21-30 Jahre entstammen. Ein Bild, das Text, Screenshot, Diagramm, Reihe enthält. Automatisch generierte Beschreibung Zeitverläufe und Verteilungen ----------------------------- Datensätze können auch auf **Zeitverläufen** basieren. Dafür werden die Datenpunkte mit Linien verbunden. So zeigen sich Veränderungen von einem oder mehreren Datenwerten im Verlauf der Zeit, Rhythmen und Trends. Geht es um die **Verteilung der Daten**, eignet sich der Einsatz von **Kastengrafiken** (engl. Boxplots). Sie zeigen das gesamte Spektrum der Daten, Ausreißer, Minimum, Median und Maximum. Die Titanic-Daten zu Alter und Ticketklasse werden in einer Kastengrafik so dargestellt: ![Ein Bild, das Text, Diagramm, Screenshot, Reihe enthält. Automatisch generierte Beschreibung](media/image4.png) Mehrdimensionale Charts ----------------------- In **mehrdimensionalen** Charts lassen sich **Abhängigkeiten** zwischen **mehreren** **Variablen** darstellen sowie **Zusammenhänge** und **Cluster** erkennen. Der Einsatz von Farben, Symbolen und Mustern unterstützt die intuitive Wahrnehmung der Daten. Im folgenden **Streudiagramm** (engl. Scatterplot) wird die Abhängigkeit von Ticketpreis und Passagieralter auf der Titanic gezeigt: Ein Bild, das Text, Screenshot, Diagramm, Reihe enthält. Automatisch generierte Beschreibung Im Tool ------- Zur Datenvisualisierung wählen Sie in KNIME folgende Knoten: ### Knoten zur Datenvisualisierung: Bar Chart (JavaScript), Sunburst Chart, Boxplot, OSM Map View, Data Explorer, Scatter Matrix, Color Manager, Line Plot (JavaScript), Size Manager, Scatterplot (JavaScript) ![Ein Bild, das Text, Screenshot, Diagramm, Schrift enthält. Automatisch generierte Beschreibung](media/image6.png) ### Color Manager, Shape Manager und Size Manager stellen Sie folgendermaßen ein: Farbe, Größe, Form Ein Bild, das Text, Screenshot, Diagramm, Cartoon enthält. Automatisch generierte Beschreibung Ausreißer erkennen und bearbeiten --------------------------------- Mit der richtigen grafischen Darstellung lassen sich Ausreißer leicht erkennen. Es kann sich dabei schlichtweg um abweichende Messwerte handeln. Ausreißer können jedoch auch durch falsche oder fehlende Daten entstehen. Wie Ausreißer Diagramme, Algorithmen und Trendlinien verändern können, zeigt das folgende Beispiel: Ausreißer können z.B. Trendlinien stark beeinflussen. Eliminiert man die Ausreißer aus dem Datensatz, bzw. aus der grafischen Darstellung, kann der Trend besser dargestellt werden. ![Ein Bild, das Text, Screenshot, Diagramm, Reihe enthält. Automatisch generierte Beschreibung](media/image8.png) Ein Bild, das Text, Reihe, Diagramm, Schrift enthält. Automatisch generierte Beschreibung Der Umgang mit Ausreißern ------------------------- Zunächst muss **geprüft** werden, ob es sich um **echte Datenwerte oder um Fehler** handelt. Zur Verbesserung der Datenqualität für weitere Messungen beziehungsweise Datenerhebungen sollte die **Fehlerquelle geprüft** und **der Fehler behoben** werden. Hat der Offizier auf der Titanic beim Notieren des Alters eines Passagiers 224 statt 24 geschrieben, ist das eindeutig ein Fehler. **Handelt es sich um echte Werte, wird im nächsten Schritt geprüft, ob es sich um zufällige oder systematische Ausreißer handelt.** ### Systematische Fehler Hat der Offizier auf der Titanic im Bordbuch eine falsche Spalte befüllt, ohne es zu bemerken, ist das ein systematischer Fehler. Sind es nur vereinzelte Ausreißer, so können diese ohne große Auswirkung auf die Gesamtdaten bereinigt werden. **Systematische Ausreißer sollten genauer überprüft und gegebenenfalls durch eine zusätzliche Analyse erklärt werden**. Im Tool ------- Zur Darstellung von Ausreißern eignen sich Scatterplots (Streudiagramme) oder Boxplots (Kastengrafiken). Die Konfiguration in KNIME sieht folgendermaßen aus: ![Ein Bild, das Text, Screenshot, Diagramm, Schrift enthält. Automatisch generierte Beschreibung](media/image10.png) Stellt Wertepaare in zwei Dimensionen dar: Ein Bild, das Text, Screenshot, Diagramm, Design enthält. Automatisch generierte Beschreibung Fehlende Werte identifizieren und einschätzen --------------------------------------------- Neben Ausreißern können Datensätze auch Bereiche mit fehlenden Datenwerten aufweisen. Im Datensatz der Titanic fehlen zum Beispiel Name, Herkunft oder Ticketklasse. Ähnlich wie bei Ausreißern müssen Data-Analyst:innen zunächst versuchen zu verstehen, wodurch das Fehlen der Datenwerte bedingt ist. Ein Grund kann zum Beispiel das unvollständige oder fehlerhafte Befüllen von Fragebögen sein. ![Ein Bild, das Text, Screenshot, Kleidung, Cartoon enthält. Automatisch generierte Beschreibung](media/image12.png) Kategorien fehlender Werte -------------------------- Fehlende Werte werden zum Beispiel durch eine 0, eine leere Zelle, ein ‚?' oder NA (auch: NULL, NaN) wiedergegeben. Sie lassen sich in drei Kategorien unterteilen: Völlig zufällig, bedingt zufällig und nicht zufällig --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- **Völlig zufällig**\ Das Auftreten fehlender Werte ist rein zufällig und vollkommen unabhängig von den Eigenschaften der Werte, der Objekte (bei der Titanic zum Beispiel die Passagiere) und der Quellen (zum Beispiel das Bordbuch oder Besatzungsmitglieder) der Daten. \ Missing completely at random (MCAR) ------------------------------------- ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- **Bedingt zufällig**\ Das Auftreten fehlender Werte ist zufällig in Bezug auf die Eigenschaften der Werte, jedoch nicht zufällig in Bezug auf die Objekte oder Quellen von Daten.\ \ \ Missing at random (MAR) **Beispiel**: Unterschiede in der Häufigkeit von fehlenden Daten bei Befragungen von Männern und Frauen **Nicht zufällig**\ Das Auftreten von fehlenden Werten hängt von den Eigenschaften der Werte sowie der Objekte und Quellen der Daten ab.\ \ \ Missing not at random (MNAR) **Beispiel**: Männer beantworten weniger persönliche Fragen zu Depressionen als Frauen. --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- Was verraten uns fehlende Werte? -------------------------------- Bei der Bewertung fehlender Werte muss berücksichtigt werden, wie der gesamte Datensatz zustande gekommen ist und welche Einflüsse auf die Datenerhebung eingewirkt haben. Statt einzelne Werte leichtfertig zu löschen, sollten diese gründlich analysiert und interpretiert werden. ### Beispiel Fehlende Werte sind nicht immer gleichzusetzen mit einem Fehler, sondern können wichtige Informationen vermitteln, zum Beispiel wenn sie in Abhängigkeit von Drittfaktoren entstehen: - Bei Einkommensangaben werden Geringverdiener die Spalte gegebenenfalls nicht befüllen. - Testteilnehmer erscheinen nur, wenn sie bestehen können. - Teilnehmer medizinischer Studien verlassen diese aufgrund negativer Ereignisse. Der Umgang mit fehlenden Werten ------------------------------- Mit einer Korrelationsanalyse lässt sich bestimmen, ob Werte rein zufällig oder in Abhängigkeit von anderen Faktoren entstanden sind. Dann gibt es zwei Möglichkeiten zum Umgang mit fehlenden Daten: löschen oder ersetzen. Ein Bild, das Text, Screenshot, Schrift, Logo enthält. Automatisch generierte Beschreibung Im Tool ------- Zur Identifikation und zum automatischen Ersetzen fehlender Werte wählen Sie in KNIME folgenden Knoten: Missing Value Korrelationsanalyse: Zusammenhänge verstehen -------------------------------------------- Die Korrelation ist ein Maß aus der Statistik, das ausdrückt**, inwieweit zwei Merkmale in einer linearen Beziehung zueinanderstehen**. **Korrelationen beschreiben also Daten, die sich zusammen verändern.** Linear korreliert heißt, dass zwei Merkmale sich in einem festen Verhältnis zueinander verändern. Beispiel Wenn sich die Anzahl der Gäste in einem Restaurant verdoppelt, verdoppelt sich auch die Anzahl der benötigten Essensportionen. Die Stärke der linearen Beziehung wird durch den **Korrelationskoeffizienten** (r ) angegeben. Er reicht von -1 bis +1. **Je näher r bei Null liegt, desto schwächer ist der lineare Zusammenhang**. r ˃ 0 []{#_Toc175828131.anchor}Eine positive Korrelation bedeutet: Je größer a, desto größer b. Beispiel: Wenn sich die Anzahl der Gäste verdoppelt, verdoppelt sich die Anzahl der benötigten Stühle. r ˂ 0 []{#_Toc175828132.anchor}Eine negative Korrelation bedeutet: Je größer a, desto kleiner b. Beispiel: Wenn das Schiff die Reisegeschwindigkeit verdoppelt, halbiert sich die Zahl der Reisetage. Welche Werte können korreliert werden? -------------------------------------- Generell funktioniert eine Korrelation bei zwei numerischen Werten (zum Beispiel Preis und Ticketklasse). Um auch nominale Werte einzubeziehen, werden vorhandene Kategorien (zum Beispiel das Geschlecht) durch Zahlen ersetzt (männlich = 1, weiblich = 2). Aussage von Korrelationsdaten ----------------------------- Inwiefern zwei Variablen miteinander in Zusammenhang stehen, lässt sich besonders gut in einem Streudiagramm abbilden. ### R = 0,0 = 0,0 bis 0,1: Kein Zusammenhang, willkürliche Streuung ### R = +0,3 = 0,1 bis 0,3: Geringer Zusammenhang ### R = +0,5 = 0,3 bis 0,5: Mittlerer Zusammenhang ### R = +0,7 = 0,5 bis 0,7: Hoher Zusammenhang ### R = +1,0 = 0,7 bis 1,0: Sehr hoher Zusammenhang Korrelation und Kausalität -------------------------- ### Korrelation **Die Korrelation beschreibt einfache Beziehungen zwischen zwei Merkmalen, ohne die Art der Beziehung näher zu erklären.** ### Kausalität **Von einer Kausalität spricht man, wenn zwischen zwei Merkmalen ein Zusammenhang aus Ursache und Wirkung besteht.** Beispiel Auf der Titanic bestand eine Korrelation zwischen „Preis" und „Überlebensrate". Der Ticketpreis allein hatte jedoch keinen direkten Einfluss auf die Überlebensrate. Vielmehr haben die Position der Kabine, der Standort von Rettungsbooten sowie gesellschaftliche Konventionen (Frauen und Kinder zuerst) über die Überlebenschancen einer Person entschieden. Korrelationskoeffizient im Tool ------------------------------- Zur Berechnung des Korrelationskoeffizienten zweier Variablen gehen Sie in KNIME wie folgt vor: Knoten Linear Correlation (Berechnet die Korrelationskoeffizienten zwischen numerischen Variablen) In einer Korrelationsmatrix werden die Abhängigkeiten der Variablen farbig dargestellt. Je stärker die Farbe ist, desto größer ist der Korrelationskoeffizient. ![Ein Bild, das Text, Screenshot, Zahl, Reihe enthält. Automatisch generierte Beschreibung](media/image14.png) M1.7 Datentypen und Werte bearbeiten ==================================== Wenn Daten aus verschiedenen Quellen stammen, müssen die Datensätze zusammengeführt und neu geordnet werden. Hier lernen Sie den Umgang mit verschiedenen Tabellentypen und wie Sie diese durch Zusammenführen, Sortieren oder Filtern können. Teil der vorbereitenden Datenbearbeitung ist es, den Datentyp zu kennen oder festzulegen. Sie erfahren, welche besondere Struktur der Datentyp "Datum und Zeit" hat und wie Transformationen von Zahlen und Zeichen durchgeführt werden. Tabellen zusammenführen und erweitern ------------------------------------- Manchmal sollen Korrelationen zwischen zwei Variablen untersucht werden, die in unterschiedlichen Tabellen hinterlegt sind. In diesem Fall müssen die Tabellen zunächst zusammengeführt und die Daten anschließend geordnet werden. Wie geht man dabei vor? Für die Titanic hat man zum Beispiel einen Datensatz mit dem Geschlecht der Passagiere und einen weiteren, in dem die Ticketklasse vermerkt ist. Verbinden von Datensätzen ------------------------- Tabellen können sowohl vertikal als auch horizontal erweitert werden. Dabei ist in der Regel eine Tabelle führend (Haupttabelle), in die die verknüpften Tabellen (Nebentabellen) integriert werden. Tabellen sind so angelegt, dass jede Zeile einen zusammenhängenden Datensatz darstellt. Die Verbindung zwischen den Attributwerten (Eigenschaften in den Spalten) wird über ein Verbindungselement (zum Beispiel Reihen-ID, Kundennummer oder Datum) hergestellt. Diese Verbindungselemente werden auch als Schlüssel oder englisch key bezeichnet. Insbesondere beim Zusammenführen mehrerer Tabellen werden diese IDs genutzt, um die Attribute aus Haupt- und Nebentabellen zusammenzuführen. Tabellen vertikal erweitern --------------------------- Sind eine oder mehrere Tabellen in ihrer Attributstruktur (Spalten) nahezu übereinstimmend, können sie zusammengeführt werden. Die Haupttabelle wird dann mit den anderen Tabellen vertikal erweitert (Zeilen anhängen). Die ID hat hierbei keine zusammenführende Funktion, sondern wird wie jedes andere Attribut behandelt. Die Optionen „Union" und „Intersection" --------------------------------------- ### Union Wenn beim Zusammenführen mehrerer Tabellen alle Attribute in die Haupttabelle übernommen werden sollen, spricht man vom Modus „Union". Beim Modus **Union **(Übernahme aller Attribute) können je nach Tabellenstruktur viele fehlende Werte entstehen. Außerdem kann es zu Duplikaten kommen, wenn in verschiedenen Tabellen die gleiche ID verwendet wird. Je nach Analytics-Tool kann entschieden werden, ob die Duplikate gesondert gekennzeichnet, ignoriert oder überschrieben werden sollen beziehungsweise, ob der Vorgang mit einer Fehlermeldung abgebrochen werden soll. ### Intersection Wenn nur die Attribute zusammengeführt werden, die in allen Tabellen gemeinsam enthalten sind, spricht man vom Modus „Intersection". Tabellen horizontal erweitern ----------------------------- Die horizontale Erweiterung von Tabellen wird mit **Join **bezeichnet. Hier ist eine ID notwendig, die die Beziehung und damit die **Verknüpfung der einzelnen Attribute und Reihen regelt**. Auch bei der horizontalen Erweiterung ist eine Tabelle führend (Haupttabelle), in welche die verknüpften Tabellen (Nebentabellen) integriert werden. Es gibt vier Typen von Join, die je nach ihrer Anwendung unterschiedliche Ergebnisse erbringen: **Inner Join**, **Left Outer Join**, **Right Outer Join **und **Full Outer Join**. Hinweis Die Weiterführung der ID hängt von der verwendeten Anwendung ab. Häufig werden die IDs der Nebentabelle einfach übernommen. In dem Beispiel zum Full Outer Join wurden die IDs der führenden Tabelle nicht verändert, sondern die Tabelle wurde um eine weitere Spalte mit IDs ergänzt. Dies ist hilfreich, wenn später nachvollzogen werden soll, aus welcher Tabelle die Daten stammen. Right Outer Join wird sehr selten genutzt, da in der Regel eine Haupttabelle definiert wird, nach der man sich richtet (Left Outer Join) oder zwei Tabellen ohne Datenverlust zusammengeführt werden (Full Outer Join). Daten bearbeiten und transformieren ----------------------------------- Um Speicherplatz einzusparen, wurden früher in vielen Programmen Jahreszahlen nur zweistellig gespeichert. Das heißt, dass die ersten beiden Ziffern, die das Jahrhundert nennen, nicht berücksichtigt wurden. Kurz vor der Jahrtausendwende kamen dann Einige ins Grübeln: Wie würden Programme nun das Jahr 00 und die folgenden Jahre einordnen? Man hätte auf Nummer sicher gehen können, wenn man den richtigen Datentyp gewählt hätte. Er hat einen wichtigen Einfluss auf die Verarbeitung der Daten. Letztlich hatte die Jahrtausendwende keine große Auswirkung und Probleme traten nur spärlich auf. Ein Autofahrer aus den USA erhielt zum Beispiel eine Kfz-Steuerforderung von über 760.000 Dollar für die letzten 100 Jahre. Der Datentyp ------------ Der Datentyp gibt an, **welche Art **die Daten haben, in **welcher Struktur **sie vorliegen und **wie groß **sie maximal sein können. Der Datentyp sollte groß genug gewählt werden, damit keine Informationen „abgeschnitten" werden; gleichzeitig jedoch nur so groß wie nötig, um nicht mehr Rechenleistung als erforderlich aufbringen zu müssen. Dafür werden Datentypen konvertiert und Datenwerte transformiert. Es gibt verschiedene Datentypen. Ihre Größe wird in **Bit **(Anzahl von Binärstellen) angegeben. Der Datentyp wird für jedes **Attribut **(Spalte) festgelegt. **Beispiele von Datentypen** ------------------------------------------------------------------------------------------------------------------------------------------------------------------- Typ Beschreibung Beispiel -------------------------- --------------------------------------------------------- ------------------------------------------------------------------------------ **Zeichen** Zeichenfolge (String) Byte (8 Bit)\ Eine Folge von Zeichen (zum Beispiel Buchstaben, Ziffern oder Sonderzeichen) \ Short (16 Bit)\ \ Long (64 Bit) **Numerische Daten** Ganze Zahlen\ Byte (8 Bit)\ -128 bis 127\ \ \ \ (Integer) Short (16 Bit) -32768 bis 32767 Gleitkommazahlen Float (32 Bit)\ z\. B. 3,434 \ Double (64 Bit) **Boolesche Daten** Boolean Variable (2 Bit) Ein Ausdruck mit nur zwei möglichen Werten (1 = Wahr, 0 = Falsch) **Datum-/Uhrzeit-Daten** Datum Eine mehrstellige Zeichenfolge im „yyyy-mm-dd\"-Format. 28\. April 2021 = 2021-04-28 Uhrzeit hh:mm:ss 03:14:56 ------------------------------------------------------------------------------------------------------------------------------------------------------------------- Besondere Datentypen: Datum und Zeit ------------------------------------ Die Datentypen **Datum und Zeit **stellen in vielen Anwendungen eine besondere Herausforderung dar. Es gibt verschiedene Darstellungsformate für Datum und Zeit (zum Beispiel nationale, regionale, softwaresystembasierte Unterschiede) und kalendarische Unregelmäßigkeiten (zum Beispiel bezogen auf Monatsdauer und Schaltjahre). Berechnungen mit Datum und Zeit sind in der Anzeigeform daher häufig nicht möglich und es empfiehlt sich, **Elemente des Datums in Zeichen oder Zahlen umzuwandeln**, um mit diesen dann gesondert Berechnungen durchzuführen. **Anzeige von Datum und Zeit in KNIME** - Datum und Zeit als Zeichenfolge: yyyy-MM-dd, dd.MM.yyyy, hh:mm:ss - Zeitdauer zum Beispiel in ISO-8601-Form: P1Y2M3D4H (1 year 2 months 3 days 4 hours) Mithilfe des folgenden Knotens werden Werte aus Datum und Zeitangaben extrahiert (zum Beispiel Jahr, Quartal und Kalenderwoche): Extract Date & Time Fields Typenkonvertierung ------------------ Bei Importen aus Textdateien (zum Beispiel CSV-Dateien) enthalten die Daten keine Kennzeichnung, um welchen Datentyp es sich handelt. Einige Anwendungen verfügen über eine Typerkennung und schlagen beim Datenimport den wahrscheinlichsten Datentyp vor. Diese Automatisierung sollte jedoch kritisch genutzt und genau geprüft werden. Bei der Konvertierung des Datentyps wird **die Variable beziehungsweise das Attribut (Spalte) dem neuen Datentyp zugewiesen**. Dieser Vorgang wird konsequent umgesetzt, egal, ob die Daten mit dem neuen Datentyp kompatibel sind oder nicht. Zahlen lassen sich meist ohne Probleme in Zeichen umwandeln. Umgekehrt geht dies jedoch nur, wenn ausschließlich Zahlenzeichen verwendet wurden (Buchstaben führen zu Fehlern). **Typenkonvertierung in KNIME\ **Der Knoten Number to String wandelt Zahlen (Integer, Double) in Zeichen um. Umgekehrt gibt es auch einen Knoten „String To Number". Zum Beispiel wird eine 2 (String) zu S (Integer). Wertetransformation ------------------- Eine weitere wichtige Aufgabe in der Bearbeitung von Daten ist die Wertetransformation, das heißt die Veränderung der einzelnen Attribute innerhalb eines Datensatzes. Dies wird in der Regel nach einer Formel durchgeführt, die das Verfahren festlegt, wie der Wert verändert werden soll. Der Datentyp beeinflusst, wie die Wertetransformation durchgeführt werden kann: Zeichentransformation Zahlentransformation Regelbasierte Wertetransformation Die drei Möglichkeiten werden im Folgenden genauer beschrieben. ### 1. Zeichentransformation Knoten String Manipulation. Hier werden Zeichensätze zum Beispiel gelöscht, überschrieben, geteilt oder ergänzt. Die Formel beschreibt, welcher Teil des Zeichensatzes verändert werden soll und in welcher Weise. Beispiel Ein Index besteht aus drei Buchstaben und einem Datum: ABC01042021. Ziel ist es, das Datum zu extrahieren und für weitere Berechnungen umzuwandeln. ### 2. Zahlentransformation Knoten Math Formula. In der Zahlentransformation werden gebräuchliche mathematische Formeln wie Addition, Subtraktion oder Multiplikation verwendet, um den Zahlenwert zu verändern. Dies kann mit Fixwerten oder aber mit Variablen anderer Attribute durchgeführt werden. Beispiel Für eine verkaufte Ware über 20.000 € soll die Provision berechnet werden (Provisionssatz: 15 %). ### 3. Regelbasierte Wertetransformation Knoten Rule Engine. Diese Transformation bearbeitet analog zu den zwei vorherigen Transformationen Zeichen und Zahlen. Der Unterschied besteht darin, dass die Transformation nur ausgeführt wird, wenn eine vorher festgelegte Bedingung erfüllt wird. Beispiel In den Titanic-Daten soll für die Berechnung der Korrelation das Attribut „Geschlecht" in die Zahlen 1 für weiblich und 0 für männlich umgewandelt werden. Tabellentransformation ---------------------- Was ist, wenn in einer Analyse nur mit einem Teil der Daten gearbeitet werden soll? Wenn zum Beispiel Kund:innen aus einem bestimmten Postleitzahlenbereich betrachtet werden sollen oder eine Passagiergruppe der Titanic, zum Beispiel alle Frauen über 21 Jahre? Dazu müsste ein Datensatz zunächst nach Geschlecht gefiltert und anschließend nach Alter sortiert werden. Dies wirkt sich sowohl auf die Gestaltung der Datensätze (Zeilen) als auch auf die der Attribute (Spalten) aus.\ \ Zu den Gestaltungsmöglichkeiten von Tabellen** **gehören: **Sortieren, Filtern, Aufteilen** und **Aggregation**.\ \ Diese vier Verfahren sowie die Umsetzung in KNIME werden im Folgenden genauer beschrieben. ### Sortieren Knoten: Sorter, Column Resorter, Transpose. Eine der einfachsten Formen der Tabellentransformation ist das Sortieren. Zeilen werden nach den Werten bestimmter Attribute sortiert (zum Beispiel nach aufsteigender Passagier-ID oder absteigenden Ticketkosten), während Spalten nach einer definierten Reihenfolge angeordnet werden, um die Daten übersichtlich zu gestalten. Eine besondere Form der Neusortierung ist das Transponieren, das heißt die Umwandlung von Zeilen in Spalten und umgekehrt. Diese Funktion ist insbesondere dann notwendig, wenn Daten aus frei gestaltbaren Tabellenkalkulationsprogrammen importiert werden, die nicht der Logik zeilenweise aufgebauter Datensätze folgen. ### Filtern Knoten Row Filter & Column Filter. Durch Filtern wird eine Auswahl der relevanten Daten und die Begrenzung des Datenumfangs erreicht. Auch hier können sowohl die Spalten als auch die Zeilen bearbeitet werden. - **Zeilenfilter (Row Filter)**: Es wird entsprechend eines Attributwerts gefiltert. (Innerhalb einer Spalte werden Zeilen herausgefiltert.) Beispiel: Attributeigenschaft „Alle Personen, die älter als 18 sind". Die Zeilen der Tabelle, die diese Werte nicht enthalten, werden entfernt oder gekennzeichnet. - **Spaltenfilter (Column Filter)**: Die relevanten Spalten werden manuell ausgewählt und die übrigen Spalten entfernt. Aufteilen --------- Knoten Column Splitter, Row Splitter & Partitioning Tabellen können sowohl zusammengeführt als auch wieder getrennt werden. Diese Funktion führen sogenannte „Splitter" durch. - **Knoten Column Splitter**: Die Spalten werden anhand einer zuvor getroffenen Auswahl auf zwei Tabellen verteilt. - **Knoten Row Splitter**: Die Zeilen werden anhand eines Attributwerts auf zwei Tabellen verteilt. **Hinweis** Eine besondere Form des „Zeilensplittens" ist das **Partitionieren**. Hierbei werden die Zeilen nach einem Schlüssel (zum Beispiel 70 % zu 30 %) auf zwei Tabellen verteilt. Die Verteilung kann zufällig oder nach definierten Mustern erfolgen. Die Partitionierung ist ein wichtiger Bestandteil des maschinellen Lernens, zum Beispiel bei der Aufteilung der Daten in Trainings- und Testdaten (70 % des Datensatzes werden genutzt, um ein Modell zu trainieren, und 30 %, um seine Funktion zu testen). ### Aggregation: Gruppieren Knoten Groupby Bei der Datenaggregation werden Informationen gesammelt und in einer zusammenfassenden Form ausgedrückt, um beispielsweise Kennzahlen zu generieren oder mehr Informationen über eine spezielle Zielgruppe zu erhalten. Die einfachste Form der Aggregation ist das Gruppieren. Hier werden Mittelwerte, Summen, Anzahl etc. für ein bestimmtes Attribut einer Tabelle berechnet. Gruppen (wie Dimensionen zu betrachten): Spalte, aus der für jeden einzigartigen Wert eine Zeile entsteht Werte: über Aggregationsformeln berechnete Daten (Summe, Mittelwert,...) ### Aggregation: Pivot-Tabellen Knoten Pivoting Die nächste Stufe der Aggregation ist das Erstellen einer Pivot-Tabelle (Kreuztabelle). Ihr Einsatz ist sinnvoll, um Beziehungen in einer großen Datenmenge mit vielen Attributen aufzudecken. Dabei werden die Daten nach zwei Attributen aggregiert (Gruppe und Pivot), wobei das eine Attribut die Spalten und das andere Attribut die Zeilen bildet. Der Wert, über den die Aggregation gebildet wird, wird zu Kennwerten wie Mittelwert, Summe oder Anzahl berechnet. Es können auch mehrere Attribute in Gruppe und Pivot verwendet werden. Dabei sollte darauf geachtet werden, dass diese in einem sinnvollen Verhältnis zueinanderstehen, beispielsweise in einer Hierarchie.