Statistischer Test für Kategorische Abhängige Variable

Statistischer Test für Kategorische Abhängige Variable

Beitragvon Dimitri137 » Di 16. Jan 2024, 17:55

Hallo zusammen,

ich bin auf der Suche nach dem passenden statistischen Test. Folgendes Beispiel (fiktiv, das reale Beispiel wär zu kompliziert hier zu erklären):
70 Leute haben mir gesagt, welche Getränke sie mögen (Fanta, Coca Cola, Zitronenlimonade, Bier, Wein) und wie oft sie im Monat Spaghetti essen. Ich möchte gern wissen, ob es einen Zusammenhang zwischen dem Mögen eines Getränks und der Anzahl, wie oft jemand im Monat Spaghetti isst, gibt.
Also hab ich eine kategorische, unabhängige Variable (Getränk) mit mehr als 2 Kategorien und eine abhängige, quantitative, ordinale (da nicht kontinuierliche) Variable. Soweit richtig?
Nach Recherche kam ich auf Grund der Datenstruktur darauf den Kruskal-Wallis-Test anzuwenden. Das Problem ist aber, dass eine Person ja mehrere Getränke mögen kann (z.B. Bier und Coca Cola). Das heisst, die Stichproben sind nicht unabhängig (die Person wäre sowohl in der "Bier Stichprobe" wie auch in der "Coca Cola Stichprobe").

Jemand eine Idee, wie man da vorgehen könnte?

Beste Grüße und vielen Dank,

D.
Dimitri137
Grünschnabel
Grünschnabel
 
Beiträge: 3
Registriert: Di 16. Jan 2024, 17:37
Danke gegeben: 1
Danke bekommen: 0 mal in 0 Post

Re: Statistischer Test für Kategorische Abhängige Variable

Beitragvon bele » Di 16. Jan 2024, 19:10

Hallo D.,

das Standardvorgehen, wenn man von mehreren unabhängigen Variablen (Getränkevorlieben) auf eine Anzahl schließt, wäre ja eine multiple Regression, beispielsweise eine Poisson-Regression oder wenn jeder Monat gleich viele Tage hat, dann auch eine binomiale Regression. 70 Leute würden auch knapp ausreichen, um die Koeffizienten für 5 Getränke zu schätzen. Nun hast Du die Frage im Unterforum für nichtparametrische Tests gepostet und dann ist sind diese Verfahren außen vor. Du schreibst nichts weiter, ob oder warum Du die Auswahl auf nichtparametrische Verfahren einengen möchtest.

Nichtparametrisch und geeignet auch mit Menschen umzugehen, die mehrere Getränke mögen, käme eine Regressionsbaum infrage. Mit der Funktion ctree aus dem partykit Paket für R kann man zum Beispiel Regressionsbäume erstellen, die das Unterteilen eines Astes davon abhängig machen, ob die Entscheidung statistisch signifikant ist. Mehr dazu kannst Du hier finden: https://cran.r-project.org/web/packages ... /ctree.pdf

Wenn es wirklich nur um die Frage geht, ob oder ob nicht ein Zusammenhang besteht, dann könnte man auch einen random forest trainieren und wenn der es schafft, in seinene Out-of-Bag-Samples überzufällig gut vorherzusagen, wie oft jemand Spaghetti ist, dann gäbe es einen Zusammenhang. Ok, 70 Fälle sind wenig für Maschinenlernen, aber einen Versuch kann es Wert sein.

Erfahrungsgemäß sind diese fiktiven Beispiele meistens dann doch nicht nah genug an der Realität und warum das so ist, habe ich hier unter 8. mal erklärt: nutzung-des-forums-f44/das-musste-mal-gepostet-werden-t6682.html#p31013

Du musst also selbst prüfen, ob Antworten auf das Cola-Spaghettiproblem wirklich auf Deinen Fall übertragbar sind.

Viele Grüße,
Bernhard
----
`Oh, you can't help that,' said the Cat: `we're all mad here. I'm mad. You're mad.'
`How do you know I'm mad?' said Alice.
`You must be,' said the Cat, `or you wouldn't have come here.'
(Lewis Carol, Alice in Wonderland)
bele
Schlaflos in Seattle
Schlaflos in Seattle
 
