Data Science: Tipps zur Datenqualität, -bereinigung und -speicherung

Artificial Intelligence

,

Data Intelligence

Data Science: Tipps zur Datenqualität, -bereinigung und -speicherung

Kürzlich erörterten wir, wie man ein Problem in datenwissenschaftlichen Projekten (das sich drastisch von der traditionellen Erfassung von BI-Anforderungen unterscheidet) sowie den Prozess und die Tools im Zusammenhang mit der Rohdatenerfassung formuliert. Jetzt, da wir wissen, wie wir die richtigen Fragen stellen können, um das Geschäftsproblem zu umreißen, und da wir die Rohdaten sammeln konnten, auf die wir uns verlassen können, ist es an der Zeit, mit einer entscheidenden Aktivität zu beginnen: Datenverarbeitung.

Um Daten auf hoher Ebene zu untersuchen, muss der Dateningenieur die Phasen der Manipulation oder Verarbeitung der Daten unterscheiden, um die Architektur und die Komponenten vorzuschlagen, die den Bedürfnissen jeder Phase am besten entsprechen.

Über welche Phasen sprechen wir? Um die Geschichte kurz und einfach zu halten, sagen wir

  • Datenqualität und -bereinigung
  • Datenspeicherung
Die Datenverarbeitung, auf die wir uns in diesem Beitrag konzentrieren, ist eine Vorbereitung auf die folgenden Schritte im datenwissenschaftlichen Prozess (siehe den ersten Beitrag der Reihe), nämlich Datenexploration und Tiefenanalyse.

Data Science Process - Data Quality and Cleansing

Datenqualität und -bereinigung

Daten haben eine ganze Reihe von Eigenschaften, die sie definieren: Typ, Format, Zugriff, Verfügbarkeit, Volumen, Art... All diese Eigenschaften beeinflussen die Definition der Komponenten der Architektur und die Prozesse zur Erfassung und Manipulation von Daten.

Ausgehend von den Rohdaten, die wir so belassen wollen, wie sie sind, um ein "digitales Bild" der Daten zu speichern, mit denen wir entstanden sind, beginnen die Dateningenieure mit einer Analyse auf hoher Ebene, wobei sie typischerweise nach formalen Fehlern wie falschen Datentypen suchen (z.B. Ich habe ein Datum erwartet, aber eine Zahl gefunden, oder inkonsistente Codes und Klassifikationen, fehlende Werte usw.) und Techniken anwenden, um Daten zu bereinigen und die Qualität zu verbessern (z.B. Interpolation zur Schätzung fehlender Werte).

Hier könnten Theorie und Praxis aufeinander prallen: Gibt es eine scharfe Grenze zwischen den Aufgaben eines Dateningenieurs und eines Datenwissenschaftlers? Was ich meine, ist, dass Datenbereinigungsaktivitäten aus einer rein "formalen" Perspektive (Beispiele oben) oder mit Blick auf das Geschäftsproblem, das wir lösen wollen, durchgeführt werden können. Zum Beispiel ist das Glätten von Spitzen und Tälern in einer Datenreihe im Allgemeinen eine gute Praxis bei Prognoseprozessen, aber ich könnte es mit einem Geschäftsfall zu tun haben, bei dem Spitzen interessante Ereignisse sind, die ich untersuchen möchte, anstatt sie abzuschneiden.

Wenn man davon ausgeht, dass Sie im Team mit beiden Kompetenzen arbeiten (sonst haben Sie eine unsachgemäße Personalbesetzung), ist dies kein kritisches Problem und kann mit altmodischer Teamarbeit gelöst werden. Wir schlagen vor, dass Wissenschaftler einen Blick und Unterstützung bei Datenqualitätsaufgaben geben, die von Ingenieuren durchgeführt werden, denn am Ende des Tages sind vier Augen besser als zwei.   

