Das hier ist eine semi-interaktive Formelsammlung über alle wichtigen Formeln der Statistik 1 Vorlesung. Zu den meisten Formeln und Tests sind entsprechende R Beispiele zur Berechnung beigefügt - diese am besten per Copy-Paste in RStudio einfügen und eigene Werte einsetzen. Folgende Pakete werden zum Ausführen der Codebeispiele benötigt:
Summe aller Messwerte geteilt durch Anzahl der Beobachtungen.
xˉ=n1∑i=1nxi
vec = c(1,2,3,4,5,6)mean(vec)
Median
(Mindestend) 50% der Merkmalsträger haben einen Messwert, der kleiner oder gleich dem Median ist. Zur Berechnung müssen die Messwerte in aufsteigender Reihenfolge geordnet sein.
Md={x(2n+1)2x(2n)+x(2n+1)falls n ungeradefalls n gerade
Schätzung für μ1−μ2 einer Normalverteilung für unabhängige Stichproben
X11,X12,…,X1n1mitX1i∼N(μ1,σ2)X21,X22,…,X2n2 mit X2i∼N(μ2,σ2)
Punkt
Schätzfunktion:
XˉDiff =Xˉ1−Xˉ2
Erwartungswert:
E(XˉDiff )=E(Xˉ1−Xˉ2)=μ1−μ2
Standardfehler:
SE(XˉDiff)=n1σ2+n2σ2
XˉDiff ist erwartungstreu, effizient und konsistent (für n1→∞ und n2→∞).
Gepoolte Varianz:
Spool 2=n1+n2−2(n1−1)⋅S12+(n2−1)⋅S22
Sonderfall für n1=n2:
Spool 2=2S12+S22
vec1 = c(-10,0,-20,-11,-22)vec2 = c(0,-10,5)# Wenn nur Werte und keine Daten vorliegen, diese Werte durch eigene ersetzenn1 = length(vec1)n2 = length(vec2)s2_1 = var(vec1)s2_2 = var(vec2)((n1-1)*s2_1+(n2-1)*s2_2)/(n1+n2-2)
H0 ist wahr, für H1 entschieden: Fehler erster Art
H1 ist wahr, für H0 entschieden: Fehler zweiter Art
Formulierung: [Ein/Zwei]stichproben [t-/Binomial]test (für [abhängige/unabhängige] Stichproben) über Parameter [μ / π/μ1−μ2] für [gerichtete/ungerichtete] Hypothesen
t-Wert berechnen: Punktschätzwerte bestimmen und in die jeweilige Teststatistik einsetzen
Kritischen Bereich bestimmen:
ungerichtet:
P(T≤tkritlinks )=F(tkritlinks )=2α
klinks = qt(alpha/2,df)
P(T≥tkritrechts )=1−F(tkritrechts )=2α
krechts = qt(1-(alpha/2),df)
linksseitig:
P(T≤tkrit)=F(tkrit)=α
qt(alpha,df)
rechtsseitig:
P(T≥tkrit )=1−F(tkrit )=α
qt(1-alpha,df)
p-Wert berechnen: t-Wert berechnen und
linksseitig: P(T≤t)=F(t)
pt(t, df)
rechtsseitig: P(T≥t)=1−F(t)
1-pt(t, df)
ungerichtet: 2⋅P(T≤t) falls t≤0 ist, 2⋅P(T≤−t) falls t>0 ist.
if(t <= 0) 2*pt(t, df) else 2*pt(-t, df)
Parameter μ
Teststatistik
T=nS2Xˉ−μ0∼H0t(n−1)
Einstichprobe μungerichtet
H0:μ=μ0H1:μ=μ0
KT=]−∞,tkritlinks]∪[tkritrechts,+∞[
alpha = 0.005data = c(-20,-30,-70,-10,-50)mu0 = -10# Hypothesentest von Hand - Wenn nur Werte gegeben sind und keine Daten, diese Variablen durch eigene Werte ersetzenn = length(data)x_quer = mean(data)s2 = var(data)klinks = qt(alpha/2,df=n-1)krechts = qt(1-(alpha/2),df=n-1)paste("Krit. Bereich: ]-INF;", klinks,"] [", krechts, "; INF[", sep="")t = (x_quer-mu0)/sqrt(s2/n)tp = if(t <= 0) 2*pt(t, n-1) else 2*pt(-t, n-1)pif(p <= alpha) print("H1 annehmen") else print("H0 annehmen")# Hypothesentest mit R Funktion - basierend auf den Datenvektoren (ignorieren, falls eigene Werte verwendet werden)t.test(data, mu = mu0, alternative = 'two.sided')
Einstichprobe μlinksgerichtet
H0:μ≥μ0H1:μ<μ0
KT=]−∞,tkrit]
alpha = 0.005data = c(-20,-30,-70,-10,-50)mu0 = -10# Hypothesentest von Hand - Wenn nur Werte gegeben sind und keine Daten, diese Variablen durch eigene Werte ersetzenn = length(data)x_quer = mean(data)s2 = var(data)klinks = qt(alpha,df=n-1)paste("Krit. Bereich: ] -INF;", klinks,"]", sep="")t = (x_quer-mu0)/sqrt(s2/n)tp = pt(t, n-1)pif(p <= alpha) print("H1 annehmen") else print("H0 annehmen")# Hypothesentest mit R Funktion - basierend auf den Datenvektoren (ignorieren, falls eigene Werte verwendet werden)t.test(data, mu = mu0, alternative = 'less')
Einstichprobe μrechtsgerichtet
H0:μ≤μ0H1:μ>μ0
KT=[tkrit ,+∞[
alpha = 0.005data = c(-2,3,0,-3,1)mu0 = 3# Hypothesentest von Hand - Wenn nur Werte gegeben sind und keine Daten, diese Variablen durch eigene Werte ersetzenn = length(data)x_quer = mean(data)s2 = var(data)krechts = qt(1-alpha,df=n-1)paste("Krit. Bereich: [", krechts,";INF[", sep="")t = (x_quer-mu0)/sqrt(s2/n)tp = 1-pt(t, n-1)pif(p <= alpha) print("H1 annehmen") else print("H0 annehmen")# Hypothesentest mit R Funktion - basierend auf den Datenvektoren (ignorieren, falls eigene Werte verwendet werden)t.test(data, mu = mu0, alternative = 'greater')
alpha = 0.005data1 = c(-1,-4,-4,-3,-3)data2 = c(-2,-4,-6)mu0 = 0# Hypothesentest von Hand - Wenn nur Werte gegeben sind und keine Daten, diese Variablen durch eigene Werte ersetzenn1 = length(data1)n2 = length(data2)xdiff_quer = mean(data1)-mean(data2)s2_1 = var(data1)s2_2 = var(data2)s2pool = ((n1-1)*s2_1+(n2-1)*s2_2)/(n1+n2-2)klinks = qt(alpha/2,df=n1+n2-2)krechts = qt(1-alpha/2,df=n1+n2-2)paste("Krit. Bereich: ]-INF;", klinks,"] [", krechts, "; INF[", sep="")t = (xdiff_quer-mu0)/sqrt(s2pool/n1 + s2pool/n2)tp = if(t <= 0) 2*pt(t, n1+n2-2) else 2*pt(-t, n1+n2-2)pif(p <= alpha) print("H1 annehmen") else print("H0 annehmen")# Hypothesentest mit R Funktion - basierend auf den Datenvektoren (ignorieren, falls eigene Werte verwendet werden)t.test(data1, data2, mu = mu0, alternative = 'two.sided', paired = FALSE, var.equal= TRUE)
Zweistichprobe μ1−μ2 unabhängig linksgerichtet
H0:μ1−μ2≥μ0H1:μ1−μ2<μ0
KT=]−∞,tkrit]
alpha = 0.005data1 = c(-1,0,-2,-1,-4)data2 = c(2,3,1,3,3)mu0 = 1# Hypothesentest von Hand - Wenn nur Werte gegeben sind und keine Daten, diese Variablen durch eigene Werte ersetzenn1 = length(data1)n2 = length(data2)xdiff_quer = mean(data1)-mean(data2)s2_1 = var(data1)s2_2 = var(data2)s2pool = ((n1-1)*s2_1+(n2-1)*s2_2)/(n1+n2-2)klinks = qt(alpha,df=n1+n2-2)paste("Krit. Bereich: ] -INF;", klinks,"]", sep="")t = (xdiff_quer-mu0)/sqrt(s2pool/n1 + s2pool/n2)tp = pt(t, n1+n2-2)pif(p <= alpha) print("H1 annehmen") else print("H0 annehmen")# Hypothesentest mit R Funktion - basierend auf den Datenvektoren (ignorieren, falls eigene Werte verwendet werden)t.test(data1, data2, mu = mu0, alternative = 'less', paired = FALSE, var.equal= TRUE)
Zweistichprobe μ1−μ2 unabhängig rechtsgerichtet
H0:μ1−μ2≤μ0H1:μ1−μ2>μ0
KT=[tkrit ,+∞[
alpha = 0.005data1 = c(100,200,100,200)data2 = c(102,202,102,202,152)mu0 = -2# Hypothesentest von Hand - Wenn nur Werte gegeben sind und keine Daten, diese Variablen durch eigene Werte ersetzenn1 = length(data1)n2 = length(data2)xdiff_quer = mean(data1)-mean(data2)s2_1 = var(data1)s2_2 = var(data2)s2pool = ((n1-1)*s2_1+(n2-1)*s2_2)/(n1+n2-2)krechts = qt(1-alpha,df=n1+n2-2)paste("Krit. Bereich: [", krechts,";INF[", sep="")t = (xdiff_quer-mu0)/sqrt(s2pool/n1 + s2pool/n2)tp = 1-pt(t, n1+n2-2)pif(p <= alpha) print("H1 annehmen") else print("H0 annehmen")# Hypothesentest mit R Funktion - basierend auf den Datenvektoren (ignorieren, falls eigene Werte verwendet werden)t.test(data1, data2, mu = mu0, alternative = 'greater', paired = FALSE, var.equal= TRUE)
Parameterdifferenz μ1−μ2 abhängig
Teststatistik
T=nSDiff2(Xˉdiff)−μ0∼H0t(n−1)
Zweistichprobe μ1−μ2 abhängig ungerichtet
H0:μ1−μ2=μ0H1:μ1−μ2=μ0
KT=]−∞,tkritlinks ]∪[tkritrechts ,+∞[
alpha = 0.005data1 = c(-0.3,-0.4,0.2,0.5,0.7)data2 = c(-0.3,0.3,0.4,0,0)mu0 = 0# Hypothesentest von Hand - Wenn nur Werte gegeben sind und keine Daten, diese Variablen durch eigene Werte ersetzenn = length(data1)xdiff_quer = mean(data1)-mean(data2)s2diff = var(data1-data2)klinks = qt(alpha/2,df=n-1)krechts = qt(1-alpha/2,df=n-1)paste("Krit. Bereich: ]-INF;", klinks,"] [", krechts, "; INF[", sep="")t = (xdiff_quer-mu0)/sqrt(s2diff/n)tp = if(t <= 0) 2*pt(t, n-1) else 2*pt(-t, n-1)pif(p <= alpha) print("H1 annehmen") else print("H0 annehmen")# Hypothesentest mit R Funktion - basierend auf den Datenvektoren (ignorieren, falls eigene Werte verwendet werden)t.test(data1, data2, mu = mu0, alternative = 'two.sided', paired = TRUE, var.equal= TRUE)
Zweistichprobe μ1−μ2 abhängig linksgerichtet
H0:μ1−μ2≥μ0H1:μ1−μ2<μ0
KT=]−∞,tkrit]
alpha = 0.005data1 = c(-10,-20,-20,-15,-8)data2 = c(-20,-50,-70,-80,-90)mu0 = 10# Hypothesentest von Hand - Wenn nur Werte gegeben sind und keine Daten, diese Variablen durch eigene Werte ersetzenn = length(data1)xdiff_quer = mean(data1)-mean(data2)s2diff = var(data1-data2)klinks = qt(alpha,df=n-1)paste("Krit. Bereich: ] -INF;", klinks,"]", sep="")t = (xdiff_quer-mu0)/sqrt(s2diff/n)tp = pt(t, n-1)pif(p <= alpha) print("H1 annehmen") else print("H0 annehmen")# Hypothesentest mit R Funktion - basierend auf den Datenvektoren (ignorieren, falls eigene Werte verwendet werden)t.test(data1, data2, mu = mu0, alternative = 'less', paired = TRUE, var.equal= TRUE)
Zweistichprobe μ1−μ2 abhängig rechtsgerichtet
H0:μ1−μ2≤μ0H1:μ1−μ2>μ0
KT=[tkrit ,+∞[
alpha = 0.005data1 = c(11,35,14,12,2)data2 = c(10,40,30,10,15)mu0 = 0# Hypothesentest von Hand - Wenn nur Werte gegeben sind und keine Daten, diese Variablen durch eigene Werte ersetzenn = length(data1)xdiff_quer = mean(data1)-mean(data2)s2diff = var(data1-data2)krechts = qt(1-alpha,df=n-1)paste("Krit. Bereich: [", krechts,";INF[", sep="")t = (xdiff_quer-mu0)/sqrt(s2diff/n)tp = 1-pt(t, n-1)pif(p <= alpha) print("H1 annehmen") else print("H0 annehmen")# Hypothesentest mit R Funktion - basierend auf den Datenvektoren (ignorieren, falls eigene Werte verwendet werden)t.test(data1, data2, mu = mu0, alternative = 'greater', paired = TRUE, var.equal= TRUE)
Effektstärke und Power
Cohen’s δ (delta)
Unabhängige Stichproben:
δ=σ2μ1−μ2δ^Wert=spool 2xˉ1−xˉ2
data1 = c(0,0,-1)data2 = c(2,0,1)# Cohens Delta von Handn1 = length(data1)n2 = length(data2)xdiff_quer = mean(data1)-mean(data2)s2_1 = var(data1)s2_2 = var(data2)s2pool = ((n1-1)*s2_1+(n2-1)*s2_2)/(n1+n2-2)xdiff_quer/sqrt(s2pool)# Cohens Delta mit R Funktionlibrary(effsize)cohen.d(data1, data2)
Abhängige Stichproben - unkorrigiert:
δ=σDiff2μ1−μ2
δ^Wert=sDiff2xˉ1−xˉ2
Abhängige Stichproben - korrigiert:
δ=2⋅(1−ρX1X2)σDiff2μ1−μ2
δ^Wert=2⋅(1−rX1X2)sDiff2xˉ1−xˉ2
data1 = c(-10,-20,-20,-15,-80)data2 = c(-20,-50,-70,-80,-90)# Cohens Delta mit R Funktionlibrary(effsize)cohen.d(data1, data2, paired=TRUE)
Wahrscheinlichkeit, dass sich die Teststatistik im kritischen Bereich realisiert, falls die H1 gilt.
Je größer das Signifikanzniveau, desto größer die Power.
Je größer die Stichprobe, desto größer die Power.
Je größer der wahre Effekt, desto größer die Power.
4 Faktoren wirken aufeinander: Power (1−β), Signifikanzniveau (α), Effekt (δ) und Stichprobengröße (n). 3 dieser Werte bestimmen jeweils den 4.
Power von Hypothesentest berechnen
Für die Berechnung der Power brauchen wir: Signifikanzniveau (α), (kleinst annehmbaren) Effekt (δ) und Stichprobengröße (n).
library(pwr)n = 1000 # Anzahl pro Gruppeeffect = -0.2alpha = 0.005type = 'one.sample' # oder 'two.sample' oder 'paired'alternative = 'less' # oder 'greater' oder 'two.sided'pwr.t.test(n=n,d=effect,sig.level=alpha, type=type, alternative=alternative)
Stichprobenplanung für Hypothesentest
Für die Planung der Stichprobengröße brauchen wir: Gewünschte Power (1−β), Signifikanzniveau (α), Effekt (δ)
(n ist die Anzahl an Personen pro Gruppe)
library(pwr)desired_power = 0.8effect = -0.2alpha = 0.005type = 'one.sample' # oder 'two.sample' oder 'paired' - Typ des Hypothesentestsalternative = 'less' # oder 'greater' oder 'two.sided' - Richtung der H1pwr.t.test(power=desired_power,d=effect,sig.level=alpha, type=type, alternative=alternative)
False Discovery Rate
Es werden N Studien betrachtet.
Alle führen statistische Hypothesentests mit dem Signifikanzniveau α durch
ρ ist der Anteil der Studien, in denen die H0 wahr ist. (Basisrate)
alpha = 0.005power = 0.95baserate = 0.6FDR = (alpha*baserate)/((alpha*baserate)+(power)*(1-baserate))FDR# Anzahl der false positives und right positives unter Angabe eines NN = 10fp = alpha*baserate*Nfprp = power*(1-baserate)*Nrp
Einflussgrößen
FDR umso niedriger ist, je kleiner das Signifikanzniveau α ist.
FDR umso niedriger ist, je höher die Power 1−β ist.
FDR umso höher ist, je höher die Basisrate ρ ist.
Annahmen Inferenzstatistik
Relative Häufigkeit einer Messwertausprägung einer diskreten Variable in einer Population.
Annahmen: keine
Verfahren:
Intervallschätzung für π
Hypothesentests: Binomialtest
Mittelwert einer metrischen Variable in einer Population
Annahmen:
Das Histogramm der interessierenden Variable in der Population kann durch die Dichtefunktion einer Normalverteilung approximiert werden.
Verfahren:
Intervallschätzung für μ
Hypothesentests: Einstichproben t-Test
Differenz der Mittelwerte einer metrischen Variable in zwei Population. (unabhängig)
Annahmen:
Das Histogramm der interessierenden Variable kann in beiden Populationen durch die Dichtefunktion einer Normalverteilung approximiert werden. *Die empirische Varianz der interessierenden Variable ist in beiden Populationen gleich groß.
Verfahren:
Intervallschätzung: Konfidenzintervall für μ1−μ2 bei unabhängigen Stichproben
Hypothesentests: Zweistichproben t-Test für unabhängige Stichproben
Differenz der Mittelwerte einer metrischen Variable in zwei Population. (abhängig)
Annahmen:
Das Histogramm der interessierenden Variable kann in beiden Populationen durch die Dichtefunktion einer Normalverteilung approximiert werden.
Verfahren:
Intervallschätzung: Konfidenzintervall für μ1−μ2 bei abhängigen Stichproben
Hypothesentests: Zweistichproben t-Test für abhängige Stichproben
Bei großen Stichproben können Verletzungen der Annahmen vernachlässigt werden!