Beiträge: 5717
Registriert: Do 2. Jun 2011, 23:16
Danke gegeben: 15
Danke bekommen: 1333 mal in 1320 Posts

folgende User möchten sich bei bele bedanken:
Dimitri137

Re: Statistischer Test für Kategorische Abhängige Variable

Beitragvon Dimitri137 » Fr 19. Jan 2024, 15:42

Hallo Bernhard,

danke für deine Antwort!

Ich hab es unter nicht parametrische Tests gepostet weil ich dachte für parametrische Test müssen die Daten stetig und normal verteilt sein. Zumindest die Stetigkeit trifft auf meine Daten nicht zu, die Normalverteilung müsste ich wohl prüfen.

Du hast Recht vielleicht muss ich mein Beispiel dann doch noch genauer beschreiben. Ich untersuche den Zusammenhang zwischen den Zeichnungen, die Studierende zum Lösen einer Aufgabe gemacht haben, und den Anzahl Versuchen, die sie brauchen, bis sie die korrekte Lösung gefunden haben (Sie können so oft eine Lösung einreichen wie sie wollen und kriegen immer automatisch das Feedback, ob ihre Antwort richtig ist oder nicht). Die Zeichnungen habe ich dafür in verchiedene Kategorien eingeteilt. Die Mindestanzahl and Versuchen ist natürlich 1 wohingegen eine Poissonverteilung auch 0 mit einschliesst. Die Poisson Regression wäre damit wohl schon ausgeschlossen oder?

