Imputation – chatgpz.de – KI-Tools & Praxiswissen http://chatgpz.de Unabhängige Tests, Anleitungen und Hintergründe zu KI-Tools. Tue, 13 Jan 2026 10:54:04 +0000 de-DE hourly 1 https://wordpress.org/?v=6.4.2 234900186 Wir haben 5 Methoden zur Imputation fehlender Daten ausprobiert: Die einfachste Methode hat gewonnen (sozusagen) http://chatgpz.de/data-analytics/wir-haben-5-methoden-zur-imputation-fehlender-daten-ausprobiert-die-einfachste-methode-hat-gewonnen-sozusagen/ http://chatgpz.de/data-analytics/wir-haben-5-methoden-zur-imputation-fehlender-daten-ausprobiert-die-einfachste-methode-hat-gewonnen-sozusagen/#respond Tue, 13 Jan 2026 10:54:04 +0000 https://chatgpz.de/data-analytics/wir-haben-5-methoden-zur-imputation-fehlender-daten-ausprobiert-die-einfachste-methode-hat-gewonnen-sozusagen/ [ad_1]

Fehlende DatenimputationsmethodenFehlende Datenimputationsmethoden
Bild vom Autor

# Das Setup

Sie sind gerade dabei, ein Modell zu trainieren, als Sie feststellen, dass 20 % Ihrer Werte fehlen. Lassen Sie diese Zeilen fallen? Füllen Sie sie mit Durchschnittswerten aus? Etwas Ausgefalleneres verwenden? Die Antwort ist wichtiger als Sie denken.

Wenn Sie googeln, finden Sie Dutzende Imputationsmethoden, von ganz einfach (verwenden Sie einfach den Mittelwert) bis hin zu ausgefeilten (iterative Modelle für maschinelles Lernen). Man könnte meinen, dass ausgefallene Methoden besser sind. KNN berücksichtigt ähnliche Zeilen. MÄUSE erstellt Vorhersagemodelle. Sie müssen einfach nur den Durchschnitt übertreffen, oder?

Das dachten wir auch. Wir haben uns geirrt.

# Das Experiment

Wir haben uns das geschnappt Datensatz mit Ernteempfehlungen aus StrataScratch-Projekten – 2.200 Bodenproben aus 22 Pflanzenarten mit Merkmalen wie Stickstoffgehalt, Temperatur, Luftfeuchtigkeit und Niederschlag. Ein Random Forest erreicht bei diesem Ding eine Genauigkeit von 99,6 %. Es ist quick verdächtig sauber.

Diese Analyse erweitert unsere Agrardatenanalyse Projekt, das denselben Datensatz durch EDA und statistische Exams untersucht. Hier fragen wir: Was passiert, wenn saubere Daten auf ein reales Downside treffen – fehlende Werte?

Perfekt für unser Experiment.

Wir haben 20 % fehlende Werte eingeführt (völlig zufällig, um Sensorausfälle zu simulieren) und dann fünf Imputationsmethoden getestet:

Fehlende DatenimputationsmethodenFehlende Datenimputationsmethoden

Unsere Exams waren gründlich; Wir verwendeten eine 10-fache Kreuzvalidierung über fünf zufällige Startwerte (insgesamt 50 Durchläufe professional Methode). Um sicherzustellen, dass keine Informationen aus dem Testsatz in den Trainingssatz gelangen, wurden unsere Imputationsmodelle nur auf den Trainingssätzen trainiert. Für unsere statistischen Exams haben wir die Bonferroni-Korrektur angewendet. Wir haben auch die Eingabemerkmale sowohl für KNN als auch für MICE normalisiert. Wenn wir sie nicht normalisiert hätten, hätte eine Eingabe mit Werten zwischen 0 und 300 (Niederschlag) eine viel größere Auswirkung als eine Eingabe mit einem Bereich von 3 bis 10 (pH), wenn wir die Entfernungsberechnung für diese Methoden durchführen. Vollständiger Code und reproduzierbare Ergebnisse sind in unserem verfügbar Notizbuch.

Dann ließen wir es laufen und starrten auf die Ergebnisse.

# Die Überraschung

Folgendes haben wir erwartet: KNN oder MICE würden gewinnen, weil sie schlauer sind. Sie berücksichtigen Beziehungen zwischen Options. Sie nutzen echtes maschinelles Lernen.

Das haben wir bekommen:

Fehlende DatenimputationsmethodenFehlende Datenimputationsmethoden

Der Median und der Mittelwert liegen gleichauf auf dem ersten Platz. Auf den Plätzen drei und vier landeten die anspruchsvollen Methoden.

Wir haben den statistischen Take a look at durchgeführt. Mittelwert vs. Median: p = 0,7. Nicht einmal annähernd bedeutsam. Sie sind praktisch identisch.

Aber hier ist der Clou: Beide übertrafen KNN und MICE deutlich (p < 0,001 nach Bonferroni-Korrektur). Die einfachen Methoden passten nicht nur zu den ausgefallenen. Sie haben sie geschlagen.

# Warte, was?

Bevor Sie Ihre MICE-Set up verwerfen, wollen wir uns mit der Ursache befassen.

Die Aufgabe battle die Vorhersage. Wir haben die Genauigkeit gemessen. Klassifiziert das Modell Nutzpflanzen nach der Imputation immer noch korrekt? Für dieses spezifische Ziel kommt es darauf an, das Vorhersagesignal beizubehalten, nicht unbedingt die genauen Werte.

Die mittlere Imputation bewirkt etwas Interessantes: Sie ersetzt fehlende Werte durch einen „neutralen“ Wert, der das Modell nicht in Richtung einer bestimmten Klasse drängt. Es ist langweilig, aber es ist sicher. Der Random Forest kann immer noch seine Entscheidungsgrenzen finden.

