197 lines
9.6 KiB
TeX
197 lines
9.6 KiB
TeX
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
|
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
|
\chapter{\tr{Bootstrap Methods}{Bootstrap Methoden}}
|
|
|
|
Beim Bootstrap erzeugt man sich die Verteilung von Statistiken durch Resampling
|
|
aus der Stichprobe. Das hat mehrere Vorteile:
|
|
\begin{itemize}
|
|
\item Weniger Annahmen (z.B. muss eine Stichprobe nicht normalverteilt sein).
|
|
\item H\"ohere Genauigkeit als klassische Methoden.
|
|
\item Allgemeing\"ultigkeit: Bootstrap Methoden sind sich sehr
|
|
\"ahnlich f\"ur viele verschiedene Statistiken und ben\"otigen nicht
|
|
f\"ur jede Statistik eine andere Formel.
|
|
\end{itemize}
|
|
|
|
\begin{figure}[tp]
|
|
\includegraphics[width=0.8\textwidth]{2012-10-29_16-26-05_771}\\[2ex]
|
|
\includegraphics[width=0.8\textwidth]{2012-10-29_16-41-39_523}\\[2ex]
|
|
\includegraphics[width=0.8\textwidth]{2012-10-29_16-29-35_312}
|
|
\caption{\label{statisticalpopulationfig}\tr{Why can we only measure a sample of the
|
|
population?}{Warum k\"onnen wir nur eine Stichprobe der
|
|
Grundgesamtheit messen?}}
|
|
\end{figure}
|
|
|
|
Zur Erinnerung: In der Statistik interessieren wir uns f\"ur
|
|
Eigenschaften einer Grundgesamtheit. z.B. die mittlere L\"ange von
|
|
sauren Gurken (\figref{statisticalpopulationfig}). Aus der
|
|
Grundgesamtheit wird eine Stichprobe (simple random sample, SRS)
|
|
gezogen, da niemals die gesamte Grundgesamtheit gemessen werden kann.
|
|
Dann wird aus dieser einzigen Stichprobe die gew\"unschte Gr\"o{\ss}e
|
|
berechnet (die mittlere Gr\"o{\ss}e der sauren Gurken) und man hofft,
|
|
dass die erhaltene Zahl an der entsprechenden unbekannten Gr\"o{\ss}e
|
|
der Grundgesamtheit (der Populationsparameter) m\"oglichst nah dran
|
|
ist. Eine Aufgabe der Statistik ist es, herauszubekommen wie gut der
|
|
Populationsparameter abgesch\"atzt worden ist.
|
|
|
|
Wenn wir viele Stichproben ziehen w\"urden, dann k\"onnte man f\"ur
|
|
jede Stichprobe den gew\"unschten Parameter berechnen, und von diesen
|
|
die Wahrscheinlichkeitsverteilung \"uber ein Histogramm bestimmen ---
|
|
die ``Stichprobenverteilung'' (sampling distribution,
|
|
\subfigref{bootstrapsamplingdistributionfig}{a}).
|
|
|
|
\begin{figure}[tp]
|
|
\includegraphics[height=0.2\textheight]{srs1}\\[2ex]
|
|
\includegraphics[height=0.2\textheight]{srs2}\\[2ex]
|
|
\includegraphics[height=0.2\textheight]{srs3}
|
|
\caption{\label{bootstrapsamplingdistributionfig}Bootstrap der
|
|
Stichprobenvertielung (a) Von der Grundgesamtheit (population) mit
|
|
unbekanntem Parameter (z.B. Mittelwert $\mu$) zieht man
|
|
Stichproben (SRS: simple random samples). Die Statistik (hier
|
|
Bestimmung von $\bar x$) kann f\"ur jede Stichprobe berechnet
|
|
werden. Die erhaltenen Werte entstammen der
|
|
Stichprobenverteilung. Meisten wird aber nur eine Stichprobe
|
|
gezogen! (b) Mit bestimmten Annahmen und Theorien kann man auf
|
|
die Stichprobenverteilung schlie{\ss}en ohne sie gemessen zu
|
|
haben. (c) Alternativ k\"onnen aus der einen Stichprobe viele
|
|
Bootstrap-Stichproben generiert werden (resampling) und so
|
|
Eigenschaften der Stichprobenverteilung empirisch bestimmt
|
|
werden. Aus Hesterberg et al. 2003, Bootstrap Methods and
|
|
Permuation Tests}
|
|
\end{figure}
|
|
|
|
In Wirklichkeit haben wir aber nur eine Stichprobe. Wir behelfen uns
|
|
dann mit Theorien, die meistens bestimmte Annahmen \"uber die Daten
|
|
machen (z.B. Normalverteilung), und uns erlauben etwas \"uber die
|
|
Genaugigkeit unserer Sch\"atzung aus der Stichprobe auszusagen
|
|
(z.B. die Formel $\sigma/\sqrt{n}$ f\"ur den Standardfehler des
|
|
Mittelwerts, die uns die Standardabweichung angibt, mit dem die
|
|
Mittelwerte der Stichproben um den Populationsmittelwert streuen
|
|
\subfigref{bootstrapsamplingdistributionfig}{b}).
|
|
|
|
Wir k\"onnen aber auch aus der einen Stichprobe die wir haben durch
|
|
Resampling viele neue Stichproben generieren (Bootstrap). Von diesen
|
|
k\"onnen wir jeweils die gew\"unschte Gr\"o{\ss}e berechnen und ihre
|
|
Verteilung bestimmen (Bootstrap Verteilung,
|
|
\subfigref{bootstrapsamplingdistributionfig}{c}). Diese Verteilung ist
|
|
interessanterweise in ihrer Breite und Form der Stichprobenverteilung
|
|
sehr \"ahnlich. Nur streut sie nicht um den Populationswert sonder um
|
|
die Sch\"atzung aus der Stichprobe. Wir k\"onnen die
|
|
Bootstrapverteilung aber benutzen um Aussagen \"uber die Genauigkeit
|
|
unserer Sch\"atzung zu treffen (z.B. Standardfehler,
|
|
Konfidenzintervalle).
|
|
|
|
Beim Bootstrap erzeugen wir durch Resampling neue Stichproben und
|
|
benutzen diese, um die Stichprobenverteilung einer Statistik zu
|
|
berechnen. Die Bootstrap Stichproben haben jeweils den gleichen Umfang
|
|
wie die urspr\"unglich gemessene Stichprobe und werden durch Ziehen
|
|
mit Zur\"ucklegen gewonnen. Jeder Wert der urspr\"unglichen Stichprobe
|
|
kann also einmal, mehrmals oder gar nicht in einer Bootstrap
|
|
Stichprobe vorkommen.
|
|
|
|
|
|
\section{Bootstrap des Standardfehlers}
|
|
|
|
Am besten l\"asst sich die Bootstrap Methode am Beispiel des
|
|
Standardfehlers des Mittelwertes veranschaulichen. Aus der Stichprobe
|
|
k\"onnen wir den Mittelwert berechnen. Der Standardfehler des
|
|
Mittelwerts gibt die Standardabweichung an, mit der wir erwarten, dass
|
|
der gemessene Mittelwert um den Populationsmittelwert streut.
|
|
|
|
\begin{figure}[tp]
|
|
\includegraphics[width=1\textwidth]{bootstrapsem}
|
|
\caption{\label{bootstrapsemfig}Bootstrap des Standardfehlers des
|
|
Mittelwertes. Die --- normalerweise unbekannte ---
|
|
Stichprobenverteilung des Mittelwerts (rot) ist um den
|
|
Populationsmittelwert bei $\mu=0$ zentriert. Die
|
|
Bootstrap-Verteilung (blau), die durch Resampling aus einer
|
|
Stichprobe gewonnen worden ist, hat die gleiche Form und Breite
|
|
wie die Stichprobenverteilung, ist aber um den Mittelwert der
|
|
Stichprobe zentriert. Die Standardabweichung der
|
|
Bootstrapverteilung kann also als Sch\"atzer f\"ur den
|
|
Standardfehler des Mittelwertes verwendet werden.}
|
|
\end{figure}
|
|
|
|
Durch Bootstrap k\"onnen wir unsere Stichprobe resamplen und dadurch
|
|
eine ganze Verteilung von Mittelwerten generieren
|
|
(\figref{bootstrapsemfig}). Die Standardabweichung dieser Verteilung
|
|
ist dann der gesuchte Standardfehler des Mittelwerts.
|
|
|
|
\begin{exercise}{bootstrapsem.m}{bootstrapsem.out}
|
|
Erzeuge die Verteilung der Mittelwerte einer Stichprobe durch Bottstrapping,
|
|
um daraus den Standardfehler des Mittelwerts zu bestimmen.
|
|
\begin{enumerate}
|
|
\item Ziehe 1000 normalverteilte Zufallszahlen und berechne deren
|
|
Mittelwert, Standardabweichung und Standardfehler
|
|
($\sigma/\sqrt{n}$).
|
|
\item Resample die Daten 1000 mal (Ziehen mit Zur\"ucklegen) und
|
|
berechne jeweils den Mittelwert.
|
|
\item Plotte ein Histogramm dieser Mittelwerte, berechne deren
|
|
Mittelwert und Standardabweichung und vergleiche mit den Werten
|
|
der Grundgesamtheit und der Stichprobe.
|
|
\end{enumerate}
|
|
\end{exercise}
|
|
|
|
|
|
\section{Permutationstests}
|
|
Bei statistischen Tests wird nach der Wahrscheinlichkeit, ob die
|
|
beobachtete Me{\ss}gr\"o{\ss}e einer Stichprobe aus der Nullhypothese
|
|
kommt, gefragt. Ist diese Wahrscheinlichkeit kleiner als das
|
|
Signifikanzniveau, kann die Nullhypothese verworfen werden.
|
|
|
|
Traditionell werden diese Wahrscheinlichkeiten \"uber theoretisch
|
|
hergeleitete Wahrscheinlichkeitsverteilungen berechnet. Dabei gehen
|
|
immer gewisse Annahmen \"uber die Daten ein und es mu{\ss} der zu den
|
|
Daten passende Test ausgew\"ahlt werden.
|
|
|
|
Alternativ kann die Wahrscheinlichkeits(dichte)verteilung der
|
|
Nullhypothese aus den Daten selbst gewonnen werden. Dabei m\"ussen die
|
|
Daten entsprechend der Nullhypothese neu aus der Stichprobe gezogen
|
|
werden.
|
|
|
|
Diese ``Permutationstests'' haben den Vorteil, dass nur die
|
|
Eigenschaft von Interesse zerst\"ort wird, um die Nullhypothese zu
|
|
generieren. Alle anderen Eigenschaften der Daten bleiben erhalten.
|
|
|
|
\begin{figure}[tp]
|
|
\includegraphics[width=1\textwidth]{permutecorrelation}
|
|
\caption{\label{permutecorrelationfig}Permutationstest f\"ur
|
|
Korrelationen. Der Korrelationskoeffizient eines Datensatzes mit
|
|
200 Datenpaaren ist $\rho=0.21$. Die Nullhypothesenverteilung der
|
|
aus den permutierten, unkorrelierten Datens\"atzen berechneten
|
|
Korrelationskoeffizienten ergibt die gelbe Verteilung, die um Null
|
|
streut. Der gemessene Korrelationskoeffizient ist deutlich
|
|
gr\"o{\ss}er als das 95\,\%-Perzentil der
|
|
Nullhypoothesenverteilung und darum eine signifikante
|
|
Korrelation.}
|
|
\end{figure}
|
|
|
|
Sehr sch\"on lassen sich Permutationstest am Beispiel von
|
|
Korrelationen veranschaulichen. Gegeben sind Datenpaare $(x_i, y_i)$.
|
|
Daraus k\"onnen wir den Korrelationskoeffizienten berechnen. Wir
|
|
wissen dann aber noch nicht, ob der berechnete Wert tats\"achlich eine
|
|
Korrelation anzeigt. Die Nullhypothese ist, dass die Daten nicht
|
|
miteinander korreliert sind. Indem wir die $x$-Werte und die $y$-Werte
|
|
unabh\"angig voneinander permutieren (ihre Reihenfolge zuf\"allig neu
|
|
anordnen), werden die Korrelationen der Datenpaare zerst\"ort. Wenn
|
|
wir das viele Male wiederholen, bekommen wir die Verteilung der
|
|
Korrelationskoeffizienten f\"ur nichtkorrelierte Daten. Aus dieser
|
|
Verteilung der Nullhypothese k\"onnen wir dann dann die Signifikanz
|
|
der tats\"achlich gemessenen Korrelation bestimmen.
|
|
|
|
\begin{exercise}{correlationsignificance.m}{correlationsignificance.out}
|
|
Bestimme die Signifikanz eines Korrelationskoeffizienten.
|
|
\begin{enumerate}
|
|
\item Erzeuge korrelierte Daten indem zu zuf\"allig gezogenen
|
|
$x$-Werten $y$-Werte gem\"a{\ss} $y=0.2 \cdot x$ berechnet werden,
|
|
zu denen weitere normalverteilte Zufallszahlen addiert werden.
|
|
\item Berechne den Korrelationskoeffizient dieser Datenpaare.
|
|
\item Generiere die Verteilung der Nullhypothese ``unkorrelierte
|
|
Daten'' indem die $x$- und $y$-Daten 1000-mal unabh\"angig
|
|
permutiert werden \matlabfun{randperm} und jeweils der
|
|
Korrelationskoeffizient berechnet wird.
|
|
\item Bestimme aus den Nullhypothesendaten das 95\,\%-Perzentil und
|
|
vergleiche es mit dem tats\"achlichen Korrelationskoeffizienten.
|
|
\end{enumerate}
|
|
\end{exercise}
|
|
|