T-Test (bzw. nichpar.) für Summe von Variablen

T-Test (bzw. nichpar.) für Summe von Variablen

Beitragvon Johann_81 » Fr 11. Nov 2016, 19:01

Hallo,

ich habe ein Merkmal x bei 3 verschiedenen Gruppen (x1,x2,x3) erhoben; n ist jeweils 50 für alle Gruppen.
Nun möchte ich testen, ob die Summe des Merkmals in Gruppe 1 und 2 größer ist als das Merkmal in Gruppe 3, also H1: x1+x2 < x3
Das Merkmal ist in allen Gruppen nicht normalverteilt (sonst könnte ich - glaube ich zumindest - einen t-Test anwenden, da die Summe aus zwei NV wieder NV ist).
Kann ich in dem Fall einfach davon ausgehen, dass die Merkmale NV sind, wegen n>30? Ich denke, dass das nicht geht???
Ich kann auch nicht einfach die 50 Werte in Gruppe 1 und 2 addieren, da die sich ergebende Verteilung von der Reihenfolge abhängt und die wäre rein willkürlich.
Hat jemand dazu einen Vorschlag?

Danke im Voraus und viele Grüße
Hans
Johann_81
Grünschnabel
Grünschnabel
 
Beiträge: 5
Registriert: Fr 11. Nov 2016, 18:47
Danke gegeben: 2
Danke bekommen: 0 mal in 0 Post

Re: T-Test (bzw. nichpar.) für Summe von Variablen

Beitragvon bele » Fr 11. Nov 2016, 19:58