KNN und MICE geben sich mehr Mühe; Sie schätzen, wie hoch der tatsächliche Wert gewesen sein könnte. Dabei können sie jedoch Lärm verursachen. Wenn die nächsten Nachbarn nicht so ähnlich sind oder wenn die iterative Modellierung von MICE falsche Muster erkennt, fügen Sie möglicherweise Fehler hinzu, anstatt sie zu entfernen.

Die Grundlinie battle bereits hoch. Mit einer Genauigkeit von 99,6 % ist dies ein ziemlich einfaches Klassifizierungsproblem. Wenn das Sign stark ist, spielen Imputationsfehler weniger eine Rolle. Etwas Lärm kann sich das Modell leisten.

Zufälliger Wald ist sturdy. Baumbasierte Modelle verarbeiten unvollständige Daten intestine. Ein lineares Modell hatte mehr mit der Varianzverzerrung der Mittelwertimputation zu kämpfen.

Fehlende DatenimputationsmethodenFehlende Datenimputationsmethoden

Nicht so schnell.

# Der Plot Twist

Wir haben noch etwas anderes gemessen: die Korrelationserhaltung.

Das Besondere an echten Daten ist, dass Funktionen nicht isoliert existieren. Sie ziehen zusammen. Wenn der Boden in unserem Datensatz einen hohen Phosphorgehalt aufweist, weist er normalerweise auch einen hohen Kaliumgehalt auf (Korrelation von 0,74). Das ist kein Zufall; Landwirte fügen diese Nährstoffe normalerweise zusammen hinzu, und bestimmte Bodentypen behalten beide auf ähnliche Weise bei.

Wenn Sie fehlende Werte imputieren, können diese Beziehungen versehentlich unterbrochen werden. Die mittlere Imputation trägt „durchschnittliches Kalium“ ein, unabhängig davon, wie Phosphor in dieser Zeile aussieht. Wenn Sie das oft genug tun, beginnt die Verbindung zwischen P und Ok zu schwinden. Ihre unterstellten Daten mögen Spalte für Spalte intestine aussehen, aber die Beziehungen zwischen den Spalten lösen sich langsam auf.

Warum ist das wichtig? Wenn Ihr nächster Schritt ist Clusterbildung, PCAoder einer Analyse, bei der es um Function-Beziehungen geht, arbeiten Sie mit beschädigten Daten und wissen es nicht einmal.

Wir haben überprüft: Wie viel von dieser P↔Ok-Korrelation blieb nach der Imputation erhalten?

Fehlende DatenimputationsmethodenFehlende Datenimputationsmethoden
Bild vom Autor

Die Rangliste drehte sich völlig um.

KNN hat die Korrelation nahezu perfekt beibehalten. Imply und Median zerstörten etwa ein Viertel davon. Und die Zufallsstichprobe (bei der die Werte für jede Spalte unabhängig abgetastet werden) beseitigte die Beziehung.

Das macht Sinn. Bei der Mittelwertimputation werden fehlende Werte durch die gleiche Zahl ersetzt, unabhängig davon, wie die anderen Merkmale aussehen. Wenn eine Reihe einen hohen Stickstoffgehalt aufweist, ist es Imply egal; es unterstellt immer noch den durchschnittlichen Kaliumwert. KNN betrachtet ähnliche Zeilen. Wenn additionally Zeilen mit hohem N dazu neigen, einen hohen Ok-Wert zu haben, wird ein hoher Ok-Wert unterstellt.

# Der Kompromiss

Hier ist die eigentliche Erkenntnis: Es gibt keine einzelne beste Imputationsmethode. Wählen Sie stattdessen die am besten geeignete Methode basierend auf Ihrem spezifischen Ziel und Kontext.

Die Genauigkeitsrankings und Korrelationsrankings sind nahezu gegensätzlich:

Fehlende DatenimputationsmethodenFehlende Datenimputationsmethoden
Bild vom Autor

(Zumindest ist die Zufallsstichprobe konsistent – ​​sie ist in allem schlecht.)

Dieser Kompromiss gilt nicht nur für unseren Datensatz. Es hängt davon ab, wie diese Methoden funktionieren. Mittelwert/Median sind univariat und betrachten jeweils eine Spalte. KNN/MICE sind multivariat und berücksichtigen Beziehungen. Univariate Methoden bewahren Randverteilungen, zerstören jedoch die Korrelation. Multivariate Methoden bewahren die Struktur und können eine Kind von Vorhersagefehlern/-rauschen erzeugen.

# Was sollten Sie additionally eigentlich tun?

Nachdem Sie dieses Experiment durchgeführt und die Literatur durchgesehen haben, finden Sie hier unseren praktischen Leitfaden:

Verwenden Sie Mittelwert oder Median, wenn:

  • Ihr Ziel ist die Vorhersage (Klassifizierung, Regression)
  • Sie verwenden ein robustes Modell (Random Forest, XGBoost, neuronale Netze).
  • Die Fehlquote liegt unter 30 %.
  • Sie brauchen schnell etwas

Verwenden Sie KNN, wenn:

  • Sie müssen Function-Beziehungen beibehalten
  • Nachgelagerte Aufgaben sind Clustering, PCA oder Visualisierung
  • Sie möchten, dass Korrelationen für die explorative Analyse bestehen bleiben

Verwenden Sie MICE, wenn:

  • Sie benötigen gültige Standardfehler (für statistische Schlussfolgerungen)
  • Sie geben Konfidenzintervalle oder p-Werte an
  • Der Mechanismus für fehlende Daten könnte MAR (Lacking at Random) sein.

