Normalverteilung Faktorenanalyse

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
unknown
Beiträge: 6
Registriert: 01.03.2013, 15:09

Normalverteilung Faktorenanalyse

Beitrag von unknown »

Hallo,

ich hoffe es findet sich jemand der mir helfen kann.
Und zwar möchte ich eine Faktorenanalyse durchführen. Die Werte der Variablen sind jedoch stark linksschief, also nicht normalverteilt. Das liegt aber daran, dass die Grundgesamtheit sehr speziell ist. Ich untersuche Kaufmotive von Kunden einer bestimmten Fahrzeugmarke. Es ist dabei nicht davon auszugehen, dass die Wichtigkeit der Kaufmotive normalverteilt ist.

Was heißt das für die Faktorenanalyse?
Kann ich keine durchführen wegen der nicht normalverteilten Daten? Ist dann vielleicht die ML Faktorenanalyse (statt der Hauptkomponentenanalyse) ein Ausweg? Ich hatte irgendwo gelesen, dass sie robuster ist.

Oder sind die nicht normalverteilten Variablen gar kein Problem?

Ich bin euch für jede Antwort dankbar!
drfg2008
Beiträge: 2391
Registriert: 06.02.2011, 19:58

re

Beitrag von drfg2008 »

Das dürfte eher eine untergeordnete Rolle spielen.

Es würde die Möglichkeit der N~Transformation geben. Schlittgen (Einführung in die Statistik ... ) stellt Transformationsregeln für unterschiedliche Schiefen (links - rechts) vor. Dann gibt es noch jede Menge weiterer Transformationen (Box-Cox) etc.

SPSS bietet auch eine Normalrangtransformation an. Eine recht einfache Lösung.

Code: Alles auswählen

RANK VARIABLES=VAR00001 (A)
  /NORMAL
  /PRINT=YES
  /TIES=MEAN
  /FRACTION=BLOM.

Literatur:

Schlittgen
http://www.amazon.de/exec/obidos/ASIN/3 ... ikforum-21

Hartung (müsste auch etwas stehen)
http://www.amazon.de/exec/obidos/ASIN/3 ... ikforum-21
drfg2008
unknown
Beiträge: 6
Registriert: 01.03.2013, 15:09

Beitrag von unknown »

Vielen Dank erstmal für deine Hilfe. Leider habe ich die Daten im Moment nicht da, um es gleich auszutesten. Ich werde es aber so bald wie möglch versuchen. Ich muss aber sagen, dass ich schon einige Transformationen ausprobiert habe (quadriert, logarithmiert...) und nichts geholfen hat. Das Buch werde ich mir aber trotzdem genauer anschauen.

Aber wenn schlussendlich trotzdem nichts hilft, macht es Sinn die Daten so zu verwenden wie sie sind oder ist die Interpretation der Ergebnisse dann sowieso sinnlos?
drfg2008
Beiträge: 2391
Registriert: 06.02.2011, 19:58

re

Beitrag von drfg2008 »

Logarithmieren = Linearität aber nicht N~Vtlg.
Quadrieren wäre mir in diesem Zusammenhang überhaupt nicht bekannt.

Die Normalrangtransformation ist in manchen Fällen sehr interessant, sie folgendes Beispiel:

Code: Alles auswählen

*

input program.
loop a =1 to 1000 by 1.
end case.
end loop. 
end file.
end input program.
EXECUTE.

COMMENT Extrem schiefe Verteilung.

COMPUTE exponentialZV = RV.EXP(12).
EXECUTE.

GRAPH  /HISTOGRAM(NORMAL)=exponentialZV.

RANK VARIABLES=exponentialZV (A)
  /NORMAL
  /PRINT=NO
  /TIES=MEAN
  /FRACTION=BLOM.

NPAR TESTS
  /K-S(NORMAL)=exponentialZV Nexponen
  /MISSING ANALYSIS.

FREQUENCIES VARIABLES=exponentialZV Nexponen
  /FORMAT=NOTABLE
  /HISTOGRAM NORMAL
  /ORDER=ANALYSIS.

PPLOT
  /VARIABLES=exponentialZV Nexponen
  /NOLOG
  /NOSTANDARDIZE
  /TYPE=Q-Q
  /FRACTION=BLOM
  /TIES=MEAN
  /DIST=NORMAL.

*
Besser geht's kaum.
drfg2008
unknown
Beiträge: 6
Registriert: 01.03.2013, 15:09

Beitrag von unknown »

Wow, vielen Dank!
Aber ich muss jetzt leider doch nochmal nachfragen. Leider klappt es bei mir nämlich nicht.

mit
"COMPUTE exponentialZV = RV.EXP(12).
EXECUTE."
erstellt du einfach nur eine extrem schiefe Verteilung, richtig?
Ich müsste doch einfach nur im weiteren Verlauf "exponential ZV" durch meine Variable ersetzen, oder?

Dann klappt es nämlich leider nicht. Könnte es daran liegen, dass ich nur 5 Ausprägungen habe und sich die meißten Antworten auf die zwei größten ausprägungen beschränken?

Vielen, vielen Dank nochmal für deine Hilfe!
drfg2008
Beiträge: 2391
Registriert: 06.02.2011, 19:58

re

Beitrag von drfg2008 »

Dieser Syntaxteil erzeugt nur eine exponentialverteilte Zufallsvariable:

Code: Alles auswählen

input program.
loop a =1 to 1000 by 1.
end case.
end loop.
end file.
end input program.
EXECUTE.

COMMENT Extrem schiefe Verteilung.

COMPUTE exponentialZV = RV.EXP(12).
EXECUTE. 
Die eigentliche Rangtransformation wird mit diesem Befehl erreicht:

Code: Alles auswählen


RANK VARIABLES=exponentialZV (A)
  /NORMAL
  /PRINT=NO
  /TIES=MEAN
  /FRACTION=BLOM. 
Bei nur 5 Ausprägungen einer Skala wäre diese Transformation dann wohl weniger sinnvoll.
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