2-fakt. ANOVA und KI's

Hallo Experten !

Vorweg die Frage: Wie bekomme ich das Konfidenzintervall für eine Interaktion?

Ich will so eine Art BACI-Design auswerten:

Messwerte: Genexpression (die Werte sind approx. normalvert.) Je stärker das Gen in einer Probe exprimiert ist, desto größer der Meßwert; Der Meßwert ist auch noch abh. von der eingesetzten Probenmenge (trivial, aber wichtig).

Gruppen: „Kontrolle“ und „Behandelt“

Fragestellung: Unterscheidet sich die (auf die eingesetzten Probenmengen normalisierte) Genexpression zwischen den Gruppen?

Durchführung: Von jeder biologischen Probe wird die Expression des interessierenden Zielgens UND auch die Expression eines Referenzgens gemessen. Das Referenzgen dient als „Ladekontrolle“, weil die Menge des eingesetzten Probenmaterials nicht bekannt ist. Die Messungen werden wiederholt, weil die Messtechnik selbst nicht sonderlich präzise ist. Die gemessenen Rohdaten entsprechen den logarithmierten Mengen, so dass die Normalisierung auf eine einfache Subtraktion hinausläuft.

Üblicherweise wurden die Auswertungen schrittweise und „von Hand“ gemacht, indem zunächst die Messwiederholungen gemittelt wurden. Diese gemittelten Werte werden dann als „Messwerte“ weiterverwendet. Im Zweiten Schritt wird für jede biologische Probe die Differenz zwischen Ziel-Gen und Referenz-Gen berechnet (=Normalisierung auf die Probenmenge). Jetzt liegt für jede biol. Probe ein Differenzwert vor. Diese Differenzwerte werden über die Gruppen (Kontrolle/Behandelt) gemittelt. Schließlich testet man, ob ein sig. Unterschied in den Mittelwerten zwischen den Gruppen besteht (t-Test, df = Anzahl biologischer Proben - 2).

Ich glaube, dass dieses Verfahren suboptimal ist, weil es die Varianzinformation aus den Messwiederholungen praktisch nicht nutzt.

Um das zu verbessern, dachte ich, kann man die Daten auch mit einer zweifaktoriellen ANOVA mit Messwiederholung über die biol. Proben und über die techn. Messwiederholungen auswerten, wobei die Interaktion zwischen den Faktoren „Gruppe“ und „Gen“ die eigentlich interessierende Größe ist.

Ich habe das mal in R und mit simulierten Daten gemacht und bekomme auch die erwarteten Ergebnisse raus. Ich bekomme als Koeffizient der Interaktion den selben Wert, der auch „per Hand“ berechnet wird und eben auch gleich die Aussage, ob die Interaktion signifikant ist. Soweit so gut.

Frage: Wie bekomme ich das Konfidenzinterval zu diesem Wert?

Ich habe die komplette ANOVA-Tabelle mit den Quadratesummen und Freiheitsgraden und sogar eine Größe, die sich „Residual standard error“ nennt. Ganz naiv dachte ich, ich kann „Residual df“ und diesen „standard error“ nehmen und mit der t-Verteilung das KI berechnen. Ich würde erwarten, dass das KI die Null nicht einschließt, wenn die Interaktion signifikant ist. Das ist so aber nicht der Fall. Das so berechnete KI ist deutlich breiter und schließt die Null auch bei signifikanten Interaktionen mit ein.

Danke schonmal für eure Hilfe & ein schönes WE

Jochen

Hi Jochen,

Üblicherweise wurden die Auswertungen schrittweise und „von
Hand“ gemacht, indem zunächst die Messwiederholungen gemittelt
wurden. Diese gemittelten Werte werden dann als „Messwerte“
weiterverwendet.

Valide Methode.

Ich glaube, dass dieses Verfahren suboptimal ist, weil es die
Varianzinformation aus den Messwiederholungen praktisch nicht
nutzt.

Das ist eigentlich auch der Sinn. I.a. geht man davon aus, dass die dabei beobachtete Streuung ein Messfehler ist oder am Durchführenden liegt und nicht Ausdruck einer anderen Expression ist. Deswegen wird diese durch das Mitteln herausgerechnet.