Vermeiden Sie Zufallsstichproben:

  • Es ist verlockend, weil es „die Verteilung bewahrt“
  • Aber es zerstört alle multivariaten Strukturen
  • Wir konnten keinen guten Anwendungsfall finden

# Die ehrlichen Vorbehalte

Wir haben einen Datensatz, eine fehlende Fee (20 %), einen Mechanismus (MCAR) und ein Downstream-Modell (Random Forest). Ihr Setup kann variieren. Die Literatur zeigt, dass bei anderen Datensätzen MissForest und MICE schneiden oft besser ab. Unsere Feststellung, dass einfache Methoden konkurrieren, ist actual, aber nicht universell.

# Das Fazit

Wir gingen in dieses Experiment, um zu bestätigen, dass ausgefeilte Imputationsmethoden die Komplexität wert sind. Stattdessen stellten wir fest, dass sich der bescheidene Mittelwert hinsichtlich der Vorhersagegenauigkeit behaupten konnte, während er die Beziehungen zwischen den Merkmalen überhaupt nicht aufrechterhielt.

Die Lektion lautet nicht: „Verwenden Sie immer die mittlere Imputation.“ Es geht darum: „Wissen Sie, wofür Sie optimieren.“

Fehlende DatenimputationsmethodenFehlende Datenimputationsmethoden
Bild vom Autor

Wenn Sie nur Vorhersagen benötigen, fangen Sie einfach an. Testen Sie, ob KNN oder MICE bei Ihren Daten tatsächlich weiterhilft. Gehen Sie nicht davon aus, dass sie es tun werden.

Wenn Sie die Korrelationsstruktur für eine nachgelagerte Analyse benötigen, wird Imply sie stillschweigend zerstören und Ihnen gleichzeitig vollkommen vernünftige Genauigkeitszahlen liefern. Das ist eine Falle.

Und was auch immer Sie tun: Skalieren Sie Ihre Funktionen, bevor Sie KNN verwenden. Vertrauen Sie uns in dieser Sache.

Nate Rosidi ist Datenwissenschaftler und in der Produktstrategie tätig. Er ist außerdem außerordentlicher Professor für Analytik und Gründer von StrataScratch, einer Plattform, die Datenwissenschaftlern hilft, sich mit echten Interviewfragen von Prime-Unternehmen auf ihre Interviews vorzubereiten. Nate schreibt über die neuesten Developments auf dem Karrieremarkt, gibt Ratschläge zu Vorstellungsgesprächen, stellt Knowledge-Science-Projekte vor und behandelt alles rund um SQL.



[ad_2]

]]>
http://chatgpz.de/data-analytics/wir-haben-5-methoden-zur-imputation-fehlender-daten-ausprobiert-die-einfachste-methode-hat-gewonnen-sozusagen/feed/ 0 15524
Umfragestatistik: Imputation II http://chatgpz.de/data-science/umfragestatistik-imputation-ii/ http://chatgpz.de/data-science/umfragestatistik-imputation-ii/#respond Wed, 10 Sep 2025 13:41:49 +0000 https://chatgpz.de/data-science/umfragestatistik-imputation-ii/ [ad_1]

ICH schrieb über die Imputation im Juli träumten, dass wir im Kommentarbereich die Edundrums der Praktizierenden lösen könnten (wie passiert HierDanke Gaurav !). Aber so struggle Statistik (und das Leben) für mich, ich kreisen immer wieder um die gleichen Fragen.

Lassen:

  • Z = beobachtete Kovariate
  • X = nicht beobachtete Kovariate
  • Y = Ergebnis

Wir wollen modellieren (y | z, x).

D’Agostino McGowan et al. (2024) Schauen Sie sich die kontinuierlichen Y- und linearen Modelle für E (y | x, z) an. Sisk et al. (2023) Schauen Sie sich binäre y- und logistische Modelle für e (y | x, z) an. Beide bedenken:

  • deterministische Imputationen
    • mit y: xhat = e (x | z, y)
    • ohne y: xhat = e (x | z)
  • zufällige Imputationen
    • mit y: x ~ p (x | z, y)
    • ohne y: x ~ p (x | z)
Beide schließen daraus, dass zufällige Imputationsmodelle Y enthalten sollten, während deterministische Imputationsmodelle dies nicht tun sollten.

 

Um dies zu verstehen, schauen wir uns ein einfaches Beispiel an: Verg vergessen Sie alle linearen Modelle.

Wir wollen die Steigung von einer Regression von y auf x: cov (y, x)/v (x)

Das Imputationsmodell ist eine Regression von x auf y: x = a + durch + e

Verwenden der richtigen x = a + by + E erhält:
COV (y, a + durch + e) ​​/ v (a + nach + e) ​​= bv (y) / (b^2 V (y) + V (e))

Verwenden von xhat = a + von als deterministische Imputation, die vergessen wird, bekommt eine zu große Steigung:
COV (y, a + by) / v (a + by) = bv (y) / (b^2 v (y))

D’Agostino McGowan et al. (2024) Lassen Sie Anhänge lange Berechnungen durchführen, um Versionen dieses Phänomens anzuzeigen:

Denken Sie jetzt daran, wir sind ein Staff von Praktikern und unterschiedlichen Teamkollegen haben unterschiedliche „Y“ -Variablen. Daher muss die deterministische Imputation das YS aller respektieren, ausgenommen sie von den Imputationsmodellen. Ist dies ein Argument für zufällige Imputation? Auf diese Weise kann sich das Staff vollständig bedingen (siehe Der MäusealgorithmusZum Beispiel). Gedanken ?

 