In Bezug auf Tools und Fähigkeiten gibt es viele Datenintegrationsplattformen mit starken Qualitätsmerkmalen (Oracle, Informatica, IBM, Talend - um nur die am häufigsten auf dem Markt verwendeten zu nennen), die die Zeit verkürzen, die für die Durchführung bestimmter Aufgaben erforderlich ist, insbesondere derjenigen, die auf die Datenstandardisierung abzielen (z.B. Normalisierung von Namen, Adressen, Telefonnummern). Abgesehen davon sehen wir recht häufig, dass Sprachen und Frameworks wie Python, R und Scala verwendet werden, wenn die Anforderungen an die Datenbereinigung "exotischer" und zustandsabhängiger sind. Natürlich bieten Cloud-Plattformen Dienste zur Unterstützung von Datenverwaltungsaktivitäten an, so dass wir jede Art von Architektur implementieren können, ob vor Ort, in der Full-Cloud oder als Hybrid.

Datenspeicherung

Eine weitere wichtige Entscheidung, die der Dateningenieur zu treffen hat, betrifft das Repository - wo die extrahierten Daten gespeichert werden sollen, da er zwischen einer Vielzahl von Optionen wählen muss: Dateien, relationale Datenbanken, NoSQL-Datenbanken (Spalten, Dokumentationen, Diagramme), Schlüsselwerte und XML - um nur die gängigsten zu nennen.

Ein typisches Dilemma entsteht, wenn wir zwischen relationalen oder NoSQL-Datenbanken wählen müssen.

NoSQL (nicht-relationale) Datenbanken haben den Vorteil, dass sie skalierbarer sind und zur Unterstützung verteilter Strukturen konzipiert wurden, sie sind im Allgemeinen schneller, anpassungsfähiger und flexibler als relationale Datenbanken. Da sie dokumentstrukturiert sind und Informationen in einer ordnerähnlichen Hierarchie speichern, sind nicht-relationale Datenbanken die beste Option, wenn es darum geht, unstrukturierte Daten wie Dokumente, Bilder, Tweets und jede Art von Daten zu speichern, die sich nur schwer in eine "Spalte-nach-Zeile"-Struktur einfügen lassen.

Auf der anderen Seite sind NoSQL-Datenbanken nicht 100% kompatibel mit Standard-SQL und - noch wichtiger - können keine absolute Datenintegrität garantieren (das ist das Data-Warehouse-Nirwana). Wenn Ihre analytischen Anforderungen durch strukturierte Daten erfüllt werden und Sie nicht erwarten, dass Ihr Unternehmen exponentiell wächst, könnten Sie darüber hinaus leicht Unterstützung in einer relationalen DB finden.

