Hilfe bei Datenanalyse
Moderator: EDi
Hilfe bei Datenanalyse
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
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
Re: Hilfe bei Datenanalyse
Hallo Jazz,
Signifikant wie p = 0,049 oder wie p = 0,00000001 ? Das macht ja schon einen Unterschied, wenn man die Anwendbarkeit trotz wackeliger Voraussetzungen erfragt.
Der einfachste Ausweg wäre von ein Kruskal-Wallis-Test, falls es keine Messwiederholungen oder anders verbundenen Stichproben gibt.
HTH,
Bernhard
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.
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:War der Shapiro-Test an dieser Stelle überhaupt richtig, oder muss ich einen anderen Test anwenden, um die Varianzhomogenität herauszufinden?
Code: Alles auswählen
> shapiro.test(1:5)
Shapiro-Wilk normality test
data: 1:5
W = 0.98676, p-value = 0.9672
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.Wenn sich nun herausstellt, dass die Varianzen heterogen sind, was passiert dann? Darf ich dann überhaupt eine ANOVA machen?
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
Programmiere stets so, dass die Maxime Deines Programmierstils Grundlage allgemeiner Gesetzgebung sein könnte
Re: Hilfe bei Datenanalyse
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.War der Shapiro-Test an dieser Stelle überhaupt richtig, oder muss ich einen anderen Test anwenden, um die Varianzhomogenität herauszufinden?
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
.
Dieser Beitrag ist lizensiert unter einer CC BY 4.0 Lizenz
.
Re: Hilfe bei Datenanalyse
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
Auf dieser Basis, wäre es demnach besser, den Kruskal-Wallis-Test durchzuführen?
Vielen Dank schon einmal für deine Hilfe!
Jazz
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
Auf dieser Basis, wäre es demnach besser, den Kruskal-Wallis-Test durchzuführen?
Vielen Dank schon einmal für deine Hilfe!
Jazz
Re: Hilfe bei Datenanalyse
Danke für deinen Post, Edi!
Kannst du die beiden Punkte vielleicht etwas genauer erklären? Versteh' leider nicht ganz, was du damit meinst
Danke dir und schöne Grüße!
Jazz
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
Danke dir und schöne Grüße!
Jazz
Re: Hilfe bei Datenanalyse
Hallo Jazz,
Ich persönlich würde mir zwar die Residuen noch anschauen, aber nichts weiter testen.
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
Brauchst Du nicht, wird bei n = 2650 wahrscheinlich ohnehin signifikant, ohne relevant zu sein.
LG,
Bernhard
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
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.
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.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?
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.Auf dieser Basis, wäre es demnach besser, den Kruskal-Wallis-Test durchzuführen?
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.Kannst du die beiden Punkte vielleicht etwas genauer erklären? Versteh' leider nicht ganz, was du damit meinst
LG,
Bernhard
---
Programmiere stets so, dass die Maxime Deines Programmierstils Grundlage allgemeiner Gesetzgebung sein könnte
Programmiere stets so, dass die Maxime Deines Programmierstils Grundlage allgemeiner Gesetzgebung sein könnte
Re: Hilfe bei Datenanalyse
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).
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
.
Dieser Beitrag ist lizensiert unter einer CC BY 4.0 Lizenz
.
Re: Hilfe bei Datenanalyse
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.
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?
Liebe Grüße,
Jazz
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.
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)?Brauchst Du nicht, wird bei n = 2650 wahrscheinlich ohnehin signifikant, ohne relevant zu sein.
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?
Wie wäre denn die Vorgehensweise, wenn man die Residuen davor schon analysiert?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.
Welche Effektgrößen würden sich denn beider dieser Analyse anbieten? Eta-quadrat würde man ja bereits mit der ANOVA bekommen, oder?Interessanter (ganz sicher auch in deiner Fachrichtung) sind die Effektgrößen.
Hoffe, die obigen Infos bringen ein bisschen mehr Licht ins Dunkel und bringen uns der Lösung etwas näherDarf 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.
Liebe Grüße,
Jazz
Re: Hilfe bei Datenanalyse
Hallo Jazz,
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?
LG,
Bernhard
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.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.
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.
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-validityDü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)?
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.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?
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.IWelche Effektgrößen würden sich denn beider dieser Analyse anbieten? Eta-quadrat würde man ja bereits mit der ANOVA bekommen, oder?
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...Hoffe, die obigen Infos bringen ein bisschen mehr Licht ins Dunkel und bringen uns der Lösung etwas näher
LG,
Bernhard
---
Programmiere stets so, dass die Maxime Deines Programmierstils Grundlage allgemeiner Gesetzgebung sein könnte
Programmiere stets so, dass die Maxime Deines Programmierstils Grundlage allgemeiner Gesetzgebung sein könnte