Kolmogorov-Smirnov Test - Datenformate

Allgemeine Statistik mit R, die Test-Methode ist noch nicht bekannt, ich habe noch keinen Plan!

Moderatoren: EDi, jogo

Antworten
Isegrim
Beiträge: 13
Registriert: Di Feb 02, 2021 11:18 pm

Kolmogorov-Smirnov Test - Datenformate

Beitrag von Isegrim »

Hallo,

als Anfänger habe ich mal eine Frage: Ich will zwei Datensätze vergleichen ob die aus der gleichen Verteilung kommen. Kein Problem mit:

Code: Alles auswählen

x=c(21,21,21,21,21,21,21,21,21,21)
y=c(18,20,11,21,43,20,18,18,15,22)

ks.test(x, y, alternative="two.sided", exact = T)
Jetzt ist es aber so, dass in x und y nicht meine normalen Daten (wie beobachtet) drinstehen, sondern die absoluten Häufigkeiten. Es gibt in beiden Stichproben nur Zahlen von 0-9. Sprich ich habe in Stichprobe x 21 eine 0 beobachtet, 21 mal eine 1, ... und in Stichprobe y 18 mal eine 0, 20 mal eine 1, usw.


Stichprobe x Stichprobe y
0 21 18
1 21 20
2 21 11
3 21 21
4 21 43
5 21 20
6 21 18
7 21 18
8 21 15
9 21 22

Wie kann ich das so testen (mit den absoluten oder den relativen Häufigkeiten) als ob ich die ursprünglichen Datensätze in den Test rein gebe bei denen halt die einzelnen Ausprägungen sooft vorkommen wie in den absoluten Häufigkeiten angegeben?
Zuletzt geändert von Isegrim am Mi Feb 03, 2021 9:53 am, insgesamt 3-mal geändert.
jogo
Beiträge: 2085
Registriert: Fr Okt 07, 2016 8:25 am

Re: Kolmogorov-Smirnov Test - Datenformate

Beitrag von jogo »

Hallo Isegrim,

willkommen im Forum!
Die einfachste Variante ist wohl das Wiederherstellen der originalen Daten aus den Häufigkeiten.
Das kann die Funktion rep() erledigen.

Code: Alles auswählen

x=c(21,21,21,21,21,21,21,21,21,21)
y=c(18,20,11,21,43,20,18,18,15,22)

ks.test(x, y, alternative="two.sided", exact = T)

rep(seq(x)-1, x)
rep(seq(y)-1, y)
ks.test(rep(seq(x)-1, x), rep(seq(y)-1, y), alternative="two.sided", exact = TRUE)
ks.test(rep(seq(x), x), rep(seq(y), y), alternative="two.sided", exact = TRUE)
Gruß, Jörg
Isegrim
Beiträge: 13
Registriert: Di Feb 02, 2021 11:18 pm

Re: Kolmogorov-Smirnov Test - Datenformate

Beitrag von Isegrim »

Besten dank. Funktioniert...
bigben
Beiträge: 2771
Registriert: Mi Okt 12, 2016 9:09 am

Re: Kolmogorov-Smirnov Test - Datenformate

Beitrag von bigben »

Ich frag nochmal nach:
  • Sind in Stichprobe x für jeden Wert zufällig 21 beobachtet worden oder wurde das vor Versuchsbeginn als Gleichverteilung festgesetzt? Dann könnte man auf Gleichverteilung testen statt auf gleiche Verteilungen.
  • Der ks.test ist für kontinuierliche Verteilungen konzipiert, hier liegen aber zwei diskrete Verteilungen vor. Deshalb sollte man überlegen, ob es noch passendere Testmöglichkeiten gibt. (Deshalb auch die Warnmeldungen hinsichtlich der Bindungen, die hier ja reichlich vorliegen)
  • Wenn die Werte 0 bis 9 für nominale Kategorien stehen und die "Beobachtungen" Zählwerte sind, dann böte sich hier vielleicht ein χ²-Test an?

    Code: Alles auswählen

    x=c(21,21,21,21,21,21,21,21,21,21)
    y=c(18,20,11,21,43,20,18,18,15,22)
    m <- matrix(c(x, y), byrow = TRUE, nrow = 2)
    print(m)
    chisq.test(m)
LG,
Bernhard
---
Programmiere stets so, dass die Maxime Deines Programmierstils Grundlage allgemeiner Gesetzgebung sein könnte
Isegrim
Beiträge: 13
Registriert: Di Feb 02, 2021 11:18 pm

Re: Kolmogorov-Smirnov Test - Datenformate

Beitrag von Isegrim »

Zur Erklärung:
Also die zweite Stichprobe ist die beobachtete, wir gehen aber von Gleichverteilung aus, gegen diese also hier getestet werden soll. Daher die erste Stichprobe. Das kann man sicherlich eleganter machen als ich.
Es soll aber speziell der KS Test sein, damit man sehen kann im Vergleich zu χ² wie sich die p-Werte unterscheiden, wie sensitiv der Test reagiert.
Antworten