Datenfusion (engl. data fusion) bezeichnet die Zusammenführung und Vervollständigung lückenhafter Datensätze. Sie ist ein wichtiger Bestandteil der Informationsintegration. Es werden mit Hilfe eines Spenderdatensatzes Daten in einem Empfängerdatensatz ergänzt. Der Spenderdatensatz besteht aus Variablen und der Empfängerdatensatz aus Variablen . Die Variablen liegen also in beiden Datensätzen vor, während die Variablen bzw. nur in einem der Datensätze vorliegen. Auf Basis des Spenderdatensatzes wird ein Modell zur Berechnung der Werte aus den Variablen erstellt. Dieses Modell wird auf den Empfängerdatensatz angewandt, so dass ein neuer, fusionierter Datensatz entsteht: . Die verwendeten statistischen Verfahren werden dabei unter dem Begriff Statistical matching zusammengefasst und sind z. T. verwandt mit den Verfahren der Imputation von fehlenden Werten.
Beispiele
Datenfusion in der Geostatistik
In der Geostatistik stellt sich oft das Problem, dass Daten an verschiedenen Orten vorliegen und diese dann fusioniert werden müssen:
Spenderdatensatz | Empfängerdatensatz | Fusionierter Datensatz | ||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Ort | X | Y | S1 | S2 | Ort | X | Y | E1 | E2 | Ort | X | Y | E1 | E2 | S1 | S2 |
α1 | 10 | 10 | a | c | β1 | 15 | 15 | e | g | β1 | 15 | 15 | e | g | a | c |
α2 | 10 | 30 | a | d | β2 | 15 | 35 | e | h | β2 | 15 | 35 | e | h | a | d |
α3 | 30 | 10 | b | c | β3 | 35 | 15 | f | g | β3 | 35 | 15 | f | g | b | c |
α4 | 30 | 30 | b | d |
Das Ergebnis könnte auch ein vollständig fusionierter Datensatz sein:
Ort | X | Y | E1 | E2 | S1 | S2 |
α1 | 10 | 10 | ? | ? | a | c |
α2 | 10 | 30 | ? | ? | a | d |
β1 | 15 | 15 | e | g | ? | ? |
β2 | 15 | 35 | e | h | ? | ? |
α3 | 30 | 10 | ? | ? | b | c |
α4 | 30 | 30 | ? | ? | b | d |
β3 | 35 | 15 | f | g | ? | ? |
Die fehlenden Werten, gekennzeichnet mit ?, müssten in einem oder mehreren Datenfusionsschritten bestimmt werden.
Datenfusion in der Informatik
Während bei der Duplikaterkennung die Datensätze weitgehend vollständig sind und nur kleine Abweichungen aufweisen, müssen bei der Datenfusion mehrere zum Teil unvollständige Datensätze kombiniert werden.
Bevor die Fusion von Daten zweier Quellen möglich ist, müssen sie ggf. auf ein gemeinsames Schema gebracht werden (Schemaintegration). Nicht vorhandene Attribute werden mit NULL (für „kein Wert“) aufgefüllt. In der Regel ist auch ein gemeinsames identifizierendes Attribut als Identifikator notwendig – dies kann beispielsweise zuvor durch Duplikaterkennung ermittelt worden sein.
Subsumtion mit dem MINIMUM-UNION-Operator
Ein einfaches Verfahren der Datenfusion ist, einen Datensatz mit einem anderen zusammenzuführen, wenn ihm mehr Attribute fehlen und er in allen vorhandenen Attributen mit dem anderen Datensatz übereinstimmt (MINIMUM UNION). Der Datensatz mit mehr fehlenden Attributen wird vom vollständigeren Datensatz subsumiert. So subsumiert im folgenden Beispiel beim Minimum Union der erste Datensatz den zweiten:
- Heinrich Müller aus Berlin, Alter unbekannt
- Heinrich Müller aus Berlin, 55 Jahre
Zusammenführen mit dem MERGE-Operator
Mit dem MERGE-Operator lassen sich auch über Kreuz liegende unvollständige Datensätze zusammenführen. So ergeben beispielsweise die ersten beiden der folgenden Datensätze bei einem MERGE den dritten:
- Heinrich Müller aus Berlin, Alter unbekannt
- Heinrich Müller aus ???, 55 Jahre
- Heinrich Müller aus Berlin, 55 Jahre
Der MERGE-Operator lässt sich in SQL mit Hilfe der COALESCE-Funktion, die den ersten vorhandenen Wert einer gegebenen Liste liefert, ausdrücken.
Konfliktlösung
Wenn bei zusammengehörenden Datensätzen nicht nur einzelne Attributwerte fehlen, sondern voneinander abweichen, spricht man auch von Datenkonflikten. Datenkonflikte können beispielsweise auf Tippfehlern, unterschiedlichen Schreibweisen und Kodierungen, Fehlern bei Berechnungen und automatischer Texterkennung und auf veraltete Daten beruhen. Zur Bereinigung von Datenkonflikten mittels Aggregation müssen Präferenzen oder andere Konfliktlösungsfunktionen angegeben werden (beispielsweise der Durchschnitt verschiedener Zahlenangaben). Die Datensätze werden zunächst nach Duplikaten gruppiert (siehe Duplikaterkennung) und dann innerhalb der Duplikate aggregiert.
Beispiele für Datenkonflikte zwischen Duplikaten:
- Heinrich Müller aus Bärlin, 55 Jahre
- Heinrich Müller aus Berlin, 54 Jahre
- Heinrich Mueller aus Bärlin, 55 Jahre