#-----------------------# # Loesungen Blatt2 # #-----------------------# # Aufgabe 2 # 2a) x = (-10):10 nx = length(x) eps = rnorm(nx,mean=0,sd=2) y = x^2/5 - 10 + eps plot(x,y) # 2b) f = function(beta0,beta1) { res = sum( (y-(beta1*x^2+beta0))^2 ) return(res) } # 2c) beta0 = seq(-15,-5,by=0.01) beta1 = seq(-1,1,by=0.002) n0 = length(beta0) n1 = length(beta1) n0 n1 z = matrix(0,nrow=n0,ncol=n1) for(i in 1:n0) { for(j in 1:n1) { z[i,j] = f(beta0[i],beta1[j]) } } # 2d) which( z==min(z), arr.ind=TRUE ) indices = which( z==min(z), arr.ind=TRUE ) i = indices[1] j = indices[2] b0 = beta0[i] b1 = beta1[j] b0 b1 f(b0,b1) min(z) # ok, das passt.. # 2e) contour(beta0,beta1,z) contour(beta0,beta1,z,nlevels = 100) # ok, wir machen das beta1-Intervall kleiner: beta0 = seq(-15,-5,by=0.01) beta1 = seq(0,0.5,by=0.0005) n0 = length(beta0) n1 = length(beta1) n0 n1 z = matrix(0,nrow=n0,ncol=n1) for(i in 1:n0) { for(j in 1:n1) { z[i,j] = f(beta0[i],beta1[j]) } } contour(beta0,beta1,z) contour(beta0,beta1,z,nlevels = 100) # sieht etwas netter aus.. # 2f) xx = x^2 lm(y ~ xx) # passt.. # Aufgabe 1 # Sie koennen die Formeln fuer das beta1 und das beta0 aus # dem week1.pdf benutzen, die Formel (2) auf Seite 3, Sie # muessen nur den Vektor x durch ein x^2 ersetzen, also so # wie in dem Teil 2f) eben gerade.