Hilfe bei Datenanalyse

Varianzanalyse, Diskriminanzanalyse, Kontingenzanalyse, Faktorenanalyse, Clusteranalyse, MDS, ....

Moderator: EDi

Antworten
Jazz
Beiträge: 4
Registriert: Sa Jan 02, 2021 8:36 pm

Hilfe bei Datenanalyse

Beitrag von Jazz »

Hallo,
ich möchte den Zusammenhang zwischen einer numerischen abhängigen Variable und zwei kategorischen unabhängigen Variablen analysieren.
Leider habe ich noch nicht allzu viel Erfahrung mit R, weshalb ich gerade etwas auf der Stelle trete.
Ich habe zuerst eine Varianzanalyse (aov) gemacht und bei beiden unabhängigen Variablen sowie bei der Interaktion dieser beiden Variablen ein signifikantes Ergebnis erhalten. Mit dem Ergebnis der Varianzanalyse habe ich dann den Shapiro-Test gemacht und ebenfalls ein signifikantes Ergebnis erhalten.
War der Shapiro-Test an dieser Stelle überhaupt richtig, oder muss ich einen anderen Test anwenden, um die Varianzhomogenität herauszufinden?
Wenn sich nun herausstellt, dass die Varianzen heterogen sind, was passiert dann? Darf ich dann überhaupt eine ANOVA machen?
Vielen Dank schon einmal für eure Hilfe und ganz liebe Grüße!
Jazz
bigben
Beiträge: 2771
Registriert: Mi Okt 12, 2016 9:09 am

Re: Hilfe bei Datenanalyse

Beitrag von bigben »

Hallo Jazz,
Jazz hat geschrieben: Sa Jan 02, 2021 8:53 pmLeider habe ich noch nicht allzu viel Erfahrung mit R, weshalb ich gerade etwas auf der Stelle trete.
Das ist überhaupt keine Frage zu R sondern eine Frage zur Varianzanalyse.
Ich habe zuerst eine Varianzanalyse (aov) gemacht und bei beiden unabhängigen Variablen sowie bei der Interaktion dieser beiden Variablen ein signifikantes Ergebnis erhalten.


Signifikant wie p = 0,049 oder wie p = 0,00000001 ? Das macht ja schon einen Unterschied, wenn man die Anwendbarkeit trotz wackeliger Voraussetzungen erfragt.
War der Shapiro-Test an dieser Stelle überhaupt richtig, oder muss ich einen anderen Test anwenden, um die Varianzhomogenität herauszufinden?
Der Shapiro-Wilk Test testet auf Normalverteilung, nicht auf Varianzhomogenität. Steht so beispielsweise in der Wikipedia aber auch im Output der Funktion shapiro.test:

Code: Alles auswählen

> shapiro.test(1:5)

	Shapiro-Wilk normality test

data:  1:5
W = 0.98676, p-value = 0.9672
Wenn sich nun herausstellt, dass die Varianzen heterogen sind, was passiert dann? Darf ich dann überhaupt eine ANOVA machen?
Die Robustheit der Varianzanalyse hängt vom Stichprobenumfang und davon ab, ob die Stichproben ähnliche oder unähnliche Umfänge haben. Zu Deinen (Teil-)Stichprobenumfängen hast Du aber nichts gesagt.

Der einfachste Ausweg wäre von ein Kruskal-Wallis-Test, falls es keine Messwiederholungen oder anders verbundenen Stichproben gibt.

HTH,
Bernhard
---
Programmiere stets so, dass die Maxime Deines Programmierstils Grundlage allgemeiner Gesetzgebung sein könnte
Benutzeravatar
EDi
Beiträge: 1599
Registriert: Sa Okt 08, 2016 3:39 pm

Re: Hilfe bei Datenanalyse

Beitrag von EDi »

War der Shapiro-Test an dieser Stelle überhaupt richtig, oder muss ich einen anderen Test anwenden, um die Varianzhomogenität herauszufinden?
Wenn überhaupt, dann den shapiro auf die Residuen anwenden um die Normalitätsannahme zu prüfen. Ein histogramm der Residuen tut's aber genauso gut.