Was ich jetzt mal versucht habe ist den Einfluss jeder Kategorie einzeln zu testen mit einem Wilcoxon-Rangsummentest. Denkst du das passt hier?
Würde ein Regressionsbaum da noch mehr "Information" liefern? Ich arbeite mit Python und habe R nicht (hab auch nicht wirklich die Kapazitäten mich da einzuarbeiten), in Python scheint es dafür aber keine Implementation zu geben (https://stackoverflow.com/questions/358 ... -in-python).
Dimitri137
Grünschnabel
Grünschnabel
 
Beiträge: 3
Registriert: Di 16. Jan 2024, 17:37
Danke gegeben: 1
Danke bekommen: 0 mal in 0 Post

Re: Statistischer Test für Kategorische Abhängige Variable

Beitragvon bele » Fr 19. Jan 2024, 16:21

Hallo Dimitri,

weil ich dachte für parametrische Test müssen die Daten stetig und normal verteilt sein.


Du scheinst ja die Poisson-Regression (jetzt?) zu kennen und hast damit ein eindrückliches Beispiel, dass das eine falsche Annahme war.

Die Zeichnungen habe ich dafür in verchiedene Kategorien eingeteilt.


Studierende machen also eine oder viele Zeichnungen und Du prüfst, ob Kategorien von Zeichnung damit abgedeckt sind. Das sind die Getränke, die man entweder mag oder nicht mag und jede Kategorie könnte geeignet sein, eine richtige Antwort herbei zu führen oder die Zahl der Antwortvorschläge bis zur richtigen Antwort klein zu halten.

Die Mindestanzahl and Versuchen ist natürlich 1 wohingegen eine Poissonverteilung auch 0 mit einschliest.


Du könntest ja anstelle der eingereichten Versuche die Anzahl der vor der richtigen Lösung eingereichten Versuche nehmen. Dann wäre die Null wieder mit drin, und die Poisson-Regression wieder im Spiel.
Code: Alles auswählen
neueAnzahl = alteAnzahl - 1


Wenn Deine Daten gut zur Poissonverteilung passen, dann wäre das ein sehr elegantes Verfahren. Wenn das nicht gut passt, dann könntest Du anstelle der Poisson-Regression auch eine (proportional odds-)ordinale Regression rechnen. Das geht auch mit metrischem Outcome, denkbar wäre z. B. das R Paket rms mit der Funktion orm. Da brauchst Du Dir dann auch gar keine Gedanken mehr machen, ob die Werte jetzt bei 0, bei 1 oder bei 23 anfangen oder wie irgendwas im Detail verteilt ist. Das ist dann nicht mehr Voraussetzung sondern Teil vom Ergebnis.

Was ich jetzt mal versucht habe ist den Einfluss jeder Kategorie einzeln zu testen mit einem Wilcoxon-Rangsummentest. Denkst du das passt hier?


Verschiedene Verfahren passen besser oder schlechter. Du hast halt nachher eine Menge Testergebnisse und keinen Gesamtüberblick. Wenn das für Dich gut zu interpretieren ist und Dir hilft, Deine Frage zu beantworten und Deine Geschichte zu erzählen, dann ist das ok, dann mach das so. Was Du jetzt genau mit dem Rangsummentest miteinander vergleichst habe ich noch nicht verstanden.

Du hast geschrieben:
Ich möchte gern wissen, ob es einen Zusammenhang zwischen dem Mögen eines Getränks und der Anzahl, wie oft jemand im Monat Spaghetti isst, gibt.


Das ist eine Frage und dafür hättest Du ja eigentlich gerne eine Antwort. Wenn jetzt die Cola ein bisschen zum Spaghettiessen beiträgt und die Fanta auch ein bisschen, dann könnte es ja sein, dass weder Cola noch Fanta es zur Signifikanz schaffen, beide gemeinsam aber schon. Deshalb würde ich im Grundsatz versuchen, diese Frage mit nur einem Modell zu beantworten.

Ich arbeite mit Python und habe R nicht (hab auch nicht wirklich die Kapazitäten mich da einzuarbeiten), ...


Ach, so kompliziert würde ich das gar nicht machen. Du kannst ja Deine Daten in Python aufarbeiten, und in CSV so abspeichern, dass man in R noch genau zwei Funktionsaufrufe hat: Einen zum Einlesen des CSV und einen, um das jeweilige Regressionsverfahren durchzuführen. Da finden sich ja vielleicht auch freundliche Menschen im Internet die einem helfen, diese zwei Funktionsaufrufe zu formulieren. R ist schnell installiert, man kann es in Jupyter Notebooks verwenden und wenn es sein muss gibt es das Modul rpy2.

in Python scheint es dafür aber keine Implementation zu geben


Erstens finde ich einen Post von 2016 nicht als beweiskräftig, dass es irgendwas datenbezogenes in Python nicht gibt. Zweitens gibt es bestimmt andere Verfahren einen Regressionsbaum wachsen zu lassen die auch in Python etabliert wurden und die man wahrscheinlich dann auch über Kreuzvalidierung o. ä. so etwas ähnlichem wie einer Signifikanztestung zuführen könnte und drittens siehe oben: Python und R sind nur Werkzeuge, keine Religionen. Im (richtigen) [url=http::forum-r-statistik.de]Deutschen R-Forum[/url] kann man z. B. ein CSV mit 70 Zeilen hochladen und wenn man nett fragt, findet man da nette Leute. Wenn Du nicht mehr über Deine Forschung erzählst als hier, dann können die Daten auch im Forum öffentlich werden denn dann kann keiner was damit anfangen (vorausgesetzt natürlich, die Schüler stehen da nicht mit Klarnamen drin).

JMTC,
Bernhard
----
`Oh, you can't help that,' said the Cat: `we're all mad here. I'm mad. You're mad.'
`How do you know I'm mad?' said Alice.
`You must be,' said the Cat, `or you wouldn't have come here.'
(Lewis Carol, Alice in Wonderland)
bele
Schlaflos in Seattle
Schlaflos in Seattle
 
Beiträge: 5717
Registriert: Do 2. Jun 2011, 23:16
Danke gegeben: 15
Danke bekommen: 1333 mal in 1320 Posts

Re: Statistischer Test für Kategorische Abhängige Variable

Beitragvon Dimitri137 » Mo 22. Jan 2024, 20:52

Studierende machen also eine oder viele Zeichnungen und Du prüfst, ob Kategorien von Zeichnung damit abgedeckt sind. Das sind die Getränke, die man entweder mag oder nicht mag und jede Kategorie könnte geeignet sein, eine richtige Antwort herbei zu führen oder die Zahl der Antwortvorschläge bis zur richtigen Antwort klein zu halten.


Exakt!

Du könntest ja anstelle der eingereichten Versuche die Anzahl der vor der richtigen Lösung eingereichten Versuche nehmen.


Das wäre natürlich eine sehr elegante Lösung!

Wenn Deine Daten gut zur Poissonverteilung passen


Welche Bedingungen müssen meine Daten erfüllen und wie kann ich die testen?
Laut Wkipedia (https://en.wikipedia.org/wiki/Poisson_distribution) müssen folgende Bedingungen erfüllt sein:
    1. k is the number of times an event occurs in an interval and k can take values 0, 1, 2, ... .
    2. The occurrence of one event does not affect the probability that a second event will occur. That is, events occur independently.
    3. The average rate at which events occur is independent of any occurrences. For simplicity, this is usually assumed to be constant, but may in practice vary with time.
    4. Two events cannot occur at exactly the same instant; instead, at each very small sub-interval, either exactly one event occurs, or no event occurs.
4. ist sicher gegeben. 1. wohl auch wenn wir die Anzahl-1 nehmen. Bei 2. und 3. bin ich mir nicht so sicher. Gibt es da irgendwelche Tests für? Oder allgemeine Tests die mir angeben können wie gut meine Daten der Poissonverteilung entsprechen?

Was Du jetzt genau mit dem Rangsummentest miteinander vergleichst habe ich noch nicht verstanden.


Laut Wikipedia mach der Rangsummentest folgendes: "[...] testen, ob es bei Betrachtung zweier Populationen gleich wahrscheinlich ist, dass ein zufällig aus der einen Population ausgewählter Wert größer oder kleiner ist als ein zufällig ausgewählter Wert aus der anderen Population." Meine zwei Populationen sind dann jeweils "gehört zu Kategorie X" und "gehört nicht zu Kategorie X". Wenn nun die Zugehörigkeit zu einer Kategorie (sprich der Student hat gewisse Elemente in seiner Zeichnung verwendet) dazu führt, dass man signifikant weniger oder mehr Versuche braucht um die Aufgabe korrekt zu lösen, dann müsste der Test die Null-Hypothese verwerfen. So zumindest mein Gedankengang. Macht das so Sinn?
Dimitri137
Grünschnabel
Grünschnabel
 
Beiträge: 3
Registriert: Di 16. Jan 2024, 17:37
Danke gegeben: 1
Danke bekommen: 0 mal in 0 Post

Re: Statistischer Test für Kategorische Abhängige Variable

Beitragvon bele » Di 23. Jan 2024, 10:45

Hallo Dimitri,

Gibt es da irgendwelche Tests für? Oder allgemeine Tests die mir angeben können wie gut meine Daten der Poissonverteilung entsprechen?


Nicht wirklich. Die Daten sollen ja nicht einer Poisson-Verteilung folgen sondern für jede Getränkeverteilung einer anderen. Du kannst Dir die Residuen anschauen, also wieviele Versuche hat es gebraucht und wieviele Versuche hätte das Poisson-Modell vorhergesagt und schauen, ob das akzeptable Abweichugnen sind, vor allem aber, ob es da irgendwelche Muster in den Abweichungen gibt oder ob das alles frei streut. Schlimmstenfalls auf die ordinale Regression ausweichen.


Das mit dem Rangsummentest habe ich jetzt verstanden und das kann man so machen, ist aber immer etwas unbefriedigend, die anderen Einflussfaktoren außen vor zu lassen.

LG,
Bernhard
----
`Oh, you can't help that,' said the Cat: `we're all mad here. I'm mad. You're mad.'
`How do you know I'm mad?' said Alice.
`You must be,' said the Cat, `or you wouldn't have come here.'
(Lewis Carol, Alice in Wonderland)
bele
Schlaflos in Seattle
Schlaflos in Seattle
 
Beiträge: 5717
Registriert: Do 2. Jun 2011, 23:16
Danke gegeben: 15
Danke bekommen: 1333 mal in 1320 Posts


Zurück zu Nichtparametrische Tests

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 0 Gäste