Umgang mit Missing-Fällen

Fragen und Diskussionen rund um die Arbeit mit SPSS. Für allgemeine Statistik-Themen, die nicht mit SPSS zusammenhängen, bitte das Statistik-Forum nutzen.
Antworten
mika
Beiträge: 16
Registriert: 26.02.2011, 16:00

Umgang mit Missing-Fällen

Beitrag von mika »

Im Rahmen einer Regressionsanalyse möchte ich eine Variable einbeziehen, die das Haushaltseinkommen wiedergibt. Leider weist diese Variable relativ viele missings aufweist. Das heißt viele Befragte haben keine Angaben zum Haushaltseinkommen gemacht.
Da ich diese missings allerdings nicht prinzipiell aus meiner Analyse ausschließen wollte, habe ich mich dazu entschieden, sie mit dem arithmetischen Mittel des Haushaltseinkommens der Variable zu ersetzen.

Gleichzeitig halte ich es allerdings für sinnvoll, den eventuellen Effekt dieser Missing-Fälle zu kontrollieren.

Im Rahmen einer linearen Regression müsste ich dazu ja eigentlich eine Dummy-Variable erstellen, in der "kein Einkommen" den Wert 1 bekommt. Allerdings bin ich nicht sicher, wie ich Refernzkategorie mit dem Wert 0 heißen soll.

Über eine Hilfestellung wäre ich sehr froh und dankbar!
Generalist
Beiträge: 1733
Registriert: 11.03.2010, 22:28

Beitrag von Generalist »

Mittelwertsersetzung ist leider so ziemlich das schlimmste, was man seinen Daten antun kann. Dadurch werden die Streuungen rabiat verkleinert und alle Analysen verzerrt, an denen die Variable teilhat. Wozu moechtest Du fuer "dies ist ein Fall, wo Einkommen mit dem Mittelwert ersetzt wurde" denn einen dummy einsetzen, was bezweckst Du damit?
mika
Beiträge: 16
Registriert: 26.02.2011, 16:00

Beitrag von mika »

Vielen Dank für die Antwort.

Um ehrlich zu sein, bin ich auch nicht sicher, weshalb ich genau die konstruierte Dummy-Variable in der Analyse kontrollieren will. Ich bin davon ausgegangen, dass eventuell ein Effekt von den Missings ausgehen könnte, den ich nicht unberücksichtigt lassen wollte.

Hast du einen besseren Vorschlag für den Umgang mit den Missings? Ich habe das Gefühl, das Ersetzen durch das arithmetische Mittel die "einfachste Möglichkeit" ist. Eine aufwendige Imputation aus entsprechend anderen Variablen möchte ich eigentlich vermeidenn
Generalist
Beiträge: 1733
Registriert: 11.03.2010, 22:28

Beitrag von Generalist »

Bei Ersetzen durch Mittelwert kommt es auf den Abnehmer an. Kompetente Abnehmer werden das normalerweise nicht akzeptieren. Veraltete, aber zumindest nicht ganz so desaströse Methoden sind hot deck (man sucht einen anhand anderer Variablen als ähnlich anzusehenden Fall und ersetzt einen fehlenden Wert durch den Wert des ähnlichen Falls) und Regression (Schätzung des fehlenden Wertes durch eine Regressionsgleichung mit sonstigen Variablen). In SPSS wird in der "missing value analysis" noch ein bisschen Zufallsfehler bei den den durch Regression errechneten Werten hinzugefügt, um dem auftretenden Problem künstlich verringerter Streuungen zu begegnen. Besprochen werden solche Methoden z.B. hier: http://www.ncbi.nlm.nih.gov/pubmed/15996139
mika
Beiträge: 16
Registriert: 26.02.2011, 16:00

Beitrag von mika »

Vielen Dank für den Tipp.

Wenn ich nun Werte imputieren sollte, wäre es in diesem Zusammenhang denn sinnvoll, die imputierten Daten mit einer Variable "Kein Einkommen" zu kontrollieren?
jake2042
Beiträge: 27
Registriert: 21.05.2011, 14:54

Re: Umgang mit Missing-Fällen

Beitrag von jake2042 »

Hallo mika,