Die Varianzhomogentität kann man auch graphisch mit den Residuen prüfen - einfach ein plot fitted vs residuals. Man sollte keine Muster erkennen können (wie ein Sternenhimmel). Wenn's unbedingt ein Test sein soll, dann z.b. Levene .

Was tun wenn die Annahmen nicht passen?

Ignorieren ist eine Möglichleit :| Bei vielen Daten und starken Effekten (die selbst ein blinder mit einem Krückstock erkennen würde) kann man das machen.

Besser ist's aber das Modell anzupassen:

Varianzen unterschiedlich? Kein Problem, wieso nur eine Varianzparameter für all Gruppen haben, wenn man auch für jede Gruppe eine Varianz schätzen kann... Die Freiheitsgrade gehen halt runter, damit muss man leben (oder vorher schon in seinem Design eingeplant haben).

Normalität stimmt nicht? Vielleicht sind es ja Zähldaten, die können gar nicht normal sein wenn sie klein sind => mit GLMs kann man andere Verteilungen modellieren.
Bitte immer ein reproduzierbares Minimalbeispiel angeben. Meinungen gehören mir und geben nicht die meines Brötchengebers wieder.

Dieser Beitrag ist lizensiert unter einer CC BY 4.0 Lizenz
Bild.
Jazz
Beiträge: 4
Registriert: Sa Jan 02, 2021 8:36 pm

Re: Hilfe bei Datenanalyse

Beitrag von Jazz »

Hallo Bernhard,

vielen Dank für deine Antwort! :)

Die p-Werte bei der ANOVA sind alle drei deutlich signifikant (1.27e-12 ***, 4.58e-13 ***, 0.000249 ***).

Um die Voraussetzungen für die Varianzanalyse muss ich sowohl die Normalverteilung (der Residuen?) prüfen und die Varianzhomogenität, richtig?
Die Normalverteilung würde ich dann also mit dem Shapiro-Test überprüfen:

> shapiro.test(ergaov1$residuals)

Shapiro-Wilk normality test

data: ergaov1$residuals
W = 0.81539, p-value < 2.2e-16

Und könnte ich die Varianzhomogenität mit dem Levene-Test überprüfen? Habe das in Tutorials immer nur mit einer unabhängigen Variablen gefunden und bin mir nicht sicher, ob das also auch mit zwei uVs geht...

Bei der ANOVA habe ich ja jetzt erst die ANOVA selber gemacht und dann mit dem Ergebnis die Normalverteilung überprüft...ist diese Vorgehensweise überhaupt richtig, oder müssen die Voraussetzungen nicht davor anschauen?

Was meinen Datensatz angeht:
Ich habe insgesamt 2645 Beobachtungen. Die eine uV hat 15 Ausprägungen und die andere 2.
Ich hoffe, das ist die richtige Antwort auf die Frage nach dem Stichprobenumfang :roll:

Auf dieser Basis, wäre es demnach besser, den Kruskal-Wallis-Test durchzuführen?

Vielen Dank schon einmal für deine Hilfe!
Jazz :)
Jazz
Beiträge: 4
Registriert: Sa Jan 02, 2021 8:36 pm

Re: Hilfe bei Datenanalyse

Beitrag von Jazz »

Danke für deinen Post, Edi! :)
Besser ist's aber das Modell anzupassen:

Varianzen unterschiedlich? Kein Problem, wieso nur eine Varianzparameter für all Gruppen haben, wenn man auch für jede Gruppe eine Varianz schätzen kann... Die Freiheitsgrade gehen halt runter, damit muss man leben (oder vorher schon in seinem Design eingeplant haben).

Normalität stimmt nicht? Vielleicht sind es ja Zähldaten, die können gar nicht normal sein wenn sie klein sind => mit GLMs kann man andere Verteilungen modellieren.

Kannst du die beiden Punkte vielleicht etwas genauer erklären? Versteh' leider nicht ganz, was du damit meinst :roll:

Danke dir und schöne Grüße!
Jazz
bigben
Beiträge: 2771
Registriert: Mi Okt 12, 2016 9:09 am

Re: Hilfe bei Datenanalyse

Beitrag von bigben »

Hallo Jazz,

Jazz hat geschrieben: Sa Jan 02, 2021 11:35 pmDie p-Werte bei der ANOVA sind alle drei deutlich signifikant (1.27e-12 ***, 4.58e-13 ***, 0.000249 ***).
Bei 2600 Beobachtungen sind Normalverteilungsannahmen im Allgemeinen unbedeutend. Wenn dann auch noch die Stichprobenumfänge in den Gruppen ähnlich sind, dann kommt es auch auf die Varianzhomogenität nicht an. So niedrige p-Werte wird man Dir auch ohne alles weitere abnehmen. Die Frage ist, willst Du die Tests machen, weil sie inhaltlich sinnvoll sind, oder weil das Ritual an Deiner Hochschule gepflegt wird?
Ich persönlich würde mir zwar die Residuen noch anschauen, aber nichts weiter testen.

Code: Alles auswählen

> shapiro.test(ergaov1$residuals)

	Shapiro-Wilk normality test

data:  ergaov1$residuals
W = 0.81539, p-value < 2.2e-16
Der Fluch der großen Stichprobe. Da wird dann auf einmal allessignifikant, auch diese dämlichen Verteilungstests. Vergiss das. Wenn überhaupt, hilft ein Blick auf die Ergebnisse von

Code: Alles auswählen

qqnorm(ergaov$residuals); qqline(ergaov$residuals)



Und könnte ich die Varianzhomogenität mit dem Levene-Test überprüfen?

Brauchst Du nicht, wird bei n = 2650 wahrscheinlich ohnehin signifikant, ohne relevant zu sein.
Bei der ANOVA habe ich ja jetzt erst die ANOVA selber gemacht und dann mit dem Ergebnis die Normalverteilung überprüft...ist diese Vorgehensweise überhaupt richtig, oder müssen die Voraussetzungen nicht davor anschauen?
Es gibt da den traditionellen Zweig der Varianzanalyse und den der Regressionsanalyse mit etwa gleichwertigen Ergebnissen. Ich glaube, wir kommen hier alle eher aus der Regressionsecke und da finden wir es ganz normal, die Residuen zu analysieren, die man erst nachher hat.
Auf dieser Basis, wäre es demnach besser, den Kruskal-Wallis-Test durchzuführen?
Nein, ich würde der ANOVA auch so glauben. Es sei denn, Du bist durch Deine Hochschule gezwungen, die ganze Varianz- und Normalverteilungstesterei als Ritual zu betreiben. Ich glaube aber, ich habe einen Fehler gemacht und der Kruskal-Wallis Test ist wirklich nur für eine Gruppierungsvariable und nicht für zwei.
Kannst du die beiden Punkte vielleicht etwas genauer erklären? Versteh' leider nicht ganz, was du damit meinst
Darf ich einen Gegenvorschlag machen? Vielleicht erzählst Du mal, worum es eigentlich geht, welche Art von Daten das sind und was Du von diesen Daten eigentlich wissen willst. Vielleicht können wir Dir dann ja noch elegantere/ausgefeiltere Auswertungsvorschläge als eine zweifaktorielle ANOVA machen. Vielleicht entdecken wir bei einer gründlichen Schilderung des Problems auch noch Gegenargumente gegen die zweifaktorielle ANOVA, beispielsweise verbundene Stichproben.

LG,
Bernhard
---
Programmiere stets so, dass die Maxime Deines Programmierstils Grundlage allgemeiner Gesetzgebung sein könnte
Benutzeravatar
EDi
Beiträge: 1599
Registriert: Sa Okt 08, 2016 3:39 pm

Re: Hilfe bei Datenanalyse

Beitrag von EDi »

So langsam kommen stückchenweise mehr Details...