Um das zu verbessern, dachte ich, kann man die Daten auch mit
einer zweifaktoriellen ANOVA mit Messwiederholung über die
biol. Proben und über die techn. Messwiederholungen auswerten,
wobei die Interaktion zwischen den Faktoren „Gruppe“ und „Gen“
die eigentlich interessierende Größe ist.

Mal sehen, ob ich dein Modell zusammenbekomme:
Sei
i die Probenummer, j,k aus {1,2},
Yijk = Expression aus Gruppe k, Gen j und Probe i,
Gen1 = Ziel-Gen, Gen2 = Referenz-Gen,
G1 = Behandelt, G2 = Kontrolle,

dann hattest du das Model

Yijk = Genj + Gk + Genj*Gk ?

Ich habe das mal in R und mit simulierten Daten gemacht und
bekomme auch die erwarteten Ergebnisse raus. Ich bekomme als
Koeffizient der Interaktion den selben Wert, der auch „per
Hand“ berechnet wird und eben auch gleich die Aussage, ob die
Interaktion signifikant ist. Soweit so gut.

Verglichen mit dem t-Test wundert es mich dann, dass die Interaktion denselben Wert liefert wie die ‚Handrechnung‘ - das würde bedeuten, dass das Modell gar keinen Vorteil hätte, sondern nur eine Verkomplizierung ist.

Frage: Wie bekomme ich das Konfidenzinterval zu diesem Wert?
Ich habe die komplette ANOVA-Tabelle mit den Quadratesummen
und Freiheitsgraden und sogar eine Größe, die sich „Residual
standard error“ nennt. Ganz naiv dachte ich, ich kann
„Residual df“ und diesen „standard error“ nehmen und mit der
t-Verteilung das KI berechnen. Ich würde erwarten, dass das KI
die Null nicht einschließt, wenn die Interaktion signifikant
ist. Das ist so aber nicht der Fall. Das so berechnete KI ist
deutlich breiter und schließt die Null auch bei signifikanten
Interaktionen mit ein.

wieso nimmst du nicht den standard error der Interaktion?
Der residual SE gibt dir „nur“ den SE der Residuen an, und ist damit eine Art Gütemass für den Fit durch das Model.

Grüße,
JPL

Huhu JPL,

Mal sehen, ob ich dein Modell zusammenbekomme:
Sei
i die Probenummer, j,k aus {1,2},
Yijk = Expression aus Gruppe k, Gen j
und Probe i,
Gen1 = Ziel-Gen,
Gen2 = Referenz-Gen,
G1 = Behandelt,
G2 = Kontrolle,

dann hattest du das Model

Yijk = Genj +
Gk +
Genj*Gk ?

Sieht wohl korrekt aus.

Verglichen mit dem t-Test wundert es mich dann, dass die
Interaktion denselben Wert liefert wie die ‚Handrechnung‘ -
das würde bedeuten, dass das Modell gar keinen Vorteil hätte,
sondern nur eine Verkomplizierung ist.

Ja und Nein. Ja, es liefert den selben Wert für den _Effekt_. Das muß doch auch so sein, denn mit der „Hand-Rechnung“ wird genau dieser Interaktions-Effekt ja berechnet. Nein, das BACI-Design hat eine höhere Power als die „Hand-Rechnung“. Die KI’s für den Effekt müssten kleiner sein, wenn die Infos aus der ANOVA verwendet werden. Für die „Hand-Rechnung“ kann ich das KI mit der t-Verteilung berechnen, weil ich den SE und die Freiheitsgrade (nBehandelt+nKontrolle-2) habe. Bei der ANOVA weiß ich nicht, wie das zu rechnen ist.

wieso nimmst du nicht den standard error der Interaktion?

Wie bekomme ich den?

Grüße,
Jochen

Hi Jochen

Verglichen mit dem t-Test wundert es mich dann, dass die
Interaktion denselben Wert liefert wie die ‚Handrechnung‘ -
das würde bedeuten, dass das Modell gar keinen Vorteil hätte,
sondern nur eine Verkomplizierung ist.

Ja und Nein. Ja, es liefert den selben Wert für den _Effekt_.
Das muß doch auch so sein, denn mit der „Hand-Rechnung“ wird
genau dieser Interaktions-Effekt ja berechnet.

Dann ist die Hand-Rechung (H) also nicht das Resultat der Mittelung?
Sondern was?

