Ausreißer automatisch erkennen und durch Mittelwert ersetzen

Alles rund um SPSS Syntax und Programmierung.

Ausreißer automatisch erkennen und durch Mittelwert ersetzen

Beitragvon Christiane Julia » Mo 24. Okt 2016, 19:34

Hallo ihr Lieben,

ich habe mir -jeweils nach meinen beiden Gruppen (Experimental- vs. Kontrollgruppe) getrennt- die Boxplots zu meinen Variablen angeschaut. Dabei sind mir Ausreißer aufgefallen, die ich durch die Variablenmittelwerte ersetzen will. Dafür möchte ich eine Syntax schreiben, mit der ich aber im Moment nicht weiter komme und bei der mir bisher keiner helfen konnte.

Mein Ansatz wäre folgender.
Es werden Ausreißer, die zwischen 1,5×interquartile range (IQR) und 3×IQR liegen, als „milde“ Ausreißer bezeichnet und Werte,
die über 3×IQR liegen, als „extreme“ Ausreißer. Diese werden von SPSS im Boxplot unterschiedlich gekennzeichnet (Kreis = „milde“ und Stern = „extreme“ Ausreißer).
Ich möchte diejenigen Fälle, die mehr als 1,5xIQR vom Median entfernt liegen, also alle milden und extremen Ausreißer, durch den Mittelwert dieser Variable ersetzen. Manuell ist das nicht möglich (ich habe mehr als 200 Variablen und 42 Fälle). Eine richtige Lösung habe ich bisher noch nicht, da ich mit meinem Ansatz nicht weiter komme. Dieser sieht wie folgt aus:

* Syntax (Beispiel mit der Variable „CSplus_0", also die Häufigkeit der CSplus-Bewegungen in Block 0):

IF ( CSplus_0 > (MEDIAN(CSplus_0) + (1,5 * Interquartilsabstand_Var)) ) CSplus_0 = MEAN(CSplus_0).
IF (CSplus_0 < (MEDIAN(CSplus_0) - (1,5 * Interquartilsabstand_Var)) ) CSplus_0 = MEAN(CSplus_0).

Mein Problem: Ich muss „Interquartilabstand_Var" (der IQR dieser Variable) definieren, es gibt aber keinen Befehl wie „MEDIAN()“ oder „MEAN()“. Und ich muss „CSplus_0“ durch alle Variablennamen ersetzen, sodass alle Variablen vom Programm „abgearbeitet“ werden.

Habt Ihr eine Idee?

Ich würde mich sehr über Hilfe freuen!

Liebe Grüße
Chrissy
Christiane Julia
 
Beiträge: 2
Registriert: Mo 24. Okt 2016, 19:26
Danke gegeben: 0
Danke bekommen: 0 mal in 0 Post

Re: Ausreißer automatisch erkennen und durch Mittelwert erse

Beitragvon ponderstibbons » Mo 24. Okt 2016, 19:39

ich habe mir -jeweils nach meinen beiden Gruppen (Experimental- vs. Kontrollgruppe) getrennt- die Boxplots zu meinen Variablen angeschaut. Dabei sind mir Ausreißer aufgefallen, die ich durch die Variablenmittelwerte ersetzen will.

Um Himmels Willen. Wieso willst Du Daten manipulieren, was ist an sogenannten "Ausreißern denn so schlimm? Und dann willst Du Daten, die markant vom Schwerpunkt der Verteilung abweichen, ausgerechnet durch den Mittelwert ersetzen - welchen Hintergrund hat das, was willst Du damit erreichen?

Mit freundlichen Grüßen

PonderStibbons
ponderstibbons
 
Beiträge: 2523
Registriert: Sa 1. Okt 2011, 17:20
Danke gegeben: 2
Danke bekommen: 257 mal in 256 Posts

Re: Ausreißer automatisch erkennen und durch Mittelwert erse

Beitragvon Christiane Julia » Di 25. Okt 2016, 20:53

Das ist ein gängiges Verfahren, um Datensätze von Ausreißern zu befreien ohne sich "etwas auszudenken", also ohne einfach planlos Werte rauszustreichen / zu ersetzen - denn extreme Ausreißer verfälschen den Datensatz und die Methode, sie durch den Mittelwert zu ersetzen, ist eine gute Variante, um mit reliablen Daten zu arbeiten (siehe zum Beispiel das Statistikbuch "Lehrbuch Statistik- Einstieg und Vertiefung" von Leonhart oder Discovering Statistics Using SPSS, Andy Fields, 2013). Es ist auch kein manipulieren, da es in der Arbeit berichtet wird.
Christiane Julia
 
Beiträge: 2
Registriert: Mo 24. Okt 2016, 19:26
Danke gegeben: 0
Danke bekommen: 0 mal in 0 Post

Re: Ausreißer automatisch erkennen und durch Mittelwert erse

Beitragvon ponderstibbons » Mi 26. Okt 2016, 09:05

Das ist ein gängiges Verfahren, um Datensätze von Ausreißern zu befreien ohne sich "etwas auszudenken",

Wo ist das denn gängig, mir persönlich wäre das neu.
also ohne einfach planlos Werte rauszustreichen / zu ersetzen - denn extreme Ausreißer verfälschen den Datensatz und die Methode, sie durch den Mittelwert zu ersetzen, ist eine gute Variante, um mit reliablen Daten zu arbeiten (siehe zum Beispiel das Statistikbuch "Lehrbuch Statistik- Einstieg und Vertiefung" von Leonhart oder Discovering Statistics Using SPSS, Andy Fields, 2013).

Das soll so bei Field stehen? http://www.statisticshell.com/docs/exploringdata.pdf
(Seite 16 oben) sagt was anderes. Und selbst die von ihm genannten Verfahren
sollte man nur gut begründet einsetzen.

Und Leonhard scheint ebenfalls anderer Ansicht in Sachen Verfahren zu sein
https://portal.hogrefe.com/dorsch/winsorisieren/ , zusätzlich wird auch gleich
auf die Probleme bei der Veränderung der Daten hingewiesen.

Mittelwert-Ersetzung jedenfalls ist kein sinnvolles Verfahren, weil es die Varianz
vermindert, ohne das dies begründet wäre. Und das gilt bereits bei zufällig fehlenden
und ersetzten Werten. Ersetzt man nun aber sogar die besonders stark vom
Mittelwert abweichenden Werte eben durch den Mittelwert, wird es widersinnig.

Es ist auch kein manipulieren, da es in der Arbeit berichtet wird.

Berichtete Manipuation bleibt Manipulation. Ausreißer "verfälschen" keine Mittelwerte,
sofern es sich nicht um fehlerhafte Daten handelt. Was konkret stört Dich in Deiner
Studie und Datenanalyse an der Existenz besonders hoher bzw. niedriger Werte?

Sind die "Ausreißer" eindeutig fehlerhafte Daten, wäre natürlich neu zu überlegen,
dann muss man sie ersetzen bzw. streichen. Aber mechanisch alle besonders hohen bzw.
niedrigen Werte bei 200 (!) Variablen (selbst wenn alles in Ordnung ist, werden bei so
vielen Variablen häufig "Ausreißer" vorkommen, rein aufgrund der Zufallsverteilung)
verändern zu lassen, wirkt nicht durchdacht.

In welchem Feld bewegt sich das, was sind das für Daten? Meine Frage bezog sich wie
gesagt darauf, was Du konkret erreichen willst. Je nach Ziel und Zweck wäre jeweils
ein anderer Umgang mit "Ausreißern" angebracht.

Mit freundlichen Grüßen

PonderStibbons
ponderstibbons
 
Beiträge: 2523
Registriert: Sa 1. Okt 2011, 17:20
Danke gegeben: 2
Danke bekommen: 257 mal in 256 Posts


Zurück zu SPSS Syntax

Wer ist online?

Mitglieder in diesem Forum: Google [Bot] und 2 Gäste

cron