Bei so vielen Freiheitsgraden würde ich mir die p-Werte gar nicht anschauen, die sagen dir sowieso nicht viel.

Interessanter (ganz sicher auch in deiner Fachrichtung) sind die Effektgrößen.

Wenn etwas statistisch hoch-signifikant ist, heißt es noch lange nicht dass es auch fachlich signifikant ist (z.b. Steigerung der männlichen Potenz um 0.5 Promille ist vermutlich nicht so der Renner selbst wenn p<0.00000000000001).
Bitte immer ein reproduzierbares Minimalbeispiel angeben. Meinungen gehören mir und geben nicht die meines Brötchengebers wieder.

Dieser Beitrag ist lizensiert unter einer CC BY 4.0 Lizenz
Bild.
Jazz
Beiträge: 4
Registriert: Sa Jan 02, 2021 8:36 pm

Re: Hilfe bei Datenanalyse

Beitrag von Jazz »

Hallo Bernhard und Edi,

vielen Dank für eure Beiträge! :)

Ganz konkret geht es um folgende Fragestellung:
Ich habe die Daten vom Allbus 2018 und möchte herausfinden, ob es einen Zusammenhang zwischen den beiden (unabhängigen) Variablen Ausbildungsabschluss und Wohnort (West-Ost) mit der (abhängigen) Variablen Einkommen gibt. Meine H0 lautet also, dass es keinen Zusammenhang zwischen diesen Variablen gibt.

Auch wenn eine Überprüfung der Voraussetzungen bei einer so großen Anzahl an Beobachtungen überflüssig ist, so müsste ich sie der Vollständigkeit halber doch mit in die Analyse integrieren.
Brauchst Du nicht, wird bei n = 2650 wahrscheinlich ohnehin signifikant, ohne relevant zu sein.
Dürfte ich aber einen Levene-Test auch mit zwei uVs durchführen? Und falls ja, wäre der Code dann einfach leveneTest(y, x1,x2, data)?

Wenn mir die Test für die Überprüfung der Voraussetzungen signifikante Ergebnisse liefern, bedeutet dass, dass ich dann eigentlich keine zweifaktorielle ANOVA machen dürfte?
Es gibt da den traditionellen Zweig der Varianzanalyse und den der Regressionsanalyse mit etwa gleichwertigen Ergebnissen. Ich glaube, wir kommen hier alle eher aus der Regressionsecke und da finden wir es ganz normal, die Residuen zu analysieren, die man erst nachher hat.
Wie wäre denn die Vorgehensweise, wenn man die Residuen davor schon analysiert?
Interessanter (ganz sicher auch in deiner Fachrichtung) sind die Effektgrößen.
Welche Effektgrößen würden sich denn beider dieser Analyse anbieten? Eta-quadrat würde man ja bereits mit der ANOVA bekommen, oder?
Darf ich einen Gegenvorschlag machen? Vielleicht erzählst Du mal, worum es eigentlich geht, welche Art von Daten das sind und was Du von diesen Daten eigentlich wissen willst. Vielleicht können wir Dir dann ja noch elegantere/ausgefeiltere Auswertungsvorschläge als eine zweifaktorielle ANOVA machen. Vielleicht entdecken wir bei einer gründlichen Schilderung des Problems auch noch Gegenargumente gegen die zweifaktorielle ANOVA, beispielsweise verbundene Stichproben.
Hoffe, die obigen Infos bringen ein bisschen mehr Licht ins Dunkel und bringen uns der Lösung etwas näher :D

Liebe Grüße,
Jazz
bigben
Beiträge: 2771
Registriert: Mi Okt 12, 2016 9:09 am

Re: Hilfe bei Datenanalyse

Beitrag von bigben »