warum lässt Du die fehlenden Werte nicht fehlende Werte sein und schließt sie einfach aus allen Berechnungen aus? Das ist meiner Ansicht nach nicht nur das Einfachste, sondern auch das, womit Du Dich am wenigsten dem Verdacht aussetzt, die Daten in Deinem Sinne (oder im Sinne des Kunden) manipuliert zu haben. Wenn viele Probanden auf die Frage nach dem Haushaltseinkommen nicht geantwortet haben, dann ist das auch ein Ergebnis, das nicht unter den Tisch fallen solte.

Wenn Du die fehlenden Werte durch das arithmetusche Mittel ersetzt, dann ist das gerade bei Vermögens- und Einkommensverteilungen stark verzerrend. Das arithmetische Mittel ist nur dann einigermaßen repräsentativ, wenn die Daten nicht nur metrisch [1], sondern auch (annähernd) normalverteilt sind. [2] Das ist gerade bei den erwähnten Verteilungen fast nie der Fall. Einkommen und Vermögen sind eigentlich immer stark linkssteil bzw. rechtsschief verteilt (viele haben wenig, wenige haben viel).

Viele Grüße
jake2042

[1]
Genaugenommen metrisch oder dichotom (bzw. dichotomisiert). Variablen mit nur zwei Ausprägungen können als metrisch skaliert interpretiert werden, wenn die beiden Ausprägungen mit 0 und 1 kodiert sind. Angenommen bei einer Variablen »Geschlecht« wird männlich mit 0 (Männer sind Luschen :D) und weiblich mit 1 kodiert und dann ein arithmetisches Mittel berechnet. Liegt das dann bei z. B. 0,53 dann heißt das, dass 53 % Frauen in der Verteilung sind.

[2]
Außerdem sollte das arithmetische Mittel nicht bei zeitabhängigen Daten verwendet werden. Wenn ich Aktien im Wert von 100,00 Euro kaufe und diese dann im ersten Jahr um 10 Prozent steigen, dann habe ich am Anfang des zweiten Jahres 110,00 Euro. Angenomen, die Aktien fallen im zweiten Jahr wieder um 10 Prozent. 10 Prozent von 110,00 Euro sind 11,00 Euro. 110,00 Euro minus 11,00 Euro sind 99,00 Euro. Ich habe also am Anfang des dritten Jahres 99,00 Euro. Wenn ich das arithmetische Mittel von +10 Prozent und –10 Prozent über zwei Jahre nehme, hätte ich eine Wertveränderung von genau 0 Prozent pro Jahr, d. h. am Anfang des dritten Jahres müsste ich danach immer noch 100,00 Euro haben. Die habe ich aber nicht. Hier muss statt des arithmetischen das geometrische Mittel berechnet werden.
drfg2008
Beiträge: 2391
Registriert: 06.02.2011, 19:58

Beitrag von drfg2008 »

@Generalist

Ich bin dieser Frage einmal anhand einer Simulation nachgegangen. Grundlage der Simulation sind normalverteilte Zufallsvariablen. Die Simulationsprogramme finden sich unten: einmal als Python-Programm und einmal als Makro-Programm (falls Python nicht installiert ist).

Die Ergebnisse der Simulation sind wie folgt:




Ersetzung durch arithmetisches Mittel:

Die Ersetzungen durch das arithmetische Mittel führen zu erwartungstreuen Schätzern für b, und das gilt fast unabhängig von der Anzahl der imputierten Werte. Also auch bei einer sehr großen Zahl imputierter Werte bleibt der b-Schätzer erwartungstreu. Der Standardfehler steigt mit zunehmender Anzahl imputierter Werte. Zunächst jedoch nur sehr schwach (beinahe linear) und erst in einem Bereich von ca. 70% imputierter Wert und mehr steigt der Standardfehler dann überproportional an. Bei bis zu ca. 20% imputierter Werte weicht der Standardfehler nur unwesentlich vom korrekten Wert ab.


Ersetzung durch lineare Regression:

Diese Ersetzung führt nicht (!) zu erwartungstreuen Schätzungen. Vielmehr weicht der Schätzer schon bei wenigen Prozent imputierter Werte deutlich vom wahren Wert ab und tendiert fast linear gegen 0 (statt 1). Der Standardfehler ist jedoch von Anfang an sehr klein und nimmt noch zusätzlich ab.