[ad_2]

]]>
http://chatgpz.de/data-science/umfragestatistik-imputation-ii/feed/ 0 12276
Umfragestatistik: Imputation http://chatgpz.de/data-science/umfragestatistik-imputation/ http://chatgpz.de/data-science/umfragestatistik-imputation/#respond Thu, 10 Jul 2025 17:55:49 +0000 http://chatgpz.de/data-science/umfragestatistik-imputation/ [ad_1]

Wir haben unser Umfrage -Statistikabenteuer mit diesem großen Berg begonnen: Nicht jeder kann in unserer Stichprobe sein („Einheit Nichtreaktion“). Jenseits dieses Berges ist ein weiterer Berg: Nicht jeder in unserem Beispiel beantwortet alle Umfragenfragen („Factor Non Response“). Hier bedeutet „Nichtantwort“ entweder nicht probiert oder gefragt und sich weigern zu antworten. Alle führen zu fehlenden Daten.

Für ein visuell magazine ich Abbildung 10.4 von Haine:

Multilevel -Regression und Nachstratifizierung (MRP) Ziel ist es, die Einheit nicht zu reagieren. Angenommen, wir wollen E (y), die Bevölkerung, schätzen. Aber wir haben nur Y für Befragte. Nehmen wir zum Beispiel an, Y stimmt republikanisch ab. Und was ist, wenn die Befragten mehr oder weniger republikanisch sind als die Bevölkerung? Wenn wir Bevölkerungsdaten zu X haben, z. B. eine Reihe der demografischen Variablen, können wir E (y | x) und Aggregat schätzen: E (y) = e (e (y | x)). Wenn unsere Stichprobe additionally die falsche Verteilung von x hat, beheben wir das zumindest mit einer gewissen Kalibrierung.

Aber was ist, wenn einige der X fehlen? Aus Bayes’sche Datenanalyse S.451:

Die paradigmatische Einstellung für fehlende Datenimputation ist die Regression, bei der wir uns für das Modell P (y | x, θ) interessieren, aber fehlende Werte in der Matrix X haben.

Andrew hat darüber gebloggt MRP und Gegenstand Non Responseempfehlen Sie ein großes gemeinsames Modell für y und X. oder „einige unterstellte Datensätze konstruieren und mit diesen MRP durchführen“. Mehr von Bayes’sche Datenanalyse S.451:

Erstes Modell X, y zusammen… zu diesem Zeitpunkt macht der Impter den überraschenden Schritt, die Schlussfolgerungen über die Parameter zu verwerfen und nur die ausgefüllten Datensätze x zu behalten.S…

Diese Zeile hat mir wirklich geholfen, die Imputation zu verstehen. Besonders die Worte „überraschender Schritt“. Weil wir wirklich zu all diesen Schwierigkeiten gehen, um zu modellieren allesUnd dann … warum werden wir nicht getan? Wir würden fertig sein, wenn wir wirklich an dieses eine große gemeinsame Modell glauben würden. Aber vielleicht wollen wir vorsichtiger sein, insbesondere darüber, wie wir E (y | x) modellieren. Additionally werfen wir einige unserer Arbeiten weg und behalten einfach die unterstellten XS.

Darüber hinaus behalten wir mehrere Versionen dieser unterstellten XS, weil wir unsere Unsicherheit über sie widerspiegeln wollen. Dann kombinieren wir diese mehreren Versionen unserer Analyse. Weitere Informationen zur Mehrfachimputation (MI) sehen Sie, z. B. Stef van Buurens Buch.

Okay, das klingt vernünftig! Implementierungszeit. Hier bin ich festgefahren:

  1. Skala: Sie haben 1000s X -Prädiktoren (in 100er Jahren von Chargen) und 100.000 der Umfrageantworten. Alles kann fehlen.
  2. Kreuzvalidierung: Kuh et al. 2023 Sagen Sie, die Kreuzvalidierung ist möglicherweise nicht geeignet, das MRP-Modell für E (y | x) zu bewerten, aber die Leute tun es (Menschen)Wang & Gelman 2014). Jaeger et al. (2020) Erinnern Sie uns an eine Imputation (die das Y verwendet) während Jede Kreuzvalidierung repliziert sich. Sie untersuchen, ob wir als Schritt mit Imputation ohne Y davonkommen können vor Kreuzvalidierung.

Wir haben additionally ein Skalenproblem, das noch schlimmer gemacht wurde, wenn wir während des Kreuzvalidierens eine Imputation machen.

Zwei neuere Arbeiten in statistischen Methoden in der medizinischen Forschung untersuchen, mit einer einzigen, deterministischen Imputation von fehlenden XS ohne zu verwenden: Y:

Lassen:

  • Z = beobachtete Kovariaten
  • X = nicht beobachtete Kovariaten
  • Y = Ergebnis

D’Agostino McGowan et al. (2024) Schauen Sie sich die kontinuierlichen Y- und linearen Modelle für E (y | x, z) an. Sisk et al. (2023) Schauen Sie sich binäre y- und logistische Modelle für e (y | x, z) an. Beide bedenken:

  • deterministische Imputationen
    • Mit dem Ergebnis xhat (z, y), schätzt E (x | z, y)
    • oder ohne xhat (z), schätzen e (x | z)
  • zufällige Imputationen
    • Mit dem Ergebnis x ~ p (x | z, y)
      (Dies ist die Deluxe -Model der Imputation, die Andrew empfiehlt.)
    • oder ohne x ~ p (x | z)
Beide schließen daraus, dass zufällige Imputationsmodelle Y enthalten sollten, während deterministische Imputationsmodelle dies nicht tun sollten.

Mal sehen, wie ihre Empfehlung mit einem linearen MRP -Ergebnismodell E (y | z, x) = b0 + b1 x + b2 z + b3 x z.

