X-Git-Url: https://git.auder.net/?p=morpheus.git;a=blobdiff_plain;f=reports%2Faccuracy.R;h=63cd5aaf8ddf8b8785b557bd5cb06f13a970e427;hp=6f322bf685999590653f344a99105b9bab7bb564;hb=b4aba3cea64aaa51cb4ce6657fad647720262015;hpb=38c65767eb0c8c5a7ad6025471f56dbaffc68e6e diff --git a/reports/accuracy.R b/reports/accuracy.R index 6f322bf..63cd5aa 100644 --- a/reports/accuracy.R +++ b/reports/accuracy.R @@ -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 })