In der Bewertung (und nur bezogen auf diese improvisierte Berechnung) kann eigentlich nicht davon ausgegangen werden, dass das Ersetzen fehlender Werte durch ein arithmetisches Mittel (bei normalverteilten Zufallsvariablen) zu nennenswerten Problemen bei der Schätzung des b-Koeffizienten einer linearen Regression führt, solange die Anzahl imputierter Werte nicht wesentlich mehr als ca. 20% ausmacht. Dennoch bleibt der Schätzer des b-Koeffizienten auch bei Imputationen von mehr als 20% erwartungstreu. Das Vergleichsverfahren ist zwar hinsichtlich des Standardfehlers besser, allerdings führt es nicht zu erwartungstreuen Schätzungen des b-Koeffizienten.


@Generalist: Daher bin ich ein wenig überrascht über die Einschätzung (s. o.).
Mittelwertsersetzung ist leider so ziemlich das schlimmste, was man seinen Daten antun kann.

Gruß


Python:

Code: Alles auswählen

OMS /DESTINATION VIEWER=NO /TAG='suppressall'.
 
BEGIN PROGRAM.
import spss
i = 1
j = 100
filenumber = str(i)+"_" +str(j)

while i < j:

         percent = float(i)
         percent=percent/100
         percent=str(percent)
         
         spss.Submit("""
input program.
loop a =1 to 10**5 by 1.
end case.
end loop.
end file.
end input program.


COMPUTE uv1=RV.NORMAL(100,10).
COMPUTE missing=RV.BERNOULLI(""" +  percent + """).
COMPUTE av=uv1 + RV.NORMAL(0,10).
COMPUTE uv_missing=uv1 * missing.


MISSING VALUES uv_missing (0).
RMV /uv_missing_1=SMEAN(uv_missing).
*RMV /uv_missing_1=LINT(uv_missing).

oms select tables
       /destination format = sav
       outfile = 'C:/user/regression_""" + filenumber +""".sav'
       /if commands =['Regression']
        subtype = ['Coefficients'].

REGRESSION
  /MISSING LISTWISE
  /STATISTICS COEFF OUTS R ANOVA
  /CRITERIA=PIN(.05) POUT(.10)
  /NOORIGIN
  /DEPENDENT av
  /METHOD=ENTER uv_missing_1.

 """)
         i+=1
END PROGRAM.

OMSEND .

Makro:

Code: Alles auswählen

OMS /DESTINATION VIEWER=NO /TAG='suppressall'.
FILE HANDLE reg1 /NAME ='C:\user\Monte_Carlo.sav'.

DEFINE !impute ().

!DO !p = 1 !TO 99 !BY 1 .

input program.
loop a =1 to 10**5 by 1.
end case.
end loop.
end file.
end input program.


COMPUTE uv1=RV.NORMAL(100,10).
COMPUTE !concat("missing=RV.BERNOULLI(",!p,"/100)").
COMPUTE av=uv1 + RV.NORMAL(0,10).
COMPUTE uv_missing=uv1 * missing.


MISSING VALUES uv_missing (0).
RMV /uv_missing_1=SMEAN(uv_missing).
*RMV /uv_missing_1=LINT(uv_missing).

oms select tables
       /destination format = sav
       outfile = reg1
       /if commands =['Regression']
        subtype = ['Coefficients'].

REGRESSION
  /MISSING LISTWISE
  /STATISTICS COEFF OUTS R ANOVA
  /CRITERIA=PIN(.05) POUT(.10)
  /NOORIGIN
  /DEPENDENT av
  /METHOD=ENTER uv1.

!DOEND . 

OMSEND .

!enddefine.

!impute .
drfg2008
Generalist
Beiträge: 1733
Registriert: 11.03.2010, 22:28

Beitrag von Generalist »

Die Güte Deiner Simulation kann ich leider nicht beurteilen. Meine wiedergegebenen Ansichten beziehe ich aus der einschlägigen Literatur.
drfg2008
Beiträge: 2391
Registriert: 06.02.2011, 19:58

RE

Beitrag von drfg2008 »

also mir ist bislang keine Literatur bekannt, die die Substitution durch Lagemaße so negativ bewertet. Daher meine Bitte um Literatur.