Random sampling?
----
`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: 5766
Registriert: Do 2. Jun 2011, 23:16
Danke gegeben: 15
Danke bekommen: 1351 mal in 1338 Posts

Re: T-Test (bzw. nichpar.) für Summe von Variablen

Beitragvon PonderStibbons » Fr 11. Nov 2016, 23:20

ich habe ein Merkmal x

Was ist das für ein Merkmal und wie gemessen?
bei 3 verschiedenen Gruppen (x1,x2,x3)

Woraus bestehen diese Gruppen und wie wurden sie gebildet?
Nun möchte ich testen, ob die Summe des Merkmals in Gruppe 1 und 2 größer ist als das Merkmal in Gruppe 3, also H1: x1+x2 < x3

Der Sinn wird nicht ersichtlich. Vielleicht wenn Fragestellung, Variablen und Stichproben beschrieben sind.

Mit freundlichen Grüßen

PonderStibbons
PonderStibbons
Foren-Unterstützer
Foren-Unterstützer
 
Beiträge: 11251
Registriert: Sa 4. Jun 2011, 15:04
Wohnort: Ruhrgebiet
Danke gegeben: 50
Danke bekommen: 2469 mal in 2453 Posts

Re: T-Test (bzw. nichpar.) für Summe von Variablen

Beitragvon Johann_81 » So 13. Nov 2016, 12:08

Danke für die schnelle Reaktion und Sorry für die unvollständigen Angaben.

Es gibt 3 verschiedene Versionen A, B und C eines Tests, die von je 50 zufällig ausgewählten Teilnehmern bearbeitet wurden; also unabhängige Gruppen, Zufallsauswahl, metrische Variable. Die Punktzahlen sind lt. Plots und Tests in allen Gruppen nicht normalverteilt.
Theoretisch sollte die Punktzahl für C etwa der Summe der Punktzahlen für A und B entsprechen. Der Mittelwert der Punkte für C ist aber kleiner als die Punkte der MW für A und B. Daher möchte ich nun testen, ob der Unterschied der Punkte A+B - C signifikant ist.
Mir ist klar, dass ich beim Vergleich von nur 2 Gruppen (z.B. A und B) den t-Test wegen n=50 verwenden dürfte. Was mir nicht klar ist, ob ich nun einfach von Normalverteilungen für A und B ausgehen und die Verteilung der Summe der Punktzahlen für A+B als NV (mit Parametern Summe der MW, Summe der Varianzen) annehmen darf und dann mit diesen Werten entsprechend den t-Test berechnen? Mit meinem statistischen Halbwissen habe ich so den Eindruck, dass das nicht geht, weil zwar der Mittelwert, nicht aber die ursprüngliche Variable NV ist.
Oder ob (und wie) ich in so einem Fall den Mann-Whitney Test anwenden kann?
Oder kann ich das ganze lösen, indem ich immer wieder (je öfter je besser oder alle 2500 möglichen Kombinationen?) Werte aus den 50 Werten von A und den 50 Werten von B zufällig ziehe und die Summe davon bilde; und dann die sich ergebende Verteilung nutze?

Danke, und Mit freundlichen Grüßen, Hans
Johann_81
Grünschnabel
Grünschnabel
 
Beiträge: 5
Registriert: Fr 11. Nov 2016, 18:47
Danke gegeben: 2
Danke bekommen: 0 mal in 0 Post

Re: T-Test (bzw. nichpar.) für Summe von Variablen

Beitragvon bele » So 13. Nov 2016, 13:44

Hallo Hans,

ich sehe da nicht 2500 mögliche Kombinationen sondern Kombinationen von drei Variablen à 50 unabhängigen Versuchen. Das kann man mit möglichst vielen Stichproben (Zufallsauswahl mit Zurücklegen, d. h. Bootstrapping), errechnen und erhält dann eine schöne Verteilung dafür, welche Differenzen zwischen A+B einerseits und C andererseits, wie häufig auftreten. Daraus ließe sich dann ein 95% Highest Density Intervall oder equal-tail credible interval bestimmen.

Das meinte ich oben mit random sampling.

Du könntest natürlich auch nur 2500 verschiedene Summen von A+B bilden und die jeweils mit einem t-Test oder Rangsummentest mit C vergleichen, aber wie willst Du die 2500 verschiedenen t-Tests oder Rangsummentests nachher zusammenfassen? Das erscheint mir deutlich zu kompliziert und auch unnötig rechenaufwändig.

Die Chancen sind recht hoch, dass Du das nirgends zum Anklicken findest, sondern Dir programmieren musst. Hast Du die Mittel dazu bzw. kriegst Du das hin?

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: 5766
Registriert: Do 2. Jun 2011, 23:16
Danke gegeben: 15
Danke bekommen: 1351 mal in 1338 Posts

folgende User möchten sich bei bele bedanken:
Johann_81

Re: T-Test (bzw. nichpar.) für Summe von Variablen

Beitragvon Johann_81 » So 13. Nov 2016, 14:38

Hallo Bernhard,

mit R habe ich schon gearbeitet und auch selbst programmiert. Wenn ich also weiss, was ich machen muss, krieg ich die technische Umsetzung hin.

Ganz faul war ich auch nicht, sondern habe neben meiner Frage hier im Forum selbst weiter nach Lösungen gesucht. Dabei bin ich auf die Funktion BEST gestossen, die baysianische T-Tests nach einem Vorschlag von Kruschke ermöglicht.
Hier werden scheinbar bayesianisch (nicht per Bootstrap) Verteilungen für die Variable in den unterschiedlichen Gruppen simuliert.

Kennst Du Dich damit aus und falls ja, könntest Du mir sagen, ob meine folgende Idee funktioniert (d.h. ob ich die Verteilungen so nutzen kann):
Ich bilde mit BESTmcmc die Verteilungen für die Gruppen A, B und C (Punkte? sind jeweils die 50 Werte für die Gruppen):
F.A = BESTmcmc(PunkteA)$mu
F.B = BESTmcmc(PunkteB)$mu
F.C = BESTmcmc(PunkteC)$mu
Dann berechne ich die Verteilung der Differenz
F.Diff = F.A + F.B - F.C
Diese kann ich dann entsprechend interpretieren. Im Moment kann ich schon per Histogramm und einfacher Zählung der Züge, bei denen F.Diff < 0 ist feststellen, dass der Unterschied in weniger als 1% der Zuege <0 ist. Nach einer Möglichkeit, die in R die HPD zu ermitteln, suche ich noch.

Bin natürlich weiterhin auch für Alternativen z.B. per Bootstrapping dankbar (da weiss ich noch nicht, wie das genau funktioniert bzw. wie ich das mit R umsetze).

Nochmals Danke und LG,
Hans
Johann_81
Grünschnabel
Grünschnabel
 
Beiträge: 5
Registriert: Fr 11. Nov 2016, 18:47
Danke gegeben: 2
Danke bekommen: 0 mal in 0 Post

Re: T-Test (bzw. nichpar.) für Summe von Variablen

Beitragvon bele » So 13. Nov 2016, 16:27

Ich mag ja einfache Statistiken, die ich auch verstehe. Und mit den Markov Ketten und den Priorverteilungen beim BEST, das ist mir alles ein bisschen zu hoch. In diesem Fall ist einfaches Monte Carlo verlockend simpel. Zunächst simuliere ich mir, mangels echter Daten, ein paar Phantasiedaten und definiere eine Zahl n der Bootstrap-Samples:

Code: Alles auswählen
# drei Beispieldatenreihen A, B und C, zwei davon nicht normalverteilt
A <- rpois(50, 5)
B <- rbinom(50, 10, .88)
C <- round(mean(A+B) +1 - rnorm(50, 10, 5))

n <- 100000


Jetzt ziehe ich aus A, B und C jeweils n mal einen Wert mit Zurücklegen:
Code: Alles auswählen
A_Sampl <- sample(A, n, replace = TRUE)
B_Sampl <- sample(B, n, replace = TRUE)
C_Sampl <- sample(C, n, replace = TRUE)


Daraus lassen sich sehr einfach n mal die Differenzen aus zufällig gewählten Wertetriples berechnen und in der Variablen D_Sample hinterlegen:
Code: Alles auswählen
D_Sampl <- A_Sampl + B_Sampl - C_Sampl


Dieses D_Sampl müssen wir jetzt nur noch untersuchen. Zum Beispiel so:
Code: Alles auswählen
hist(D_Sampl, freq = FALSE, breaks=50, col="grey", xlab="(A + B) - C", main="Verteilung der Differenz")
lines(density(D_Sampl), lwd=2, col="blue")
abline(v=quantile(D_Sampl,probs = c(.025, .975)), col="darkblue", lty=2)
print(quantile(D_Sampl,probs = c(.025, .5, .975)))



Wenn Du noch etwas programmieren und das ganze aufwerten willst, kannst Du das in einer Schleife für viele n machen und die jeweils erhaltenen Konfidenzintervallgrenzen gegen n abtragen. Dann wird man sehen, wie die Werte mit steigendem n konvergieren und erhält so ein Gefühl dafür, wann man ein ausreichend großes n hat.

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: 5766
Registriert: Do 2. Jun 2011, 23:16
Danke gegeben: 15
Danke bekommen: 1351 mal in 1338 Posts

folgende User möchten sich bei bele bedanken:
Johann_81

Re: T-Test (bzw. nichpar.) für Summe von Variablen

Beitragvon Johann_81 » So 13. Nov 2016, 17:00

Hallo Bernhard,

Danke! Das ist wirklich sehr hilfreich; sogar mit Beispielcode.
Damit werde ich es wohl schaffen.

LG,
Hans
Johann_81
Grünschnabel
Grünschnabel
 
Beiträge: 5
Registriert: Fr 11. Nov 2016, 18:47
Danke gegeben: 2
Danke bekommen: 0 mal in 0 Post

Re: T-Test (bzw. nichpar.) für Summe von Variablen

Beitragvon PonderStibbons » So 13. Nov 2016, 21:42

Nun möchte ich testen, ob die Summe des Merkmals in Gruppe 1 und 2 größer ist als das Merkmal in Gruppe 3, also H1: x1+x2 < x3

Wäre das nicht einfach ein linearer Kontrast 2*a - 1*b - 1*c = 0
Das Merkmal ist in allen Gruppen nicht normalverteilt

Das ist bei n=50 bzw. n=150 doch uninteressant.

Mit freundlichen Grüßen

PonderStibbons
PonderStibbons
Foren-Unterstützer
Foren-Unterstützer
 
Beiträge: 11251
Registriert: Sa 4. Jun 2011, 15:04
Wohnort: Ruhrgebiet
Danke gegeben: 50
Danke bekommen: 2469 mal in 2453 Posts

Re: T-Test (bzw. nichpar.) für Summe von Variablen

Beitragvon Johann_81 » Mo 14. Nov 2016, 13:31

Hallo,

so langsam geht mir (glaube ich) dank Eurer Hilfe das ein oder andere kleine Licht auf.
Das ist bei n=50 bzw. n=150 doch uninteressant.

Genau da war ich mir nicht sicher:
Wenn ich z.B. die Summe aus A und B bilde um anschließend einen t-test zum Vergleich mit C durchzuführen: Da A und B nicht normalverteilt sind, kann ich nicht so einfach summieren.
Aber: Die Mittelwerte von A und B sind (nach Zentralem Grenzwertsatz) NV mit Varianz = (Varianz der jeweiligen Werte in der Gruppe/50).
Für meine Hypothese: A+B-C = 0
könnte ich demnach einfach die folgende Verteilung verwenden:
FDiff ~ N( MW(A)+MW(B)-MW(C) , Var(A)/50+Var(B)/50+Var(C)/50 )
Für FDiff bestimme ich die Quantile (z.B. 0.025 und 0.975 für zweiseitigen Test mit alpha = 5%) und schaue, ob 0 inner- oder außerhalb dieser Grenze liegt. Mit pnorm kann ich auch den p-Value direkt ermitteln.

In R sieht das wie folgt aus:

MWDiff = mean(A)+mean(B)-mean(C)
DiffVar = var(A)/50 + var(B)/50 + var(C)/50
p.ValueZweiseitig = 2*pnorm(0,mean=MWDiff, sd=sqrt(DiffVar))
Quantile = qnorm(c(0.025,0.5,0.975),mean=MWDiff, sd=sqrt(DiffVar))

Habe ich jetzt noch einen Denkfehler oder funktioniert das so?

Danke, Mit freundlichen Grüßen,
Hans
Johann_81
Grünschnabel
Grünschnabel
 
Beiträge: 5
Registriert: Fr 11. Nov 2016, 18:47
Danke gegeben: 2
Danke bekommen: 0 mal in 0 Post


Zurück zu Nichtparametrische Tests

Wer ist online?

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