Übungsblatt 2 Numerische Methoden in der Bayes-Inferenz WiSe 2006/07 Michael Höhle Übung: Montag

Ähnliche Dokumente
Der Metropolis-Hastings Algorithmus

Übersicht. 1 Einführung in Markov-Chain Monte-Carlo Verfahren. 2 Kurze Wiederholung von Markov-Ketten

BZQ II: Stochastikpraktikum

Eine Einführung in R: Dichten und Verteilungsfunktionen

Eine Einführung in R: Dichten und Verteilungsfunktionen

Theorie-Teil: Aufgaben 1-3: 30 Punkte Programmier-Teil: Aufgaben 4-9: 60 Punkte

80 7 MARKOV-KETTEN. 7.1 Definition und Eigenschaften von Markov-Ketten

Stochastik-Praktikum

Statistics, Data Analysis, and Simulation SS 2015

DisMod-Repetitorium Tag 3

Eine Einführung in R: Dichten und Verteilungsfunktionen

Fortgeschrittene Ökonometrie: Maximum Likelihood

CIM2004 Übung 7: Permutationstest, Bootstrap & Jackknife

Einführung in Stochastische Prozesse und Zeitreihenanalyse Vorlesung, 2017S, 2.0h 24.November 2017 Hubalek/Scherrer

W-Rechnung und Statistik für Ingenieure Übung 11

> library(nlme) > fit <- lme(y ~ 1, random = ~1 id, data = sim.y.long) > summary(fit)

Stochastik Praktikum Markov Chain Monte Carlo Methoden

1. Übungsblatt zu Wahrscheinlichkeitsrechnung und Statistik in den Ingenieurswissenschaften

Markov Chain Monte Carlo Verfahren. Helga Wagner Bayes Statistik WS 2010/11 407

3.4 Bayes-Verfahren Begrifflicher Hintergrund. Satz 3.22 (allgemeines Theorem von Bayes)

Wahrscheinlichkeit und die Normalverteilung. Jonathan Harrington

Bedingt unabhängige Zufallsvariablen

Statistische Software (R)

Nachholklausur zur Vorlesung Schätzen und Testen I. 04. April Bitte ausfüllen und unterschreiben!!!

Stochastische Prozesse. Woche 5

Statistische Software (R)

library(lattice) nex = read.table(file.path(pfadu, "normexample.txt")) source(file.path(pfadu, "lattice.normal.r"))

Grundlagen der Resampling Methoden

Übungsblatt 4. Autokovarianz, Autokorrelation Invertierbarkeit und Kausalität

Modellierung- und Simulation Mathis Plewa ( )

Endliche Markov-Ketten - eine Übersicht

Stochastik (BSc D-MAVT / BSc D-MATH / BSc D-MATL)

Methoden der Statistik Markov Chain Monte Carlo Methoden

Punktschätzer Optimalitätskonzepte

Übersicht Statistik-Funktionen. Statistische Software (R) Nützliche Funktionen. Nützliche Funktionen

Musterlösung der Klausur vom 29. Juli 2003

Übungen mit dem Applet Rangwerte

Bachelorprüfung: Statistik (1 Stunde)

ALMA II - ÜBERBLICK STOCHASTIK. Jochen Garcke

Bayesianische FDR (Teil 1)

Hochschule RheinMain WS 2018/19 Prof. Dr. D. Lehmann. 8. Übungsblatt zur Vorlesung Ökonometrie

Kurze Einführung in R

Simulationsmethoden in der Bayes-Statistik

Einführung in die Maximum Likelihood Methodik

Hypothesenbewertungen: Übersicht

Statistik. Sommersemester Prof. Dr. Stefan Etschberger Hochschule Augsburg. für Betriebswirtschaft und internationales Management

Lösungen zur Prüfung Angewandte Statistische Methoden in den Nutzierwissenschaften FS 2016

Bayesianische Modellwahl. Helga Wagner Bayes Statistik WS 2010/11 161

Stochastic Processes SS 2010 Prof. Anton Wakolbinger. Klausur am 16. Juli 2010

Kapitel 5 Erneuerungs- und Semi-Markov-Prozesse

R Befehle SS min(x) Bestimmt das Minimum von x Bestimmt die Anzahl der sum(x<=4) Werte von x, die kleiner oder max(x) Bestimmt das Maximum von x

Der Ergodensatz. Hendrik Hülsbusch

Wahrscheinlichkeit und die Normalverteilung. Jonathan Harrington

Hypothesentests für Erwartungswert und Median. Statistik (Biol./Pharm./HST) FS 2015

Schätzen und Testen I in 90 Minuten. 8. Februar 2010

Varianzkomponentenschätzung

