> # conclk.r September 2007 > # > # concentrated likelihood problem, Example 9.6 > # > x <- c(1,2,3,4,5,7) > y <- c(8.3, 10.3, 19.0, 16.0, 15.6, 19.8) > # construct error sum of squares function > sse <- function(t2) { + z <- 1 - exp(-t2*x) + t1 <- crossprod(y,z)/crossprod(z,z) # regression through origin + e <- y - t1*z # residuals + s <- crossprod(e,e) # error sum of squares + print("t1,t2,sse") + print(c(t1,t2,s)) + sse <- as.real(s) } # make it a scalar > # starting values? > sse(.1) [1] "t1,t2,sse" [1] 46.26346 0.10000 87.49828 > sse(1) [1] "t1,t2,sse" [1] 16.64283 1.00000 42.85488 > sse(5) [1] "t1,t2,sse" [1] 14.85742 5.00000 105.90782 > sse(10) [1] "t1,t2,sse" [1] 14.83350 10.00000 107.20453 > # minimize error sum of squares > that2 <- optimize(f=sse,lower=.1,upper=5) [1] "t1,t2,sse" [1] 15.376096 1.971633 80.639967 [1] "t1,t2,sse" [1] 14.993260 3.128367 98.750177 [1] "t1,t2,sse" [1] 16.099940 1.256733 55.200735 [1] "t1,t2,sse" [1] 17.2634313 0.8149004 33.9910427 [1] "t1,t2,sse" [1] 19.0324039 0.5418327 26.0078259 [1] "t1,t2,sse" [1] 21.5716334 0.3730676 31.0740041 [1] "t1,t2,sse" [1] 18.7704232 0.5693695 26.2033106 [1] "t1,t2,sse" [1] 19.0831309 0.5368292 25.9953196 [1] "t1,t2,sse" [1] 19.1488920 0.5304894 25.9903235 [1] "t1,t2,sse" [1] 19.1430332 0.5310477 25.9902676 [1] "t1,t2,sse" [1] 19.1425429 0.5310945 25.9902673 [1] "t1,t2,sse" [1] 19.1421164 0.5311352 25.9902676 [1] "t1,t2,sse" [1] 19.1425429 0.5310945 25.9902673 > # print it out > print("min sse") [1] "min sse" > print(that2) $minimum [1] 0.5310945 $objective [1] 25.99027 > # done > rm(list=ls()) > q()