hallo!
ich hab gerade ein großes problem:
ich wollte aus mehreren variablen einen index bilden, indem ich über "transformieren-berechnen" diese variablen zusammengezählt habe. allerdings bekomme ich kein ergebnis. nur einen punkt, also funktioniert da irgendwas nicht. ich brauche mehrere solche indizes und bei manchen kommt ein ergebnis, bei anderen nicht. ich habe bemerkt, dass bei jenen summen, die das programm nicht ausrechnet bei den variablen missing values vorkommen. diese sind bei allen variablen mit 999 definiert.
warum kann das nicht ausgerechnet werden? kann es sein, dass das programm ab einem bestimmten prozentsatz missing data keine ergebnisse mehr ausrechnet? wie kann man das umgehen?
ich hab zum beispiel
variable 1 + variable 2 + variable 3 + variable 4. und wenn bei V3 999 drin steht, bei den anderen schon ein wert, dann rechnet mir das programm keine summe aus. das ist doch total bescheuert.
es geht um meine diplomarbeit und es wäre wirklich verdammt wichtig, dass ich diese summen bilden kann. hat irgendjemand vielleicht eine lösung parat? bitte! ich bin verzweifelt.
index-bildung funktioniert nicht wegen missing values
-
- Beiträge: 1
- Registriert: 08.08.2007, 11:53
-
- Beiträge: 67
- Registriert: 17.01.2007, 18:15
Hallo,
das ist ein völlig richtiges Vorgehen bei SPSS, du hast nur das Problem, dass bei manchen Indizes kein einziger Befragter alle Fragen beantwortet hat. Das hat auch nichts mit einem Prozentsatz zu tun. Wenn auch nur eine Variable in deiner Variablenliste keinen gültigen Wert hat, wird kein Summenindex für diesen Fall berechnet.
Würden trotzdem Summen berechnet, hättest du ein Interpretationsproblem. Ein Befragter, der alle Fragen beantwortet hat, kann grundsätzlich einen höheren Wert erreichen, als jemand der z.B. nur eine Frage beantwortet hat. Du weißt also nicht, ob jemand z.B. einen fiktiven Wert 4 erhalten hat, weil er in vier Variablen jeweils den Wert 1 hatte, oder ob der Befragte nur eine Frage beantwortet hat, in der er eben den Wert 4 hat, zudem wüsstest du nicht, welche Frage beantwortet wurde. Du hättest also zwei Probleme, die Höhe des Indexwertes wäre nicht interpretierbar und die inhaltliche Aussage des Index wäre nicht klar.
Beim Umgang mit solchen Problemen gibt es die Möglichkeit, fehlende Werte durch gültige Werte zu ersetzen. Um die Auswertung dadurch nicht zu stark zu verfälschen, sollte man das arithmetische Mittel verwenden. Normalerweise sollte man davon die Finger lassen, denn du greifst hier willkürlich in die Daten ein. Aber da du unbedingt diese Indices benötigst, wird dir wohl nichts anderes übrigbleiben. Du kannst das bei SPSS unter „Transformieren/Fehlende Werte ersetzen“ einstellen.
Noch ein Tipp: Da es immerhin um deine Diplomarbeit geht, spreche dieses Vorgehen unbedingt mit deinem Betreuer ab.
Gruß, Volker
das ist ein völlig richtiges Vorgehen bei SPSS, du hast nur das Problem, dass bei manchen Indizes kein einziger Befragter alle Fragen beantwortet hat. Das hat auch nichts mit einem Prozentsatz zu tun. Wenn auch nur eine Variable in deiner Variablenliste keinen gültigen Wert hat, wird kein Summenindex für diesen Fall berechnet.
Würden trotzdem Summen berechnet, hättest du ein Interpretationsproblem. Ein Befragter, der alle Fragen beantwortet hat, kann grundsätzlich einen höheren Wert erreichen, als jemand der z.B. nur eine Frage beantwortet hat. Du weißt also nicht, ob jemand z.B. einen fiktiven Wert 4 erhalten hat, weil er in vier Variablen jeweils den Wert 1 hatte, oder ob der Befragte nur eine Frage beantwortet hat, in der er eben den Wert 4 hat, zudem wüsstest du nicht, welche Frage beantwortet wurde. Du hättest also zwei Probleme, die Höhe des Indexwertes wäre nicht interpretierbar und die inhaltliche Aussage des Index wäre nicht klar.
Beim Umgang mit solchen Problemen gibt es die Möglichkeit, fehlende Werte durch gültige Werte zu ersetzen. Um die Auswertung dadurch nicht zu stark zu verfälschen, sollte man das arithmetische Mittel verwenden. Normalerweise sollte man davon die Finger lassen, denn du greifst hier willkürlich in die Daten ein. Aber da du unbedingt diese Indices benötigst, wird dir wohl nichts anderes übrigbleiben. Du kannst das bei SPSS unter „Transformieren/Fehlende Werte ersetzen“ einstellen.
Noch ein Tipp: Da es immerhin um deine Diplomarbeit geht, spreche dieses Vorgehen unbedingt mit deinem Betreuer ab.
Gruß, Volker
-
- Beiträge: 146
- Registriert: 14.12.2006, 18:41
Das stimmt zwar, aber das Interpretationsproblem besteht ja zu einem gewissen grad sowieso, denn es lässt sich nie erkenne ob ein Wert 8 beispielsweise durch 2 * Angabe 4 oder 4 * Angabe 2 zu Stande gekommen ist. Ob ein Index trotz durch Missings bedingte unterschiedliche Maximalwerte interpretierbar ist hängt vom Skalenniveau und der inhaltlichen Begründung ab - z.B. wäre es durchaus möglich einen Index "Gesamtausgaben" zu interpretieren, wenn die Einzelvariablen etwa "Ausgaben für Kleidung", "Ausgaben für Nahrung" etc. wären, und bei einigen Ausgabenarten keine Angaben/keien Ausgaben vorlägen.
Kann man die Berechnung eines solchen Indexes trotz fehlender Werte THEORETISCH rechtfertigen, kann man das Problem umgehen indem man die Berechnungen durch IF-Anweisungen bedingt durchführt:
COMPUTE index = v1 + v2 + v3 + v4.
EXECUTE.
IF v1 = 999 index = v2 + v3 + v4.
IF v2 = 999 index = v1 + v3 + v4.
etc.
Kann man die Berechnung eines solchen Indexes trotz fehlender Werte THEORETISCH rechtfertigen, kann man das Problem umgehen indem man die Berechnungen durch IF-Anweisungen bedingt durchführt:
COMPUTE index = v1 + v2 + v3 + v4.
EXECUTE.
IF v1 = 999 index = v2 + v3 + v4.
IF v2 = 999 index = v1 + v3 + v4.
etc.
"Life is 10% effort and 90% lucky timing"
Scott Adams
Scott Adams
-
- Beiträge: 67
- Registriert: 17.01.2007, 18:15
Hallo Jack,
zum Teil kann ich dir Zustimmen, zum Teil nicht. Ein Interpretationsproblem hat man nicht sowieso. Ein Interpretationsproblem hat man nur dann, wenn man die Berechnung eines Index auf der Grundlage unterschiedlich vieler Variablen zulässt. Müssen alle Variablen gültige Werte aufweisen, lässt man also keine Missings zu, ist die Interpretation klar. Vorausgesetzt, der Index wird sinnvoll gebildet, aber dass sei hier einfach mal gesetzt.
Das Problem kann mehr oder weniger groß sein, je nachdem, wie viele Variablen mit ungültigen Werten man für die Indexbildung akzeptiert. Da kann ich dir zustimmen. In folgender Syntax wird z.B. zugelassen, dass nur bei drei von vier Variablen ein gültiger Wert vorliegen muss, zudem wird das arithmetische Mittel über die gültigen Werte berechnet:
Compute Index1 = Mean.3(v1, v2, v3, v4).
exe.
Bei folgender Syntax muss sogar nur ein gültiger Wert in vier Variablen vorliegen:
Compute Index2 = Mean(v1, v2, v3, v4).
exe.
Haben die Indices zudem alle dieselbe Skalenbreite, was ja so sein sollte, gibt es auch kein Problem mit unterschiedlichen Ober- und Untergrenzen. Die Grenzen sind in so einem Fall exakt definiert, zumindest bei ungewichteten Indices. Oder meintest du etwas anderes?
Deinen Hinweis darauf, dass der Index theoretisch sinnvoll gebildet werden muss, finde ich auch hilfreich. Bevor es an die Indexbildung geht, sollte man sorgsam modellieren. Das wird oft vergessen. Ist es z.B. wirklich nötig, den Index auf der Grundlage von vier Variablen zu bilden, oder reichen nicht drei dafür aus? Vor allem wenn sich herausstellen sollte, dass sich die Missings besonders in einer Variable befinden, kann man diese eventuell weglassen.
Auch bei der Datencodierung sollte man sorgsam vorgehen. Dein Beispiel beim Index „Gesamtausgaben“ ist hier wieder hilfreich. Wenn man keine Ausgaben hat, kann auch kein positiver Wert angegeben werden, man kann dies aber mit einer 0 codieren, die dann inhaltlich sinnvoll und gültig ist. Wenn man aber mit 999 codiert und dies dann als Missing setzt, würde ich das für einen Codierfehler halten. Den Codeplan zu überprüfen, ist auch hier sinnvoll.
Ich denke, bei einer guten Modellierung und einem guten Codeplan kann man viele Probleme im Vorfeld der Analyse bereits vermeiden. Gerade deswegen bleibe ich dabei, Indices die auf der Grundlage unterschiedlich vieler Variablen und eventuell sogar unterschiedlicher Skalenbreite gebildet werden, sind prinzipiell nicht interpretierbar. Besser ordentlich modellieren und Codieren.
Gruß, Volker
zum Teil kann ich dir Zustimmen, zum Teil nicht. Ein Interpretationsproblem hat man nicht sowieso. Ein Interpretationsproblem hat man nur dann, wenn man die Berechnung eines Index auf der Grundlage unterschiedlich vieler Variablen zulässt. Müssen alle Variablen gültige Werte aufweisen, lässt man also keine Missings zu, ist die Interpretation klar. Vorausgesetzt, der Index wird sinnvoll gebildet, aber dass sei hier einfach mal gesetzt.
Das Problem kann mehr oder weniger groß sein, je nachdem, wie viele Variablen mit ungültigen Werten man für die Indexbildung akzeptiert. Da kann ich dir zustimmen. In folgender Syntax wird z.B. zugelassen, dass nur bei drei von vier Variablen ein gültiger Wert vorliegen muss, zudem wird das arithmetische Mittel über die gültigen Werte berechnet:
Compute Index1 = Mean.3(v1, v2, v3, v4).
exe.
Bei folgender Syntax muss sogar nur ein gültiger Wert in vier Variablen vorliegen:
Compute Index2 = Mean(v1, v2, v3, v4).
exe.
Haben die Indices zudem alle dieselbe Skalenbreite, was ja so sein sollte, gibt es auch kein Problem mit unterschiedlichen Ober- und Untergrenzen. Die Grenzen sind in so einem Fall exakt definiert, zumindest bei ungewichteten Indices. Oder meintest du etwas anderes?
Deinen Hinweis darauf, dass der Index theoretisch sinnvoll gebildet werden muss, finde ich auch hilfreich. Bevor es an die Indexbildung geht, sollte man sorgsam modellieren. Das wird oft vergessen. Ist es z.B. wirklich nötig, den Index auf der Grundlage von vier Variablen zu bilden, oder reichen nicht drei dafür aus? Vor allem wenn sich herausstellen sollte, dass sich die Missings besonders in einer Variable befinden, kann man diese eventuell weglassen.
Auch bei der Datencodierung sollte man sorgsam vorgehen. Dein Beispiel beim Index „Gesamtausgaben“ ist hier wieder hilfreich. Wenn man keine Ausgaben hat, kann auch kein positiver Wert angegeben werden, man kann dies aber mit einer 0 codieren, die dann inhaltlich sinnvoll und gültig ist. Wenn man aber mit 999 codiert und dies dann als Missing setzt, würde ich das für einen Codierfehler halten. Den Codeplan zu überprüfen, ist auch hier sinnvoll.
Ich denke, bei einer guten Modellierung und einem guten Codeplan kann man viele Probleme im Vorfeld der Analyse bereits vermeiden. Gerade deswegen bleibe ich dabei, Indices die auf der Grundlage unterschiedlich vieler Variablen und eventuell sogar unterschiedlicher Skalenbreite gebildet werden, sind prinzipiell nicht interpretierbar. Besser ordentlich modellieren und Codieren.
Gruß, Volker
-
- Beiträge: 146
- Registriert: 14.12.2006, 18:41
Du hast natürlich mit allem Recht. Was ich mit dem grundsätzlichen Interpretationsproblem meinte ist, dass auch bei einem korrekt gebildeten (gleiche Skalenbreite, keine Missings) Index dieser keine (oder nur noch eingeschränkt eine) Interpretation über die Ursprungsverteilung erlaubt: Hat man vier Ausgangsvariablen mit den Werten 1-4 kann ein Indexwert 8 durch 4 x dn Wert 2, aber auch durch 2 x 3 und 2 x 1 zustandegekommen sein (ich bezog mich damit auf dein Beispiel mit dem 4 x 1 oder 1 x4 - mein Beispiel war natürlich in dem Zusammenhang falsch). Ob das irgendwie problematisch ist (letztlich lässt sich das ja nicht vermeiden) hängt eben von der theoretischen Definition ab, darauf wollte ich vor allem hinaus (da sind wir uns ja auch einig ).
Was zum Beispiel natürlich nicht geht, ist Indices auf der Grundlage unterschiedlicher Variablenanzahlen durch Division zu standardisieren...
Was zum Beispiel natürlich nicht geht, ist Indices auf der Grundlage unterschiedlicher Variablenanzahlen durch Division zu standardisieren...
"Life is 10% effort and 90% lucky timing"
Scott Adams
Scott Adams