Hallo Jazz,
Jazz hat geschrieben: So Jan 03, 2021 11:19 amGanz konkret geht es um folgende Fragestellung:
Ich habe die Daten vom Allbus 2018 und möchte herausfinden, ob es einen Zusammenhang zwischen den beiden (unabhängigen) Variablen Ausbildungsabschluss und Wohnort (West-Ost) mit der (abhängigen) Variablen Einkommen gibt. Meine H0 lautet also, dass es keinen Zusammenhang zwischen diesen Variablen gibt.
Das ist der Inbegriff einer nicht-testenswerten Hypothese. Niemand braucht ein Statistikprogramm um die Frage zu beantworten, ob Menschen ohne Schulabschluss ganz exakt genausoviel verdienen wie Akademiker. Interessant ist vielleicht die Frage, wie groß die Einkommensunterschiede zwischen diesen Gruppen sind aber doch nicht, ob es welche gibt.

Code: Alles auswählen

Auch wenn eine Überprüfung der Voraussetzungen bei einer so großen Anzahl an Beobachtungen überflüssig ist, so müsste ich sie der Vollständigkeit halber doch mit in die Analyse integrieren.
Welchen Sinn hat es zu zeigen, dass Levene und Shapiro-Wilk hoch signifkant Verletzungen der Annahmen zeigen, wenn Du danach keinerlei Konsequenzen daraus ziehen willst?
Dürfte ich aber einen Levene-Test auch mit zwei uVs durchführen? Und falls ja, wäre der Code dann einfach leveneTest(y, x1,x2, data)?
Die Durchführung der zweifaktoriellen ANOVA einschl. Testung der Voraussetzungen ist hier ziemlich gut erklärt: http://www.sthda.com/english/wiki/two-w ... t-validity
Wenn mir die Test für die Überprüfung der Voraussetzungen signifikante Ergebnisse liefern, bedeutet dass, dass ich dann eigentlich keine zweifaktorielle ANOVA machen dürfte?
Kommt darauf an, was Du unter "eigentlich" verstehst. In der angewandten Statistik wendet man mathematische Modelle auf die Wirklichkeit an. Die mathematischen Modelle entsprechen nie der Wirklichkeit, aber oft genug sind sie nützlich auf die Wirklichkeit anwendbar. Die Rolloberfläche eines Autoreifens hat nie die Form eines Kreises, dennoch nimmt man sie als Kreis an, wenn man einen Tachometer baut. Ein schräger Dachbalken wird durch die Raumzeit-Verzerrung der Erdmasse gebogen -- der Zimmermann zeichnet ihn trotzdem als Geraden. In der Schule lernen wir, dass ein Apfel und noch ein Apfel zwei Äpfel sind, aber in Wirklichkeit besteht gar keine eindeutige Definition, was genau als Apfel zu bezeichnen ist und was nicht. Reine Mathematik funktioniert nur in den Köfpen von Menschen. Angewandte Mathematik ist trotzdem in der Welt der Dinge um uns herum sehr wertvoll.
IWelche Effektgrößen würden sich denn beider dieser Analyse anbieten? Eta-quadrat würde man ja bereits mit der ANOVA bekommen, oder?
Persönlich finde ich Effektstärkemaße unsagbar langweilig. Ich würde gerne wissen, wie groß der Unterschied in Euro oder in Log-Stufen ist.
Hoffe, die obigen Infos bringen ein bisschen mehr Licht ins Dunkel und bringen uns der Lösung etwas näher :D
Schon. Wenn Du Einkommen schreibst, dann vermute ich, dass Deine Zielgröße ganz schon schief verteilt sein könnte und schlage Dir vor, versuchsweise mal das Einkommen zu logarithmieren um zu schauen, ob das Deinen Residuen gut tut. Ohne Schilderung auf der Sachebene hättest Du diesen Vorschlag von mir nicht bekommen. Dann würde ich allerdings auf Fragen, ob es nicht sinnvoll wäre, das Geschlecht und das Alter (und vielleicht irgendwas über Teilzeit und Vollzeittätigkeit) mit in die Rechnung aufzunehmen. Sowas hat schon Einfluss...

LG,
Bernhard
---
Programmiere stets so, dass die Maxime Deines Programmierstils Grundlage allgemeiner Gesetzgebung sein könnte
Antworten