Angenommen, wir haben ein perfektes Imputationsmodell E (x | Z) und das Ergebnismodell, dann hätten wir E (y | z, e (x | z)), das nur e (y | z) ist (weil ich dir ZUSIGE ZEHT IST IHNE IHNE wie ich, wie ich Ihnen Z und eine Funktion von z).

Dann können wir die Erwartung, E (e (y | z, x) | z) = B0 + B1 E (x | Z) + B2 Z + B3 E (x | Z) Z zu erhalten, um die Parameter unseres wahren MRP -Ergebnismodells zurückzugewinnen.

Aber wenn das Modell logistisch ist, dann geht dies nicht ganz durch. In der Tat, Sisk et al. (2023) Sagen Sie, sie bekommen „minimale Vorurteile“, anders als D’Agostino McGowan et al. (2024) die im linearen Fall Untzug zeigen.

Wo bleibt uns das? Das Skala -Drawback ist ernst. Mit einer Verschlechterung der Nichtbeantwortung möchten wir uns an viele Kovariaten X einstellen. Dies ist in Spannung mit der Behandlung fehlender Kovariaten mit einem großen gemeinsamen Modell für Y und X (oder mit der Imputation während des Kreuzvalidierens). Ich schätze diese Papiere, die untersuchen, was Praktizierende oft tun!

[ad_2]

]]>
http://chatgpz.de/data-science/umfragestatistik-imputation/feed/ 0 10671
Imputation fehlender Werte, erklärt: Eine visuelle Anleitung mit Codebeispielen für Anfänger | von Samy Baladram | August 2024 http://chatgpz.de/artificial-intelligence/imputation-fehlender-werte-erklaert-eine-visuelle-anleitung-mit-codebeispielen-fuer-anfaenger-von-samy-baladram-august-2024/ http://chatgpz.de/artificial-intelligence/imputation-fehlender-werte-erklaert-eine-visuelle-anleitung-mit-codebeispielen-fuer-anfaenger-von-samy-baladram-august-2024/#respond Tue, 27 Aug 2024 15:27:17 +0000 http://chatgpz.de/artificial-intelligence/imputation-fehlender-werte-erklaert-eine-visuelle-anleitung-mit-codebeispielen-fuer-anfaenger-von-samy-baladram-august-2024/ [ad_1]

DATENVORVERARBEITUNG

Ein (winziger) Datensatz, sechs Imputationsmethoden?

Lassen Sie uns über etwas sprechen, mit dem sich jeder Datenwissenschaftler, Analyst oder neugierige Zahlenjongleur früher oder später auseinandersetzen muss: fehlende Werte. Ich weiß, was Sie jetzt denken: „Oh toll, schon wieder ein Leitfaden zu fehlenden Werten.“ Aber hören Sie mir zu. Ich werde Ihnen zeigen, wie Sie dieses Drawback mit nicht einer, nicht zwei, sondern sechs verschiedenen Imputationsmethoden angehen können, und zwar mit einem einzigen Datensatz (und das auch noch mit hilfreichen visuellen Darstellungen!). Am Ende werden Sie sehen, warum Fachwissen Gold wert ist (etwas, das selbst unsere KI-Freunde nur schwer nachbilden können).

Alle Bilder: Vom Autor mit Canva Professional erstellt. Für Mobilgeräte optimiert; kann auf dem Desktop übergroß erscheinen.

Bevor wir uns mit unserem Datensatz und den Imputationsmethoden befassen, wollen wir uns kurz damit befassen, was fehlende Werte sind und warum sie in der Datenwissenschaft so häufig Probleme bereiten.

Was sind fehlende Werte?

Fehlende Werte, die in Pandas oft als NaN (Not a Quantity) oder in Datenbanken als NULL dargestellt werden, sind im Wesentlichen Lücken in Ihrem Datensatz. Es sind die leeren Zellen in Ihrer Tabelle, die Lücken in Ihren Umfrageantworten, die Datenpunkte, die Ihnen entgangen sind. In der Welt der Daten sind nicht alle fehlenden Werte gleich, und das Verständnis der Natur Ihrer fehlenden Werte ist entscheidend für die Entscheidung, wie Sie mit ihnen umgehen.

Bild vom Autor.

Warum treten fehlende Werte auf?

Fehlende Werte können sich aus verschiedenen Gründen in Ihre Daten einschleichen. Hier sind einige häufige Gründe:

  1. Dateneingabefehler: Manchmal handelt es sich einfach um einen menschlichen Fehler. Jemand könnte vergessen, einen Wert einzugeben, oder versehentlich einen löschen.
  2. Sensorstörungen: Beim IoT oder bei wissenschaftlichen Experimenten kann es vorkommen, dass ein fehlerhafter Sensor zu bestimmten Zeiten keine Daten aufzeichnet.
  3. Umfrage-Nichtbeantwortung: In Umfragen überspringen Befragte möglicherweise Fragen, deren Beantwortung ihnen unangenehm ist oder die sie nicht verstehen.
  4. Zusammengeführte Datensätze: Beim Kombinieren von Daten aus mehreren Quellen kann es vorkommen, dass für einige Einträge nicht in allen Datensätzen entsprechende Werte vorhanden sind.
  5. Datenbeschädigung: Während der Datenübertragung oder -speicherung können einige Werte beschädigt und unlesbar werden.
  6. Absichtliche Auslassungen: Einige Daten werden möglicherweise aus Datenschutzgründen oder aufgrund ihrer Irrelevanz absichtlich weggelassen.
  7. Probleme bei der Stichprobennahme: Bei der Methode zur Datenerfassung können bestimmte Datentypen systematisch übersehen werden.
  8. Zeitkritische Daten: In Zeitreihendaten können Werte für Zeiträume fehlen, in denen keine Daten erfasst wurden (z. B. Wochenenden, Feiertage).