Nicht alle Lösungen für maschinelles Lernen benötigen Big Data (wow, ich hab's gesagt) - es hängt tatsächlich von der Art des Geschäftsproblems und folglich von der Art der Daten ab, an denen Sie arbeiten müssen. Die gute Nachricht ist, dass Sie eine Datenarchitektur haben können, in der die beiden Arten von Datenbanken nebeneinander existieren und die beste Unterstützung für verschiedene Arten von Arbeitslasten und Speichertypen nutzen können.  

Die derzeitige technologische Innovation ermöglicht uns die Nutzung von verteilter (replizierter) Speicherung, die im Wesentlichen darin besteht, Kopien der Daten auf verschiedene Server zu verteilen, wodurch wir die Flexibilität, Leistung und Skalierbarkeit verbessern und Probleme im Falle von Systemabstürzen lösen können. All dies erfordert nicht viel Wissen der Dateningenieure, da es etwas ist, das hauptsächlich transparent von der Datenbank selbst erledigt wird, insbesondere wenn wir Cloud Services wie Amazon Aurora, Google Spanner oder Microsoft Cosmos DB verwenden.

Data Science Process - Data Architecture

Wählen Sie die für Ihre Lösung am besten geeignete Architektur

Sobald wir die Daten haben, kann der Datenwissenschaftler mit seinen Analyseprozessen beginnen, um die vorgeschlagenen Ziele zu erreichen. Um diese Prozesse zu implementieren, können wir die gleichen Programmiersprachen und Frameworks verwenden, die für die Datenquelle verwendet werden, oder sogar umfassende Werkzeuge wie Knime, RapidMiner, DataRobot, SAS Visual Data Mining und Machine Learning einsetzen, aber bleiben wir bei unserem ursprünglichen Zweck, sprechen wir über Daten und Verarbeitungsarchitektur.

Die Art und Weise, wie analytische Prozesse angeordnet und ausgeführt werden, führt Konzepte wie verteilte Systeme und Parallelsysteme ein. Deren Unterschied im Allgemeinen besteht darin, dass ein Parallelsystem als ein System definiert werden kann, das einen Prozess in Aufgaben unterteilt, die gleichzeitig ausgeführt werden, während das verteilte System einen Prozess in Aufgaben unterteilt, die an verschiedenen Orten mit unterschiedlichen Ressourcen ausgeführt werden. Es ist interessant zu wissen, auf welche Weise die Prozesse ausgeführt werden, um ihre Möglichkeiten durch die Skalierung der Ressourcen zu erweitern.

Die Ergebnisse unserer Analyse und die Ausführung unserer Algorithmen können in die gleichen Systeme, aus denen wir die Eingabedaten bezogen haben, integriert und zurückgespeichert werden, in unserem neuen Repository (möglicherweise ein Datensee) oder sogar in einem dedizierten neuen analytischen Repository gespeichert werden, das ein agileres und schnelleres Nutzungsmodell ermöglicht.

Es wird empfohlen, dass die Dateningenieure ein Datenwörterbuch mit allen Definitionen der Quellen, Ladeprozesse, Transformationen, KPIs, ... und im Allgemeinen allen Informationen, die wir sammeln müssen, erstellen und pflegen, da es dann sehr nützlich sein kann, wenn diese Informationen für eine spätere Analyse herangezogen oder genutzt werden.

Nun, sobald die Datenwissenschaftler den besten Algorithmus zur Erfüllung der Geschäftsanforderungen identifiziert und qualitativ hochwertige Ergebnisse erzielt haben, ist es an der Zeit, sich Fragen zur Sichtbarkeit, Zugänglichkeit und Zuverlässigkeit der von uns erstellten Informationen zu stellen. Wie wir bereits erwähnt haben, geht es manchmal um die Frage, "wo die Daten gespeichert werden sollen", aber mehr und mehr geht es um die Frage, "wie die Benutzer auf die Daten zugreifen werden", und wir könnten mit einer Vielzahl von Szenarien konfrontiert werden.

Es könnte sein, dass das neue Wissen, das durch die Anwendung von Techniken der Datenwissenschaft gewonnen wird, zur Unterstützung des Analyseprozesses verwendet wird, der von spezialisierten internen Teams durchgeführt wird, aber es könnte auch sein, dass die Informationen von Anwendungen Dritter, sogar von Transaktionsanwendungen, konsumiert werden müssen (denken Sie über einen Algorithmus nach, um das nächstbeste Angebot in einem Verkaufsprozess vorzuschlagen). In diesen Fällen müssen wir Mechanismen und Protokolle implementieren, um auf Informationen mit Kommunikationsschnittstellen wie APIs zuzugreifen oder Publikationsmechanismen unter Verwendung von Technologien (Apache Beam, um einen zu nennen) zu entwickeln.

Sogar in einem datenwissenschaftlichen Prozessschritt wie der Datenverarbeitung, der auf den ersten Blick weniger komplex aussehen könnte als andere, ist die Menge der technischen Scheidewege, der zu treffenden Entscheidungen, der zu wählenden Optionen und der beteiligten Technologien so groß, dass es sehr selten ist, alle erforderlichen Fähigkeiten in einer einzigen Person zu finden, so dass wir eine weitere Bestätigung erhalten, dass es sich bei der Datenwissenschaft definitiv um einen Mannschaftssport handelt!

 

Möchten Sie mehr erfahren?

Sind Sie bereit, eine datengesteuerte Strategie für Ihre Geschäftsabläufe zu entwickeln? Informieren Sie sich über unsere Dienstleistungen und Lösungen für Datenintelligenz.

MEHR ERFAHREN

Abonnieren!