Aufgabe X,..., X n iid G(π) a) Bestimmung der Loglikelihoodfunktion n P L(π) = π( π) xi = π n x ( π) i n = π n ( π) n( x ) Damit folgt: Insgesamt also ˆπ ML = i= l(π) = n log(π) + n( x ) log( π) S(π) = d d π l(π) = n n( x ) π π n( π) = n( x )π = xπ π = x. P n xi = x. b) Bestimmung der Posteriori π x. π Be(α, β) X i π G(π) π x,..., x n! = priori Beobachtungen posteriori Bestimmung der Posteriori-Verteilung durch den Satz von Bayes: Somit f(π x) = f(x π)f(π) f(x π)f(π) f(π x) π n ( π) n x n π α ( π) β = π α+n ( π) β+n x n Dies ist der Kern einer Be(α + n, β + n x n)-verteilung, also ist π x Be(α + n, β + n x n). Alternative: = = f(x, π) = B(α + n, β + n x n) B(α, β) π α+n ( π) β+n x n d π LaMo: 25. Juli 26@8:7 / 8
Damit f(x π)f(π) f(π x) = = = B(α, β) B(α + n, β + n x n) B(α + n, β + n x n) πα ( π) β+n x n B(α, β) πα ( π) β+n x n c) Posteriori-Modus/Erwartungswert Somit α Modus der Be(α, β)-verteilung : α + β 2 α Erwartungswert der Be(α, β)-verteilung : α + β d) Mod(π x) = ˆπ ML? α =, β = Aufgabe 2 Normal-Normal-Modell Aus der Vorlesung: α + n Mod(π x) = α + n + β + n x n 2 α + n E(π x) = α + n + β + n x n = α + n α + β + n x Mod(π x) = + n + n + + n x n 2 = x X,..., X n iid N(µ, σ 2 ) µ N(ν, τ 2 ) (σ 2 bekannt) Dann ( µ x N λ + λ 2 ( ) λ x + λ 2 ν, λ + λ 2 ) wobei λ = n σ 2 und λ 2 = τ 2 > postnormev <- function(x, sigma, nu, tau) { + n <- length(x) + lambda <- n/sigma^2 + lambda2 <- /tau^2 LaMo: 25. Juli 26@8:7 2 / 8
+ E <- (lambda * mean(x) + lambda2 * nu)/(lambda + lambda2) + V <- /(lambda + lambda2) + return(list(mean = E, sd = sqrt(v))) > plot.priorpost <- function(p, p) { + age <- seq(3, 45, length = ) + vals <- cbind(dnorm(age, mean = p$mean, sd = p$sd), dnorm(age, + mean = p$mean, sd = p$sd)) + matplot(age, vals, ylab = "density", type = "l") + legend(3, max(vals), c("prior", "Posterior"), col = :2, + lty = c(, )) Es gilt: ν = 37, τ 2 = 2 2, σ 2 = 8 2 und beobachtet wird x = 42. a) Damit folgt n =, λ = 8 2 und λ 2 = 2 2. > p <- list(mean = 37, sd = 2) > x <- 42 π x N(44., 7.43 2 ) > p <- postnormev(x = x, sigma = 8, nu = p$mean, tau = p$sd) > plot.priorpost(p, p) density..2.4 Prior Posterior 3 35 4 45 age b) Nun ist µ N(4, 5 2 ), n =, λ = 8 2 und λ 2 = 5 2 > p2 <- list(mean = 4, sd = 5) µ x N(42.48, 7.9 2 ) > p2 <- postnormev(x = x, sigma = 8, nu = p2$mean, tau = p2$sd) > plot.priorpost(p2, p2) > plot.priorpost(p, p2) LaMo: 25. Juli 26@8:7 3 / 8
density..2.4 Prior Posterior 3 35 4 45 age c) siehe a) und b) Aufgabe 3 somit X,..., X n iid B(p) p BeMix(π, α, β), sodass 2 π i =, α i >, β i >, π i > i= a) Posteriori Verteilung für π: f(p) = πf (p α, β ) + ( π)f 2 (p α 2, β 2 ). f(p x) f(x p)f(p) ( n ) = p x i ( p) x i [}{{} π f (p α, β ) + ( π) f }{{} 2 (p α 2, β 2 )] i= π π 2 π = B(α, β ) pα +n x ( p) β+n n x π 2 + B(α 2, β 2 ) pα 2+n x ( p) β 2+n n x Dies ist der Kern einer Be(α +n x, β +n n x) und einer Be(α 2 +n x, β 2 +n n x)-verteilung mit Normalisierungskonstante c i = B(α i + n x, β + n n x). LaMo: 25. Juli 26@8:7 4 / 8
Sei α i = α i + n x und β i = β i + n n x. Dann ist Wir hatten: = = f(x p)f(p) d p π B(α, β ) + π 2 B(α 2, β 2 ) p α +n x ( p) β +n n x d p p α 2+n x ( p) β 2+n n x d p = π B(α, β ) B(α, β ) + π 2 B(α 2, β 2 ) B(α 2, β 2 ) f(x p)f(p) = und somit Also π B(α, β ) pα +n x ( p) β+n n x π 2 + B(α 2, β 2 ) pα 2+n x ( p) β 2+n n x Verlängerung! = π B(α, β ) B(α, β ) f(p α, β ) + π 2 B(α 2, β 2 ) B(α 2, β 2 ) f(p α 2, β 2) B(α = π, β ) B(α, β ) + π B(α2, β 2 ) 2 B(α 2, β 2 ). f(p x) = f(x p)f(p) = π B(α, β ) B(α, β ) f(p α, β ) + π 2 B(α 2, β 2 ) B(α 2, β 2 ) f(p α 2, β 2) = π f(p α, β ) + π 2f(p α 2, β 2), wobei π i = π i B(α i, β i ) B(α i, β i ) und π i = p x BeMix(π, α, β ). > dbbmix <- function(x, pi, alpha, beta) { + pi * dbeta(x, alpha[], beta[]) + ( - pi) * dbeta(x, alpha[2], + beta[2]) > alpha <- c(, 2) > beta <- c(2, ) > pi <- c(.5,.5) > alphastar <- alpha + 7 > betastar <- beta + 3 > pistar <- pi * beta(alphastar, betastar)/beta(alpha, beta) > pistar <- pistar/sum(pistar) > pistar π i π +. π 2 LaMo: 25. Juli 26@8:7 5 / 8
[].8527.894729 > p <- seq(,, length = ) > prior <- dbbmix(p, pi = pi[], alpha = alpha, beta = beta) > post <- dbbmix(p, pi = pistar[], alpha = alphastar, beta = betastar) > plot(p, prior, type = "l", ylim = c(, max(prior, post))) > lines(p, post, col = 2, lty = 2) > legend(, max(prior, post), c("prior", "Post"), col = :2, lty = c(, + 2)) prior 2 3 4 Prior Post..2.4.6.8. p b) Posteriori-Erwartungswert f(p x) = π f(p α, β ) + ( π) f(p α 2, β 2) oder W B( π ) p x, W Y I(W = ) + Y 2 I(W = ) Y i Be(α i, β i ) damit E(p x) = π E(Y ) + ( π )E(Y 2 ) = π α α + β > rbbmix <- function(size, pi, alpha, beta) { + ( π) α 2 α 2 + β 2 + which <- sample(:, rep = T, size = size, prob = c(pi, - + pi)) LaMo: 25. Juli 26@8:7 6 / 8
+ X <- rbeta(size, alpha[], beta[]) + X2 <- rbeta(size, alpha[2], beta[2]) + ifelse(which ==, X, X2) > pistar[] * (alphastar[]/(alphastar[] + betastar[])) + pistar[2] * + (alphastar[2]/(alphastar[2] + betastar[2])) [].6478682 > X <- rbbmix(e+5, pi = pistar[], alpha = alphastar, beta = betastar) > mean(x) [].64768 c) Das symmetrische ( α)% Vertrauensintervall: p F (p x) = π Das Quantil q der Posteriori: p f(q α, β) d q + ( π ) = π F (p α, β ) + ( π )F (p α 2, β 2) F (q) = {p : F (p) = q} f(q α 2, β 2) d q Somit das Intervall: [ ( F α ) (, F α )] 2 2 d) > pbbmix <- function(x, pi, alpha, beta) { + pi * pbeta(x, alpha[], beta[]) + ( - pi) * pbeta(x, alpha[2], + beta[2]) > qbbmix <- function(q, pi, alpha, beta) { + f <- function(x) { + pbbmix(x, pi = pi, alpha = alpha, beta = beta) - q + return(uniroot(f, lower =, upper = )$root) > qbbmix(q =.5, pi = pistar[], alpha = alphastar, beta = betastar) [].66658 > alpha <-.5 > plot(p, pbbmix(p, pi = pistar[], alpha = alphastar, beta = betastar), + type = "l", xlab = "p", ylab = expression(f(p))) > lines(c(, ), c(alpha/2, alpha/2), col = 2, lty = 2) > lines(c(, ), c( - alpha/2, - alpha/2), col = 2, lty = 2) LaMo: 25. Juli 26@8:7 7 / 8
F(p)..2.4.6.8...2.4.6.8. p > lower <- qbbmix(q = alpha/2, pi = pistar[], alpha = alphastar, + beta = betastar) > upper <- qbbmix(q = - alpha/2, pi = pistar[], alpha = alphastar, + beta = betastar) > cat("a 95% symmetric credibility region: [", lower, ",", upper, + "]\n") A 95% symmetric credibility region: [.3665792,.862333 ] > plot(p, post, type = "l", ylim = c(, max(prior, post))) > ci.grid <- seq(lower, upper, length = ) > lines(ci.grid, dbbmix(ci.grid, pi = pistar[], alpha = alphastar, + beta = betastar), type = "h", col = 2) > lines(p, post, type = "l", ylim = c(, max(prior, post))) post 2 3 4..2.4.6.8. p LaMo: 25. Juli 26@8:7 8 / 8