Arten fehlender Daten

Wenn Sie wissen, mit welcher Artwork fehlender Daten Sie es zu tun haben, können Sie die am besten geeignete Imputationsmethode auswählen. Statistiker kategorisieren fehlende Daten im Allgemeinen in drei Typen:

  1. Völlig zufälliges Fehlen (MCAR): Das Fehlen ist völlig zufällig und ist von keiner anderen Variable abhängig. Beispielsweise, wenn eine Laborprobe versehentlich fallengelassen wurde.
  2. Zufälliges Fehlen (MAR): Die Wahrscheinlichkeit fehlender Daten hängt von anderen beobachteten Variablen ab aber nicht auf die fehlenden Daten selbst. So könnte es beispielsweise sein, dass Männer in einer Umfrage seltener Fragen zu Emotionen beantworten.
  3. Nicht zufällig vermisst (MNAR): Das Fehlen hängt vom Wert der fehlenden Daten selbst ab. Beispielsweise geben Personen mit hohem Einkommen ihr Einkommen in einer Umfrage möglicherweise seltener an.

Warum sind fehlende Werte wichtig?

Fehlende Werte können Ihre Analyse erheblich beeinflussen:

  1. Wenn sie nicht richtig gehandhabt werden, können sie zu Verzerrungen führen.
  2. Viele Algorithmen des maschinellen Lernens können fehlende Werte nicht sofort verarbeiten.
  3. Sie können zum Verlust wichtiger Informationen führen, wenn Instanzen mit fehlenden Werten einfach verworfen werden.
  4. Ein unsachgemäßer Umgang mit fehlenden Werten kann zu falschen Schlussfolgerungen oder Vorhersagen führen.

Deshalb ist es wichtig, eine solide Strategie für den Umgang mit fehlenden Werten zu haben. Und genau das werden wir in diesem Artikel untersuchen!

Zunächst einmal möchten wir unseren Datensatz vorstellen. Wir werden mit einem Golfplatz-Datensatz arbeiten, der verschiedene Faktoren verfolgt, die sich auf die Überfüllung des Platzes auswirken. Dieser Datensatz enthält von allem etwas – numerische Daten, kategorische Daten und ja, jede Menge fehlende Werte.

Dieser Datensatz wurde vom Autor künstlich erstellt (inspiriert von (1)), um das Lernen zu erleichtern.
import pandas as pd
import numpy as np

# Create the dataset as a dictionary
knowledge = {
'Date': ('08-01', '08-02', '08-03', '08-04', '08-05', '08-06', '08-07', '08-08', '08-09', '08-10',
'08-11', '08-12', '08-13', '08-14', '08-15', '08-16', '08-17', '08-18', '08-19', '08-20'),
'Weekday': (0, 1, 2, 3, 4, 5, 6, 0, 1, 2, 3, 4, 5, 6, 0, 1, 2, 3, 4, 5),
'Vacation': (0.0, 0.0, 0.0, 0.0, np.nan, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, np.nan, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0),
'Temp': (25.1, 26.4, np.nan, 24.1, 24.7, 26.5, 27.6, 28.2, 27.1, 26.7, np.nan, 24.3, 23.1, 22.4, np.nan, 26.5, 28.6, np.nan, 27.0, 26.9),
'Humidity': (99.0, np.nan, 96.0, 68.0, 98.0, 98.0, 78.0, np.nan, 70.0, 75.0, np.nan, 77.0, 77.0, 89.0, 80.0, 88.0, 76.0, np.nan, 73.0, 73.0),
'Wind': (0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, np.nan, 0.0, 0.0, 1.0, 1.0, 1.0, 1.0, 0.0, np.nan, 1.0, 0.0),
'Outlook': ('wet', 'sunny', 'wet', 'overcast', 'wet', np.nan, 'wet', 'wet', 'overcast', 'sunny', np.nan, 'overcast', 'sunny', 'wet', 'sunny', 'wet', np.nan, 'wet', 'overcast', 'sunny'),
'Crowdedness': (0.14, np.nan, 0.21, 0.68, 0.20, 0.32, 0.72, 0.61, np.nan, 0.54, np.nan, 0.67, 0.66, 0.38, 0.46, np.nan, 0.52, np.nan, 0.62, 0.81)
}

# Create a DataFrame from the dictionary
df = pd.DataFrame(knowledge)

# Show fundamental details about the dataset
print(df.information())

# Show the primary few rows of the dataset
print(df.head())

# Show the depend of lacking values in every column
print(df.isnull().sum())

Ausgabe:

<class 'pandas.core.body.DataFrame'>
RangeIndex: 20 entries, 0 to 19
Knowledge columns (whole 8 columns):
# Column Non-Null Rely Dtype
--- ------ -------------- -----
0 Date 20 non-null object
1 Weekday 20 non-null int64
2 Vacation 19 non-null float64
3 Temp 16 non-null float64
4 Humidity 17 non-null float64
5 Wind 19 non-null float64
6 Outlook 17 non-null object
7 Crowdedness 15 non-null float64
dtypes: float64(5), int64(1), object(2)
reminiscence utilization: 1.3+ KB

Date Weekday Vacation Temp Humidity Wind Outlook Crowdedness
0 08-01 0 0.0 25.1 99.0 0.0 wet 0.14
1 08-02 1 0.0 26.4 NaN 0.0 sunny NaN
2 08-03 2 0.0 NaN 96.0 0.0 wet 0.21
3 08-04 3 0.0 24.1 68.0 0.0 overcast 0.68
4 08-05 4 NaN 24.7 98.0 0.0 wet 0.20