Hot Deck hat ja meiner Kenntnis nach das Problem, dass die Ausgangsvoraussetzung vieler Verfahren, nämlich die der iiid- Verteilung damit nicht mehr erfüllt ist (Korrelation zwischen den Fällen.

@mika:
Gleichzeitig halte ich es allerdings für sinnvoll, den eventuellen Effekt dieser Missing-Fälle zu kontrollieren.
Im Rahmen der Regression würde es eigentlich keinen Sinn machen, den Effekt dadurch zu kontrollieren, dass imputierte Werte mit einer Dummy-Codierung als Kontrollvariable ins Modell integriert werden, da die Imputation durch Lageparameter über die gesamten Daten (!) nur dann Sinn macht, wenn eben keine systematischen Ausfälle vorliegen (missing completely at random (MCAR)) und dann auch die Dummy-Variable keinen signifikanten Einfluss aufweisen kann (was hier bei den Simulationen auch nicht der Fall ist). Es wäre unter diesen Umständen also nichts zu kontrollieren.

Sollten systematische Ausfälle vorliegen, wäre die Imputation über Lagemaße, die über die Gesamtheit der Fälle berechnet werden, ohnehin nicht sinnvoll. Dann müsste über (nicht zu kleine) selektierte Untergruppen der Wert geschätzt werden. Dafür gibt es verschiedene Verfahren. Problematisch ist im Rahmen der induktiven Analyse, dass man nie genau weiß, ob systematische Ausfälle vorliegen. Eine positive Bestätigung eines unsystematischen Ausfallmechanismus ist nur in Sonderfällen und dann auch nur mit externem Wissen über die Verteilung der Missing Values möglich [1].

Im mehrdimensionalen Fall bieten sich dann Rasch-Modelle an, wie sie auch in der PISA-Studie eingesetzt werden. Allerdings sind diese Verfahren auch sehr umstritten, gerade weil sie so extensiv genutzt wurden.

Gruß

[1] http://www.runte.de/matthias/publicatio ... values.pdf
drfg2008
jake2042
Beiträge: 27
Registriert: 21.05.2011, 14:54

Re: Umgang mit Missing-Fällen

Beitrag von jake2042 »

Hallo drfg2008,

zu Deinen Simulationen: Du hast die ja, wie Du selbst schreibst, mit normalverteilten Zufallsvariablen gemacht. Nun schreibt mika:
»Im Rahmen einer Regressionsanalyse möchte ich eine Variable einbeziehen, die das Haushaltseinkommen wiedergibt.«
Es geht also darum, bei einer Variablen, die die Einkommensverteilung der befragten Personen wiedergibt, die fehlenden Werte durch irgendeinen geschätzten Wert zu ersetzen. Dieser geschätzte Wert sollte dann das arithmetische Mittel der Einkommensverteilung sein. Jetzt kenne ich mikas Daten nicht, aber meiner Erfahrung nach sind gerade Einkommens- und Vermögensverteilungen nicht normalverteilt (wie Deine Zufallsvariablen), sondern stark linkssteil bzw. rechtsschief. [1] Bei solchen Verteilungen ist das arithmetische Mittel eigentlich immer zu hoch, weil es von den wenigen Werten auf der rechten Seite der Verteilung angezogen wird wie ein Magnet.

Also würde mich interessieren, welche Ergebnisse Du bekommst, wenn Du die Simulationen mit stark rechtsschiefen Verteilungen wiederholst und zwar einmal mit dem arithmetischen Mittel, dann mit dem Median und schließlich mit einem arithmetischen Mittel bei dessen Berechnung die reichen und ganz reichen Haushalte [2] ausgeschlossen werden. (Vielleicht kannst Du dann auch die Simulation für die Ersetzung durch lineare Regression wiederholen.)

Viele Grüße
jake2042

Anmerkungen

[1]
Links ist die Eiger-Nordwand, rechts die lange schiefe Ebene. Mit anderen Worten: Viele verdienen wenig und wenige verdienen viel. Siehe dazu auch:
http://de.wikipedia.org/wiki/Schiefe_%28Statistik%29
http://viles.uni-oldenburg.de/navtest/v ... p3?print=1
Zur Einommensverteilung in der Bundesrepublik vgl. Abbildung III auf der folgenden Webseite:
http://www-user.tu-chemnitz.de/~gropp/uni/hausi.htm
Nur die Abbildung:
http://www-user.tu-chemnitz.de/~gropp/uni/Sozial-2.jpg
bzw. Geißler 1996:57, Abbildung 3.7: Verteilung der Haushaltsnettoeinkommen (Westdeutschland 1993)

[2]
Dazu müsste eine Grenze festgelegt werden, welche Haushalte als »reich« gelten. Das ist etwas willkürlich.

Literatur

Geißler, Rainer, (2)1996: Die Sozialstruktur Deutschlands. Zur gesellschaftlichen Entwicklung mit einer Zwischenbilanz zur Vereinigung. Bonn: Bundeszentrale für politische Bildung
Generalist
Beiträge: 1733
Registriert: 11.03.2010, 22:28

Beitrag von Generalist »

Zur Literatur: nie anderes gelesen als schwere Bedenken. Zuletzt mal Howell, Kurzfassung http://www.uvm.edu/~dhowell/StatPages/M ... ssing.html und Schlomer et al., http://www.psychologymatters.org/pubs/j ... 57-1-1.pdf . Die 20% Grenze für geringeren Schaden ist ja soweit auch bekannt und verbreitet.
drfg2008
Beiträge: 2391
Registriert: 06.02.2011, 19:58

re

Beitrag von drfg2008 »

Sicherlich ist hier nicht die richtig Plattform für diese interessante Frage. Dennoch, bei den beiden Artikeln von David C. Howell und Gabriel L. Schlomer, Sheri Bauman, and Noel A. Card fällt auf, dass die Beispiele auf sehr keinen Samples gründen (Howell zitiert Cohen mit N=62 und Schlomer et. al. 60 Fälle –S.6). Obwohl Cohen offensichtlich feststellt, dass der b-Koeffizient sich durch Mittelwert-Imputation in seinem Beispiel nicht (!) ändert und der Standardfehler ebenfalls kaum (was dem hier vorliegenden Simulationsbeispiel auch entspricht), lässt sich mit derart kleinen Samples eigentlich die Sache kaum beurteilen. Die Python-Simulation basiert auf beliebig großen Samples (hier 100.000). Problematisch scheint die Mittelwert-Imputation dann zu sein, wenn der Mittelwert für die Verteilung nicht erwartungstreu ist und wenn die Daten nicht MCAR sind. Dem lässt sich jedoch begegnen, indem die ZV über Box-Cox N~ transformiert werden und Subgroups über geeignete Klassifikationsverfahren identifiziert werden und nur für diese Gruppen mit Mittelwert-Imputation gearbeitet wird. Was mir allerdings auffiel ist die Bemerkung, dass der Standardfehler bei Imputation (immer?) zu klein geschätzt werden würde:
The overall mean, with or without replacing my missing data, will be the same. In addition, such a process leads to an underestimate of error. (…) Notice that using mean substitution makes only a trivial change in the correlation coefficient and no change in the regression coefficient. But the st. err (b) is noticeably smaller using mean substitution. That should not be surprising. We have really added no new information to the data but we have increased the sample size. The effect of increasing the sample size is to increase the denominator for computing the standard error, thus reducing the standard error. Adding no new information certainly should not make you more comfortable with the result, but this would seem to. The reduction is spurious and should be avoided--as we'll see below. (Howell)
Wenn allerdings im oben dargestellten Regressionsmodell die AV vollständig und nur die UV fehlende Werte aufweist, dann ergibt sich ein entgegen gesetzter (!) Zusammenhang: je mehr Daten imputiert werden, desto größer der Standardfehler. Dass Howell nach Cohen (2003) hier einen geringfügig kleineren Standardfehler berichtet, gründet eventuell auf den Schwankungen kleiner Stichproben (N=69) sowie der Vergrößerung um die imputierten Fälle (was bei kleinen Stichproben besonders zum Tragen kommt).

http://frag-einen-statistiker.de/vergleichsrechnung.xls

Kommentar willkommen.

Gruß
drfg2008
Anzeige:Statistik und SPSS: Die besten Bücher
Als Buch oder E-Book - Jetzt bestellen
spss datenanalyse
SPSS - Moderne Datenanalyse - Jetzt bestellen!
statistik datenanalyse
Statistik - Der Weg zur Datenanalyse - Jetzt bestellen!
Antworten