Teil VIII. Zentraler Grenzwertsatz und Vertrauensintervalle. Woche 6: Zentraler Grenzwertsatz und Vertrauensintervalle. Lernziele. Typische Situation

Randomisierte Algorithmen

Statistik I für Betriebswirte Vorlesung 14

Stochastik-Praktikum

Kapitel VII. Einige spezielle stetige Verteilungen

unendlich-dimensionalen lästigen Parameter auffassen.

Übungen zur Vorlesung. Statistik 2

Vorlesung: Statistik II für Wirtschaftswissenschaft

Trim Size: 176mm x 240mm Lipow ftoc.tex V1 - March 9, :34 P.M. Page 11. Über die Übersetzerin 9. Einleitung 19

Klassifikation von Daten Einleitung

Erneuerungs- und Semi-Markov-Prozesse

3.2 Maximum-Likelihood-Schätzung

Simulation von Zufallszahlen. Grundlage: zufällige Quelle von Zufallszahlen, durch einfachen rekursiven Algorithmus am Computer erzeugt

Statistics, Data Analysis, and Simulation SS 2015

Klausur Statistik Lösungshinweise

Zufallsvariablen [random variable]

Statistics, Data Analysis, and Simulation SS 2017

Statistische Analyseverfahren Abschnitt 2: Zufallsvektoren und mehrdimensionale Verteilungen

Randomisierte Algorithmen

Modellanpassung. Einführung in die induktive Statistik. Statistik. Statistik. Friedrich Leisch

Die Monte Carlo (MC) Methode

OLS-Schätzung: asymptotische Eigenschaften

Dynamische Systeme und Zeitreihenanalyse // Multivariate Normalverteilung und ML Schätzung 11 p.2/38

Teil VII. Deskriptive Statistik. Woche 5: Deskriptive Statistik. Arbeitsschritte der Datenanalyse. Lernziele

Statistik I für Betriebswirte Vorlesung 14

Aufgaben. Frage: (Aufgabe 3) Warum findet R den Befehl approx.r nicht?

(Reine) Bayes-Punktschätzung

Einführung in Markoff-Ketten

Ein Beispiel: Random Walk

Seminar in Statistik - FS Nonparametric Bayes. Handout verfasst von. Ivo Francioni und Philippe Muller

x t2 y t = 160, y = 8, y y = 3400 t=1

X =, y In welcher Annahme unterscheidet sich die einfache KQ Methode von der ML Methode?

Übersicht deskriptiver Maße & anderer. Nützliche Funktionen. Statistische Software (R) artihmetische Mittel median() mean()

Teil IX. Verteilungen an Daten anpassen ( Maximum-Likelihood-Schätzung. fitten ) Woche 7: Maximum-Likelihood-Schätzung. Lernziele

Statistik I für Betriebswirte Vorlesung 13

Rechnernutzung in der Physik Teil 3 Statistische Methoden der Datenanalyse

Angewandte Stochastik

7. Lösungen weitere Übungsaufgaben Statistik für Ingenieure WiSe 16/17

Übungen mit dem Applet Wahrscheinlichkeitsnetz

Statistische Methoden der Datenanalyse. Übung IV

7. Übung: Aufgabe 1. b), c), e) Aufgabe 2. a), c), e) Aufgabe 3. c), e) Aufgabe 4. Aufgabe 5. Aufgabe 6. Aufgabe 7. Aufgabe 8. Aufgabe 9.

Klausur,,Algorithmische Mathematik II

Auswertung und Lösung

Transkript:

Übungsblatt 2 Numerische Methoden in der Bayes-Inferenz WiSe 2006/07 Michael Höhle Übung: Montag 06.11.2006 Aufgabe 1 (MCMC Schätzung eines Mixturparameters) Angenommen Sie beobachten Daten y = (y 1,..., y n ), die unabhängig aus der Mischverteilung mit Dichte f(y δ) = δf 1 (y 7, 0.5 2 ) + (1 δ)f 2 (y 10, 0.5 2 ), 0 < δ < 1, stammen, wobei f i (y µ i, σi 2), i = 1, 2, die Dichte der Normalverteilung mit Erwartungswert µ i und Varianz σi 2 ist. Des Weiteren wird angenommen, dass a priori δ U(0, 1). Mittels MCMC-Methoden wird nun eine Markov-Kette erzeugt, deren stationäre Verteilung gleich der posteriori Verteilung von δ y ist. a) Schreiben Sie eine R-Funktion rmixture(size,delta), die einen Vektor mit size iid. Werten aus der obigen Mischverteilung mit δ =delta erzeugt und zurückgibt. > rmixture <- function(size, delta) { + mean <- c(7, 10) + indicator <- sample(1:2, size = size, rep = T, prob = c(delta, 1 - delta)) + return(rnorm(size, mean = mean[indicator], sd = 0.5)) b) Erzeugen Sie eine Stichprobe y = (y 1,..., y 100 ) mit δ = 0.7. > dmixture <- function(x, delta) { + delta * dnorm(x, 7, 0.5) + (1 - delta) * dnorm(x, 10, 0.5) > y <- rmixture(size = 100, delta = 0.7) > hist(y, nclass = 25, prob = T) > lines(x <- seq(min(y), max(y), length = 1000), dmixture(x, delta = 0.7), col = 2) Histogram of y 0.0 0.2 0.4 0.6 6 7 8 9 10 11 y c) Schreiben Sie eine R-Funktion rdeltapost.mh(size,y,dq,rq), die eine Markov-Kette der Länge size mit f(δ y) als stationärer Verteilung durch den Metropolis-Hastings Algorithmus erzeugt. Dabei ist dq(delta) die Proposal-Dichte und rq() eine Funktion, die einen Independence-Proposal aus der Proposal-Dichte simuliert. Die Funktion rdeltapost.mh soll die size Werte als Vektor zurückgeben. 1

> rdeltapost.mh <- function(size, y, dq, rq) { + res <- numeric(size) + res[1] <- delta <- 0.5 + for (i in 1:(size - 1)) { + deltanew <- rq() + alpha <- exp(sum(log(dmixture(y, deltanew)) - log(dmixture(y, delta)))) * + dq(delta)/dq(deltanew) + if (runif(1) <= alpha) { + delta <- deltanew + res[i + 1] <- delta + return(res) d) Erzeugen Sie je 10000 Werte der Markov-Kette für die Proposal-Dichte 1) Be(1, 1) 2) Be(2, 7) Erstellen Sie für jede Proposal-Dichte einen Plot von (t, δ (t) ) und ein Histogramm der δ (t). Schätzen Sie auch den posteriori Erwartungswert E(δ y) und den posteriori Median. > analyze <- function(delta) { + plot(delta, type = "l", ylab = expression(delta^((t))), xlab = "") + hist(delta, prob = T, nclass = 100, xlab = expression(delta)) + lines(dens <- density(delta), col = 2) + cat("posterior mean: ", mean(delta), "\n") + cat("posterior mode: ", dens$x[which.max(dens$y)], "\n") + cat("posterior median: ", quantile(delta, probs = c(0.5)), "\n") > rq1 <- function(deltaold) rbeta(1, 1, 1) > dq1 <- function(delta) dbeta(delta, 1, 1) > rq2 <- function(deltaold) rbeta(1, 2, 7) > dq2 <- function(delta) dbeta(delta, 2, 7) > delta1 <- rdeltapost.mh(10000, y, dq = dq1, rq = rq1)[-c(1:100)] > delta2 <- rdeltapost.mh(10000, y, dq = dq2, rq = rq2)[-c(1:100)] > par(mfcol = c(2, 2), mar = c(3, 4, 1, 1)) > analyze(delta1) Posterior mean: 0.6545905 Posterior mode: 0.6470166 Posterior median: 0.6539986 > analyze(delta2) Posterior mean: 0.6429631 Posterior mode: 0.6486957 Posterior median: 0.6473165 > par(mfcol = c(1, 1)) 2

δ ((t)) δ ((t)) 0.55 0.65 0.75 0 2000 6000 10000 0 2000 6000 10000 0 2 4 6 8 10 Histogram of delta 0 10 20 30 40 Histogram of delta 0.55 0.60 0.65 0.70 0.75 e) Schätzen Sie für Teil d1) auch f(δ y) mittels eines Kerndichteschätzers. Hinweis: Benutzen Sie dazu die Funktion density. Danach benutzen Sie das Resultat, um den posteriori Modus zu schätzen. Lösung in der letzten Teilaufgabe. Prinzipiell ist der Ansatz etwas ad-hoc. Viel besser wäre es die Posteriori-Dichte mit numerischen Methoden zu maximieren. Dabei stört es nicht, dass die Posteriori nur bis hin zur Proportionalitätskonstante bekannt ist. f) Würde δ (t+1) N(δ (t), σ 2 ) mit σ 2 bekannt als Proposal-Dichte funktionieren? Ja, dieser random-walk proposal funktioniert. Falls δ (t) (0, 1) sorgt die priori Verteilung dafür, dass dieser Wert nicht akzeptiert wird. > rq.rw <- function(delta,...) rnorm(1, mean = delta, sd = list(...)$sigma.rw) > dq.rw <- function(deltanew, deltaold,...) { + dnorm(deltanew, mean = deltaold, sd = list(...)$sigma.rw) > sigma.rw1 <- 0.001 > sigma.rw2 <- 0.1 > delta.rw1 <- rdeltapost.mh2(10000, y, dq = dq.rw, rq = rq.rw, sigma.rw = sigma.rw1) > delta.rw2 <- rdeltapost.mh2(10000, y, dq = dq.rw, rq = rq.rw, sigma.rw = sigma.rw2) > par(mfcol = c(1, 2)) > plot(delta.rw1, type = "l", main = paste("random Walk N(0,", sigma.rw1, "^2)", + sep = "")) > plot(delta.rw2, type = "l", main = paste("random Walk N(0,", sigma.rw2, "^2)", + sep = "")) > par(mfcol = c(1, 1)) 3

Random Walk N(0,0.001^2) Random Walk N(0,0.1^2) delta.rw1 0.50 0.60 0.70 delta.rw2 0 4000 8000 0 4000 8000 Index Index g) Bestimmen Sie f(δ y) und E(δ y) mittels der integrate-funktion und vergleichen Sie einen Plot von f(δ y) mit dem Histogramm aus Teil d). > udpost <- function(delta) { + sapply(delta, function(delta) prod(dmixture(y, delta))) > norm <- integrate(udpost, lower = 0, upper = 1)$val > dpost <- function(delta) { + 1/norm * udpost(delta) > delta.grid <- seq(0, 1, length = 1000) > hist(delta1, prob = T, nclass = 100) > lines(delta.grid, dpost(delta.grid), type = "l") > integrate(dpost, lower = 0, upper = 1) 1 with absolute error < 1.9e-08 > integrate(function(delta) delta * dpost(delta), lower = 0, upper = 1) 0.6568998 with absolute error < 8e-08 4

Histogram of delta1 0 2 4 6 8 10 delta1 h) Welche anderen Verfahren kennen Sie, um Zufallszahlen aus der posteriori Dichte von δ y zu ziehen? Rejection-Sampling. Posteriori bis zu proportionalität genügt, jedoch muss eine Vorschlagsdichte bestimmt werden, so dass δ : M q(δ) π(δ). Aufgabe 2 (Markov-Ketten) Betrachten Sie eine homogene Markovkette X 0, X 1, X 2,... mit den möglichen Zuständen S = {1, 2} sowie der Übergangsmatrix ( ) 0.7 x P =, y 0.8 wobei x und y unbekannt sind. a) Welchen Wert muss x beziehungsweise y haben? x = 0.3, y = 0.2. b) Schreiben Sie eine R-Funktion sim.markov2(p,x0,n=100), die einen Pfad der Länge n einer Markovkette mit 2 2 Übergangsmatrix P in Abhängigkeit vom Startwert X 0 = x 0 simuliert und (x 1,..., x n ) als Vektor zurückgibt. Testen Sie die Funktion mit dem obigen P, x 0 = 1 und n = 100. Erstellen Sie auch einen Plot des Pfades. Hinweis: Benutzen Sie eventuell discrete-mh.r als Inspirationsquelle. 5