Date 0
Weekday 0
Vacation 1
Temp 4
Humidity 3
Wind 1
Outlook 3
Crowdedness 5
dtype: int64

Wie wir sehen können, enthält unser Datensatz 20 Zeilen und 8 Spalten:

  • Datum: Das Datum der Beobachtung
  • Wochentag: Wochentag (0–6, wobei 0 für Montag steht)
  • Feiertag: Boolescher Wert, der angibt, ob es ein Feiertag ist (0 oder 1)
  • Temp: Temperatur in Celsius
  • Luftfeuchtigkeit: Luftfeuchtigkeit in Prozent
  • Wind: Windverhältnisse (0 oder 1, zeigt möglicherweise Windstille oder Wind an)
  • Ausblick: Wetteraussichten (sonnig, bewölkt oder regnerisch)
  • Überfüllung: Prozentualer Anteil der Kursbelegung

Und sehen Sie sich das an! In jeder Spalte außer „Datum“ und „Wochentag“ fehlen Werte. Perfekt für unsere Imputationsparty.

Nachdem wir nun unseren Datensatz geladen haben, wollen wir diese fehlenden Werte mit sechs verschiedenen Imputationsmethoden angehen. Wir werden für jeden Datentyp eine andere Strategie verwenden.

Beim listenweisen Löschen, auch als vollständige Fallanalyse bezeichnet, werden ganze Zeilen entfernt, die fehlende Werte enthalten. Diese Methode ist einfach und bewahrt die Verteilung der Daten, kann jedoch zu einem erheblichen Informationsverlust führen, wenn viele Zeilen fehlende Werte enthalten.

👍 Häufige Verwendung: Die listenweise Löschung wird häufig verwendet, wenn die Anzahl der fehlenden Werte gering ist und die Daten völlig zufällig fehlen (MCAR). Sie ist auch nützlich, wenn Sie für bestimmte Analysen, die fehlende Werte nicht verarbeiten können, einen vollständigen Datensatz benötigen.

In unserem Fall: Wir verwenden die listenweise Löschung für Zeilen, die mindestens 4 fehlende Werte aufweisen. Diese Zeilen liefern möglicherweise nicht genügend zuverlässige Informationen, und ihre Entfernung kann uns helfen, uns auf die vollständigeren Datenpunkte zu konzentrieren. Wir sind jedoch vorsichtig und entfernen nur Zeilen mit erheblichen fehlenden Daten, um so viele Informationen wie möglich zu erhalten.

# Rely lacking values in every row
missing_count = df.isnull().sum(axis=1)

# Preserve solely rows with lower than 4 lacking values
df_clean = df(missing_count < 4).copy()

Wir haben zwei Zeilen entfernt, die zu viele fehlende Werte enthielten. Fahren wir nun mit der Imputation der verbleibenden fehlenden Daten fort.

Bei der einfachen Imputation werden fehlende Werte durch eine zusammenfassende Statistik der beobachteten Werte ersetzt. Gängige Ansätze sind die Verwendung des Mittelwerts, Medians oder Modus der nicht fehlenden Werte in einer Spalte.

👍 Häufige Verwendung: Die Mittelwertimputation wird häufig für kontinuierliche Variablen verwendet, wenn die Daten zufällig fehlen und die Verteilung annähernd symmetrisch ist. Die Modusimputation wird typischerweise für kategoriale Variablen verwendet.

In unserem Fall: Wir verwenden die Mittelwertimputation für die Luftfeuchtigkeit und die Modusimputation für den Urlaub. Für die Luftfeuchtigkeit liefert der Mittelwert eine vernünftige Schätzung der typischen Luftfeuchtigkeit, vorausgesetzt, die fehlenden Werte sind zufällig. Für den Urlaub liefert uns der Modus den häufigsten Zustand, da es sich um eine binäre Variable handelt (Urlaub oder nicht), was eine vernünftige Schätzung für fehlende Werte ist.

# Imply imputation for Humidity
df_clean('Humidity') = df_clean('Humidity').fillna(df_clean('Humidity').imply())

# Mode imputation for Vacation
df_clean('Vacation') = df_clean('Vacation').fillna(df_clean('Vacation').mode()(0))

Die lineare Interpolation schätzt fehlende Werte, indem eine lineare Beziehung zwischen bekannten Datenpunkten angenommen wird. Sie ist besonders nützlich für Zeitreihendaten oder Daten mit einer natürlichen Ordnung.

👍 Häufige Verwendung: Lineare Interpolation wird häufig für Zeitreihendaten verwendet, bei denen fehlende Werte anhand der Werte davor und danach geschätzt werden können. Sie ist auch für alle Daten nützlich, bei denen eine annähernd lineare Beziehung zwischen benachbarten Punkten erwartet wird.

In unserem Fall: Wir verwenden lineare Interpolation für die Temperatur. Da sich die Temperatur im Laufe der Zeit tendenziell allmählich ändert und unsere Daten nach Datum sortiert sind, kann die lineare Interpolation auf Grundlage der an den nächsten Tagen aufgezeichneten Temperaturen vernünftige Schätzungen für die fehlenden Temperaturwerte liefern.

df_clean('Temp') = df_clean('Temp').interpolate(technique='linear')

Beim Vorwärtsfüllen (oder „letzte Beobachtung vorwärtsgetragen“) wird der letzte bekannte Wert vorwärts weitergegeben, um Lücken zu füllen, während beim Rückwärtsfüllen das Gegenteil der Fall ist. Bei dieser Methode wird davon ausgegangen, dass der fehlende Wert wahrscheinlich dem nächsten bekannten Wert ähnelt.