Nein, das BACI-Design hat eine höhere Power als H. Die
KI’s für den Effekt müssten kleiner sein, wenn die Infos aus
der ANOVA verwendet werden. Für die „Hand-Rechnung“ kann ich
das KI mit der t-Verteilung berechnen, weil ich den SE und die
Freiheitsgrade
(nBehandelt+nKontrolle-2)
habe. Bei der ANOVA weiß ich nicht, wie das zu rechnen ist.

Auch die Interaktion folgt einer F-Statistik mit df(G1*G2) = df(G1) * df(G2)
Zählerfreiheitsgraden und n - df(G1) - df(G2) - df(G1*G1) - 1 Nennerfreiheitsgraden.
R gibt allerdings seltsamerweise (zu der Interaktion) eine t-Statistik aus, die passt da natürlich nicht.

wieso nimmst du nicht den standard error der Interaktion?

Wie bekomme ich den?

Ähm? Da du R verwendest, mit

data(Formaldehyde)
Formaldehyde$g

Hallo,

Dann ist die Hand-Rechung (H) also nicht das Resultat der
Mittelung?
Sondern was?

Des Ergebnis folgender Berechnung:

  • Die Messwiederholungen werden gemittelt (für jedes Gen und für jedes Individuum).
  • Für jedes Individuum werden die Differenzen aus Testgen und Referenzgen berechnet.
  • Die Differenzen werden über die Individuen jeder Gruppe gemittelt.
  • Die Differenz dieder Gruppenmittelwerte ist der Effekt, d.h. die relative Änderung der Genexpression zwischen den Gruppen.

Nochmal zur Erinnerung: Gen = {Referenzgen;Testgen}, Gruppe = {Kontrolle;Behandelt}.

Ähm? Da du R verwendest, mit

data(Formaldehyde)
Formaldehyde$g

aov

wobei ‚group‘, ‚gen‘ und ‚ind‘ Faktoren sind, welche eneb festlegen, um welche Werte in ‚data‘ es sich handelt.

Ich habe folgendes gefunden: Es gilt ja: F = t²

Wenn ich diese Beziehung hernehme, kann ich das KI mit der t-Verteilung berechnen, und zwar mit

 se = effect / tValue
 df = aov$Within$df
 ci = qt(1-0.025,df)\*se

Und das stimmt sogar, so wie ich das aus den Versuchen sehe: Genau immer dann, wenn p

Hi Jo,

Das Ergebnis folgender Berechnung:

  • Die Messwiederholungen werden gemittelt (für jedes Gen und
    für jedes Individuum).
  • Für jedes Individuum werden die Differenzen aus Testgen und
    Referenzgen berechnet.
  • Die Differenzen werden über die Individuen jeder Gruppe
    gemittelt.
  • Die Differenz dieder Gruppenmittelwerte ist der Effekt, d.h.
    die relative Änderung der Genexpression zwischen den Gruppen.

Nochmal zur Erinnerung: Gen = {Referenzgen;Testgen}, Gruppe =
{Kontrolle;Behandelt}.

Beispiel:

set.seed(93274, kind=c("Wichmann-Hill"))
 n 
und merken uns die Ergebnisse



> Ich kann lm nicht nehmen, weil ich doch einen repeated  
> measures - Ansatz habe.

Warum? Du kannst rep. meas auch in lm modellieren, das sowieso besser ist, wenn du keine balancierten Daten hast. Aber nehemn wir mal aov.



> aov 
>     
> Ich habe folgendes gefunden: Es gilt ja: F = t²
> Wenn ich diese Beziehung hernehme, kann ich das KI mit der
> t-Verteilung berechnen, und zwar mit
>     
>     
>     
>         
> se = effect / tValue

Ich nehme mal an tValue = sqrt(FValue)? Dann teilst du jetzt aber den effect der Interaktion durch den t-Wert der Gruppe ... 


> df = aov$Within$df

... nimmst die df der Residuen (statt der Interaktion) ...


> ci = qt(1-0.025,df)\*se

... und baust daraus die obere Grenze eines KI mit dem implizit angenommenen effect 0 (was er aber de facto nicht ist).


> 
  1. Frage: Wo stimmen jetzt die Effekte des t-Tests mit denen der aov überein?

Und das stimmt sogar, so wie ich das aus den Versuchen sehe:
Genau immer dann, wenn p