> sim.markov2 <- function(p, x0, n = 100) { + x <- numeric(n + 1) + states <- 1:dim(P)[1] + x[1] <- x0 + for (t in 1:n) { + x[t + 1] <- sample(states, size = 1, prob = P[x[t], ]) + return(x[-1]) > P <- matrix(c(0.7, 0.3, 0.2, 0.8), 2, 2, byrow = T) > plot(sim.markov2(p, 1, 100), type = "s") sim.markov2(p, 1, 100) 1.0 1.2 1.4 1.6 1.8 2.0 0 20 40 60 80 100 Index c) Bestimmen Sie die stationäre Verteilung der Markovkette. Konvergiert die Kette gegen ihre stationäre Verteilung? Die stationäre Verteilung einer Markov-Kette mit endlichem Zustandsraum kann durch die Formel π = 1(I P + Q) 1 berechnet werden, wobei 1 ein Zeilenvektor von Einsen ist, I die Einheitsmatrix, P die Übergangsmatrix der Markov-Kette und Q eine Matrix, die nur aus Einsen besteht. Die Markov-Kette ist irreduzibel und aperiodisch und konvergiert deswegen gegen π. > pi <- matrix(rep(1, 2), 1, 2) %*% solve(diag(rep(1, 2)) - P + matrix(1, 2, 2)) > pi [,1] [,2] [1,] 0.4 0.6 Homepage: http://www.stat.uni-muenchen.de/institut/ag/biostat/teaching/numbay2006/ LaMo: 6. November 2006@13:29 6