Fix accuracy.R + add postTreatment draft
[morpheus.git] / reports / accuracy.R
index 6f322bf..63cd5aa 100644 (file)
@@ -10,14 +10,15 @@ optimBeta <- function(N, n, p, beta, b, link, ncores)
         K <- ncol(fargs$beta)
         M <- computeMoments(fargs$X, fargs$Y)
         mu <- computeMu(fargs$X, fargs$Y, list(K=K, M=M))
-        op <- optimParams(fargs$X, fargs$Y, K, fargs$link, M)
+        op <- optimParams(fargs$X, fargs$Y, K, fargs$link, M, 1) #only 1 OpenMP core
         x_init <- list(p=rep(1/K,K-1), beta=mu, b=rep(0,K))
         res2 <- NULL
         tryCatch({
           res2 <- do.call(rbind, op$run(x_init))
         }, error = function(e) {})
         res2
-      },
+      }
+                       ,
       # flexmix
       function(fargs) {
         library(flexmix)
@@ -26,14 +27,14 @@ optimBeta <- function(N, n, p, beta, b, link, ncores)
         dat <- as.data.frame( cbind(fargs$Y,fargs$X) )
         res2 <- NULL
         tryCatch({
-          fm <- flexmix( cbind(V1, 1-V1) ~ .-V1, data=dat, k=K,
+          fm <- flexmix( cbind(V1, 1-V1) ~ ., data=dat, k=K,
             model = FLXMRglm(family = binomial(link = link)) )
-          p <- mean(fm@posterior[["scaled"]][,1])
+          pf <- colMeans(fm@posterior[["scaled"]])
           out <- refit(fm)
           beta_b <- sapply( seq_len(K), function(i) {
             as.double( out@components[[1]][[i]][,1] )
           } )
-          res2 <- rbind(p, beta_b[2:nrow(beta_b),], beta_b[1,])
+          res2 <- rbind(pf, beta_b[2:nrow(beta_b),], beta_b[1,])
         }, error = function(e) {
           res2 <- NA
         })