👍 Häufige Verwendung: Vorwärts-/Rückwärtsfüllen wird häufig für Zeitreihendaten verwendet, insbesondere wenn der Wert wahrscheinlich konstant bleibt, bis er geändert wird (wie bei Finanzdaten) oder wenn der letzte bekannte Wert die beste Schätzung für den aktuellen Standing ist.

In unserem Fall: Wir verwenden für Outlook eine Kombination aus Vorwärts- und Rückwärtsfüllung. Wetterbedingungen halten oft mehrere Tage an, daher ist es vernünftig anzunehmen, dass ein fehlender Outlook-Wert dem Outlook des vorherigen oder folgenden Tages ähneln könnte.

df_clean('Outlook') = df_clean('Outlook').fillna(technique='ffill').fillna(technique='bfill')

Bei dieser Methode werden alle fehlenden Werte in einer Variablen durch einen bestimmten konstanten Wert ersetzt. Diese Konstante kann basierend auf Domänenwissen oder einem sicheren Standardwert gewählt werden.

👍 Häufige Verwendung: Die Imputation konstanter Werte wird häufig verwendet, wenn es einen logischen Standardwert für fehlende Daten gibt oder wenn Sie explizit kennzeichnen möchten, dass ein Wert fehlt (indem Sie einen Wert außerhalb des normalen Datenbereichs verwenden).

In unserem Fall: Wir verwenden für die Spalte „Wind“ die Imputation konstanter Werte und ersetzen fehlende Werte durch -1. Dieser Ansatz kennzeichnet imputierte Werte explizit (da -1 außerhalb des normalen 0–1-Bereichs für Wind liegt) und bewahrt die Info, dass diese Werte ursprünglich fehlten.

df_clean('Wind') = df_clean('Wind').fillna(-1)

Ok-Nächste Nachbarn (KNN) Imputation schätzt fehlende Werte, indem die Ok ähnlichsten Stichproben im Datensatz gefunden werden (genau wie KNN als Klassifizierungsalgorithmus) und ihre Werte zum Imputieren der fehlenden Daten verwendet werden. Mit dieser Methode können komplexe Beziehungen zwischen Variablen erfasst werden.

👍 Häufige Verwendung: KNN-Imputation ist vielseitig und kann sowohl für kontinuierliche als auch für kategorische Variablen verwendet werden. Sie ist besonders nützlich, wenn komplexe Beziehungen zwischen Variablen zu erwarten sind, die einfachere Methoden möglicherweise übersehen.

In unserem Fall: Wir verwenden KNN-Imputation für Überfüllung. Überfüllung hängt wahrscheinlich von einer Kombination von Faktoren ab (wie Temperatur, Urlaubsstatus usw.), und KNN kann diese komplexen Beziehungen erfassen, um genauere Schätzungen fehlender Überfüllungswerte bereitzustellen.

from sklearn.impute import KNNImputer

# One-hot encode the 'Outlook' column
outlook_encoded = pd.get_dummies(df_clean('Outlook'), prefix='Outlook')

# Put together options for KNN imputation
features_for_knn = ('Weekday', 'Vacation', 'Temp', 'Humidity', 'Wind')
knn_features = pd.concat((df_clean(features_for_knn), outlook_encoded), axis=1)

# Apply KNN imputation
knn_imputer = KNNImputer(n_neighbors=3)
df_imputed = pd.DataFrame(knn_imputer.fit_transform(pd.concat((knn_features, df_clean(('Crowdedness'))), axis=1)),
columns=checklist(knn_features.columns) + ('Crowdedness'))

# Replace the unique dataframe with the imputed Crowdedness values
df_clean('Crowdedness') = df_imputed('Crowdedness')

Additionally, da haben Sie es! Sechs verschiedene Möglichkeiten, mit fehlenden Werten umzugehen, alle angewendet auf unseren Golfplatz-Datensatz.

Jetzt sind alle fehlenden Werte ausgefüllt!

Lassen Sie uns noch einmal zusammenfassen, wie die einzelnen Methoden mit unseren Daten umgegangen sind:

  1. Listenweises Löschen: Hat uns geholfen, uns auf vollständigere Datenpunkte zu konzentrieren, indem Zeilen mit vielen fehlenden Werten entfernt wurden.
  2. Einfache Imputation: Luftfeuchtigkeit mit Durchschnittswerten und Feiertag mit dem häufigsten Vorkommen ausgefüllt.
  3. Lineare Interpolation: Geschätzte fehlende Temperaturwerte basierend auf dem Pattern der umliegenden Tage.
  4. Vorwärts-/Rückwärtsfüllung: Geschätzte fehlende Outlook-Werte von benachbarten Tagen, welche die Beständigkeit von Wettermustern widerspiegeln.
  5. Konstante Wertimputation: Fehlende Winddaten mit -1 markiert, wobei die Tatsache erhalten bleibt, dass diese Werte ursprünglich unbekannt waren.
  6. KNN-Imputation: Geschätzte Menschenmenge basierend auf ähnlichen Tagen, wobei komplexe Beziehungen zwischen Variablen erfasst werden.

Jede Methode erzählt eine andere Geschichte über unsere fehlenden Daten und die „richtige“ Wahl hängt davon ab, was wir über unseren Golfplatzbetrieb wissen und welche Fragen wir beantworten möchten.

Die wichtigste Erkenntnis? Wenden Sie Imputationsmethoden nicht einfach blind an. Verstehen Sie Ihre Daten, berücksichtigen Sie den Kontext und wählen Sie die Methode, die für Ihre spezifische State of affairs am sinnvollsten ist.

[ad_2]

]]>
http://chatgpz.de/artificial-intelligence/imputation-fehlender-werte-erklaert-eine-visuelle-anleitung-mit-codebeispielen-fuer-anfaenger-von-samy-baladram-august-2024/feed/ 0 3494