Wann ist es eine gute Idee, nur den Durchschnitt für die Imputation zu verwenden?

9

Angenommen , wir einen Datensatz haben Test :

1
8
12
14
.
.
19

Das . bezeichnet fehlende Werte. Wann wäre es besser, den Durchschnitt der nicht fehlenden Werte zu verwenden, um die fehlenden Werte zu unterstellen, als anzunehmen, dass die Daten aus einer Normalverteilung stammen?

thoms
quelle

Antworten:

7

Don Rubin hat ein einflussreiches Papier geschrieben, das beweist, dass es keine einzige Imputationsmethode gibt , die unvoreingenommene Schlussfolgerungen liefert (wobei "einzelne Imputation" die Imputation von nur einem Wert für eine fehlende Beobachtung bedeutet). In derselben Arbeit wies er jedoch darauf hin, dass es durchaus möglich sein könnte, mehrere Imputationen zu erstellen, deren Mittelwert eine unvoreingenommene Schätzung des fehlenden Werts ist und deren Beiträge zur erhöhten Varianz bei der nachfolgenden Analyse eine vernünftige Schätzung der zusätzlichen Unsicherheit aufgrund von Daten sind Fehlen.

Dies ist sein Papier:

Rubin, DB (1976). Inferenz und fehlende Daten. Biometrika , 63 (3): 581–592.

Und dies ist ein Update dazu: Rubin, DB (1996). Multiple Imputation nach 18+ Jahren. Journal of the American Statistical Association , 91 (434): 473–489.

Und dies ist eine sanfte Einführung in das Thema der multiplen Imputation:

Schafer, JL (1999). Multiple Imputation: eine Grundierung. Statistische Methoden in der medizinischen Forschung , 8: 3–15.

Es gibt eine Vielzahl statistischer Softwarepakete, die die Mehrfachimputation unterstützen (z. B. Mäuse in R oder Eis in Stata oder die in mehreren Versionen integrierten Mehrfachimputationsfunktionen von Stata).

Alexis
quelle
2
Ich verstehe Rubins Argument darin, dass Sie eine unvoreingenommene Punktschätzung durch sorgfältige Einzelimputation erhalten können, aber die Standardfehler sind falsch. In vielen Fällen hat die mittlere Imputation jedoch andere Probleme, insbesondere verzerrte Assoziationsmuster mit anderen Variablen.
Maarten Buis
@ MaartenBuis Danke, ich habe versucht, das in meiner Revision zu korrigieren ... funktioniert das?
Alexis
Nicht wirklich. Der Punkt der (mehrfachen) Imputation besteht nicht darin, fehlende Werte zu schätzen, sondern es wird angenommen, dass diese für immer verloren sind. Sie wissen jedoch oft andere Dinge über diese Personen / Firmen / Kühe, dh andere Variablen werden für diese Beobachtungen beobachtet. Mit (Mehrfach-) Imputation möchten Sie die beobachteten Daten am effektivsten nutzen, die Sie wegwerfen würden, wenn Sie nur alle Beobachtungen mit mindestens einem fehlenden Wert ignorieren würden.
Maarten Buis
1
p
4

Es ist nie eine gute Idee, dies zu tun, aber wenn nur sehr wenige Daten fehlen, schadet dies relativ wenig, ist viel einfacher zu implementieren und je nach Zielgruppe möglicherweise viel einfacher zu erklären. Ein relativ anspruchsvolles Publikum kann jedoch Einwände gegen die einzelne mittlere Imputation erheben.

Peter Flom
quelle
1
Man kann Sensitivitätsanalysen auch durchführen, indem man beispielsweise Ergebnisse auf der Grundlage der mittleren Imputation in Klammern setzt, wobei die Ergebnisse angemessene minimale und maximale Imputationen enthalten.
Alexis
1

Die Frage: "Welche Imputationsmethode ist die beste Wahl ? " Hängt immer von dem Datensatz ab, den Sie betrachten

Der Mittelwert ist im Allgemeinen eine gültige Imputationsmethode. Wie bereits erwähnt, ist es für Veröffentlichungen leicht zu erklären und hat seine Vorteile in Bezug auf die Rechengeschwindigkeit.

Der Mittelwert als Imputationsmethode ist eine gute Wahl für Serien, die zufällig um einen bestimmten Wert / Pegel schwanken.

Für die gezeigte Serie sieht der Mittelwert nicht angemessen aus. Da es sich auch nur um eine Variable handelt, können Sie keine klassischen multivariaten Algorithmen verwenden, wie sie von Mäusen, Amelia, VIM bereitgestellt werden.

Sie müssten sich insbesondere Zeitreihenalgorithmen ansehen. Ein einfacher, aber für Ihr Beispiel guter Ansatz wäre eine lineare Interpolation.

library(imputeTS)   
x <- c(1,8,12,14,NA,NA,19)
na.interpolation(x)

Hier ist die Ausgabe für eine lineare Interpolation:

[1]  1.00000  8.00000 12.00000 14.00000 15.66667 17.33333 19.00000

Dies ist wahrscheinlich ein besseres Ergebnis als der Mittelwert.

Es gibt auch fortgeschrittenere Zeitreihenmethoden im imputeTS- Paket (von mir) oder eine im Prognosepaket (von Rob Hyndman).

stats0007
quelle