################################################################# # Uebung zu Schaetzen und Testen 1 im WiSe 15/16 # Uebung 10 # Autor: David Ruegamer ################################################################# ### CDF-Sampler Beispiel # bekannte Dichte, deren Prop.konst. (= 5) wir nicht kennen: funUnknown <- function(x) dchisq(x, df=3) * 0.2 # Anmerkung: Da es sich um eine Dichte handelt, die wir # kennen, wuerden wir normalerweise den Kern der Verteilung # (Chi^2) identifizieren und koennten alles analytisch # berechnen. Wir nehmen hier aber zu Uebungszwecken an, # dass wir die Normierungskonstante von funUnknown nicht # derart bestimmen koennen. set.seed(42) # Diskretisiere Traeger mit 1000 'Beobachtungspunkten' ts = seq(0, 16, length.out=1e4) # Evaluiere f fs = funUnknown(ts) # Plotten der Auswertungen fuer alle ts plot(fs ~ ts, pch=".") # wahre Dichte curve(dchisq(x,df=3), xlim=c(0,16)) # Schaetze Prop.konst. (c = sum(fs)) # Berechne Pis pis = fs/c # Ziehe M Zufallszahlen aus Multinomialverteilung M(1,pis) # mit Traeger ts M = 1e6 # Zufallszahlen ZZs <- sample(ts, size=M, replace=TRUE, prob=pis) # nochmal zum Vergleich die wahre Dichte curve(dchisq(x, df=3), xlim=c(0,16)) # und die gezogenen Zufallszahlen hist(ZZs, breaks=6e2, freq=F) #### Berechne aus ZZs beispielsweise Punktschaetzer mean(ZZs) # wahrer EW = df d. Chi-Quadrat-Vtlg. = 3 var(ZZs) # wahre Var = 2*df d. Chi-Quadrat-Vtlg. = 6