Blog
Imputation - das Auffüllen von Trainingsdaten
Von Johanna Kutschenreuter und Luca Sauter am 11. Juli 2024
Die Grundlage für alle KI- Modelle besteht aus Daten. Egal ob Vorhersagemodelle, Bild- und Textverarbeitung oder Sprachmodelle, alle Modelle benötigen Daten zum Trainieren. Doch was tut man, wenn diese Daten unvollständig sind? Das Auffüllen von Datensätzen, auch Imputation genannt, möchten wir in diesem Blogartikel anhand von unserem Forschungsprojekt KIKS erklären.
KIKS steht für Künstliche Intelligenz und Kunststoffe und hat das Ziel, PINNs (physics-informed neural networks) zu entwickeln, welche die Eigenschaften von Kunststoffmischungen vorhersagen können. Dadurch sollen Recyclingprozesse vereinfacht werden, indem bereits vor dem eigentlichen Recyceln wichtige Aussagen über die resultierenden Kunststoffe und deren Eigenschaften getroffen werden können.
Um diese Modelle zu entwickeln und zu trainieren, wird eine solide Datengrundlage in der Form von physikalischen Eigenschaften der Kunststoffe benötigt. Diese wurden vom Projektteam aus verschiedenen öffentlich zugänglichen Quellen im Internet gecrawlt (mithilfe eines Programms werden Internetseiten automatisiert abgerufen und verarbeitet). Dabei fiel aber schnell ein Problem auf: die Daten sind nicht vollständig. Vielen Kunststoffen fehlen Messwerte für gewisse Eigenschaften. Doch woher stammen diese Lücken?
Das Datenproblem
Die Ursachen für das Fehlen von Messwerten können in drei verschiedene Kategorien eingeteilt werden.
- Die erste Kategorie lautet „Missing Completely at Random“ (MCAR) und beschreibt Werte, welche willkürlich fehlen und deren Fehlen keinerlei Regelmäßigkeit unterliegt. Ein Beispiel hierfür sind Datenpunkte, die beim Crawlen übersehen werden oder verloren gehen.
- Eine weitere Kategorie ist „Missing at Random“ (MAR). Hierbei ist das Fehlen der Werte unabhängig von ihrem tatsächlichen Wert, aber abhängig von anderen Werten. In unserem Fall wären das zum Beispiel Werte, welche nur unter gewissen Bedingungen gemessen werden. Der Schmelzpunkt für Kunststoffe könnte zum Beispiel nur gemessen werden, wenn diese Information relevant für die Verwendung des Kunststoffs ist. Der Messwert könnte also fehlen, weil die Hitzebeständigkeit für diesen Kunststoff nicht relevant ist.
- Die letzte Kategorie wird „Not Missing at Random“ (NMAR) genannt. Ob die Werte in dieser Kategorie fehlen, ist abhängig von ihrem Wert. Bei unserer Anwendung tritt das zum Beispiel auf, wenn ein gewisser Kunststoff eine Eigenschaft gar nicht besitzt. Wenn die Kraft, die zum Brechen einer Probe des Kunststoffs nötig ist, gemessen wird, aber der Kunststoff sehr elastisch ist und deswegen nicht bricht, wird dieser nicht vorhandene Wert auch nicht im Datenblatt aufgeführt.
Nicht immer lässt sich feststellen, in welche Kategorie gewisse Lücken fallen und fast immer ist es eine Mischung aus mehreren dieser Kategorien, welche die leeren Stellen innerhalb eines Datensatzes beschreiben.
Imputation
Was kann man dagegen tun? Neben statistischen Methoden für die Imputation von fehlenden Werten gibt es verschiedene Machine Learning Ansätze um Datensätze aufzufüllen. Um die für unsere Daten passende Methode zu finden, haben wir mehrere Algorithmen ausprobiert und miteinander verglichen. Dazu gehörten ein Autoencoder, Random Forest, k Nearest Neighbor und weitere.
Am besten abgeschnitten hat in unseren Experimenten die Imputation mit einem iterativen Random Forest Modell. Ein Random Forest besteht aus einer Vielzahl von Entscheidungsbäumen, die auf unterschiedlichen Teilmengen der Trainingsdaten trainiert werden. Die Vorhersage des Modells wird dann aus den Ergebnissen aller Bäume aggregiert.
Für die Imputation werden im ersten Schritt alle fehlenden Messwerte mit einem Mittelwert ersetzt. Für jede Kunststoff-Eigenschaft in unserem Datensatz wird anschließend ein RF-Modell trainiert und fehlende Messwerte werden aufgefüllt. Dieser Vorgang wird so oft wiederholt, bis ein Abbruchkriterium erreicht ist. Mit jeder Iteration verbessert sich das Modell, sodass nach und nach ein sauberer und vollständiger Datensatz entsteht, der für weitere Analysen optimal vorbereitet ist.
Ergebnisse
Eine Frage stellt sich hier jedoch noch. Wie misst man die Genauigkeit für die Imputationsmethode? Eine Methode hierfür ist das Erzeugen von neuen Lücken innerhalb des Datensatzes. Für diese Lücken sind dann die tatsächlichen Werte bekannt und die Differenz zwischen aufgefüllten und bekannten Werten kann berechnet werden. Hierbei stößt man aber auf Probleme, wenn die Daten nicht zufällig fehlen. Eine weitere Möglichkeit ist datengetrieben und kann das Vergleichen mit korrelierenden Werten sein.
Dabei nutzen wir bekannte Abhängigkeiten (Korrelationen) zwischen einzelnen Kunststoffeigenschaften. In unserem Beispiel sind das die Eigenschaften flexural modulus (Biegemodul) und tensile modulus (Zugmodul), die eine starke lineare Abhängigkeit aufweisen. In unserem Versuch sind auf der y-Achse die vorhergesagten Werte für das Biegemodul abgebildet, während die x-Achse die zugehörigen bekannten Werte für das Zugmodul enthält. Man sieht eine deutliche lineare Korrelation zwischen diesen beiden Eigenschaften, wie sie auch in der Realität anzutreffen ist.
Zuletzt bleibt noch die stichprobenartige Überprüfung der künstlich erzeugten Daten durch unsere Projektpartner aus der Kunststoff Forschung. Die Kunststoffe, die in unserer Datenbank gesammelt wurden, können beschafft und vermessen werden. Schlussendlich ist auch hier eine Kombination der Evaluationsmethoden am besten geeignet, um einen Eindruck für die Genauigkeit der Imputation zu erlangen.
Ausblick
Was haben wir nun geschafft? Gestartet wurde mit einem unvollständigen Datensatz. Durch eine Imputation können diese Lücken nun aufgefüllt werden und wir können die geschaffene Datengrundlage für die Entwicklung der PINNs nutzen.
Sie möchten mehr über die individuelle Entwicklung von KI-Projekten erfahren und interessieren sich dafür wie auch Ihr Unternehmen von Künstlicher Intelligenz profitieren kann?
Kontaktieren Sie uns gerne für eine unverbindliche Beratung.