Remove weights from reports scripts + first naive attempt to optimize computeW
[morpheus.git] / reports / accuracy.R
index e9c9d1b..5eadd3b 100644 (file)
@@ -1,8 +1,8 @@
-optimBeta <- function(N, n, K, p, beta, b, link, weights, ncores)
+optimBeta <- function(N, n, K, p, beta, b, link, ncores)
 {
        library(morpheus)
        res <- multiRun(
-               list(n=n, p=p, beta=beta, b=b, optargs=list(K=K, link=link, weights=weights)),
+               list(n=n, p=p, beta=beta, b=b, optargs=list(K=K, link=link)),
                list(
                        # morpheus
                        function(fargs) {
@@ -11,14 +11,12 @@ optimBeta <- function(N, n, K, p, beta, b, link, weights, ncores)
                                M <- computeMoments(fargs$X, fargs$Y)
                                fargs$optargs$M <- M
                                mu <- computeMu(fargs$X, fargs$Y, fargs$optargs)
+        op <- optimParams(K,fargs$optargs$link,fargs$optargs)
+        x_init <- list(p=rep(1/K,K-1), beta=mu, b=rep(0,K))
                                res2 <- NULL
                                tryCatch({
-                                       op <- optimParams(K,fargs$optargs$link,fargs$optargs)
-                                       x_init <- list(p=rep(1/K,K-1), beta=mu, b=rep(0,K))
-                                       res2 <- do.call(rbind, op$run(x_init))
-                               }, error = function(e) {
-                                       res2 <- NA
-                               })
+          res2 <- do.call(rbind, op$run(x_init))
+                               }, error = function(e) {})
                                res2
                        }
 #                      ,
@@ -50,7 +48,6 @@ optimBeta <- function(N, n, K, p, beta, b, link, weights, ncores)
                        fargs$X = io$X
                        fargs$Y = io$Y
                        fargs$optargs$K = ncol(fargs$beta)
-                       fargs$optargs$M = computeMoments(io$X,io$Y)
                        fargs
                }, N=N, ncores=ncores, verbose=TRUE)
        p <- c(p, 1-sum(p))
@@ -71,8 +68,6 @@ N <- 10
 d <- 2
 n <- 1e4
 ncores <- 1
-strw <- "1-1-1"
-weights <- c(1,1,1)
 
 cmd_args <- commandArgs()
 for (arg in cmd_args)
@@ -89,9 +84,6 @@ for (arg in cmd_args)
                        d <- as.integer(spl[2])
                } else if (spl[1] == "link") {
                        link <- spl[2]
-               } else if (spl[1] == "weights") {
-                       strw <- spl[2]
-                 weights <- as.numeric(unlist(strsplit(spl[2], ",")))
                }
        }
 }
@@ -118,8 +110,8 @@ if (d == 2) {
        beta <- matrix( c(1,2,-1,0,3,4,-1,-3,0,2,2,-3,0,1,0,-1,-4,3,2,0, -1,1,3,-1,0,0,2,0,1,-2,1,2,-1,0,3,4,-1,-3,0,2, 2,-3,0,1,0,-1,-4,3,2,0,1,1,2,2,-2,-2,3,1,0,0), ncol=K )
 }
 
-mr <- optimBeta(N, n, K, p, beta, b, link, weights, ncores)
-mr_params <- list("N"=N, "n"=n, "K"=K, "d"=d, "link"=link,
-       "p"=c(p,1-sum(p)), "beta"=beta, "b"=b, "weights"=weights)
+mr <- optimBeta(N, n, K, p, beta, b, link, ncores)
+mr_params <- list("N"=N, "nc"=ncores, "n"=n, "K"=K, "d"=d, "link"=link,
+       "p"=c(p,1-sum(p)), "beta"=beta, "b"=b)
 
-save("mr", "mr_params", file=paste("res_",n,"_",d,"_",link,"_",strw,".RData",sep=""))
+save("mr", "mr_params", file=paste("res_",n,"_",d,"_",link,".RData",sep=""))