projects
/
morpheus.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Reporting scripts + TODO in OptimParams
[morpheus.git]
/
pkg
/
R
/
optimParams.R
diff --git
a/pkg/R/optimParams.R
b/pkg/R/optimParams.R
index
d8e2cf9
..
5c80fc2
100644
(file)
--- a/
pkg/R/optimParams.R
+++ b/
pkg/R/optimParams.R
@@
-51,6
+51,8
@@
optimParams <- function(X, Y, K, link=c("logit","probit"), M=NULL)
M3 <- as.double(Mtmp[[3]])
M <- c(M1, M2, M3)
}
M3 <- as.double(Mtmp[[3]])
M <- c(M1, M2, M3)
}
+ else
+ M <- c(M[[1]], M[[2]], M[[3]])
# Build and return optimization algorithm object
methods::new("OptimParams", "li"=link, "X"=X,
# Build and return optimization algorithm object
methods::new("OptimParams", "li"=link, "X"=X,
@@
-100,7
+102,7
@@
setRefClass(
n <<- nrow(X)
d <<- ncol(X)
n <<- nrow(X)
d <<- ncol(X)
- W <<- diag(d+d^2+d^3) #initialize at W = Identity
+ # W will be initialized when calling run()
},
expArgs = function(v)
},
expArgs = function(v)
@@
-262,8
+264,11
@@
setRefClass(
θ0$b = rep(0, K)
else if (!is.numeric(θ0$b) || length(θ0$b) != K || any(is.na(θ0$b)))
stop("θ0$b: length K, no NA")
θ0$b = rep(0, K)
else if (!is.numeric(θ0$b) || length(θ0$b) != K || any(is.na(θ0$b)))
stop("θ0$b: length K, no NA")
- # TODO: stopping condition? N iterations? Delta <= epsilon ?
- loopMax <- 2
+
+ # (Re)Set W to identity, to allow several run from the same object
+ W <<- diag(d+d^2+d^3)
+
+ loopMax <- 2 #TODO: loopMax = 3 ?
for (loop in 1:loopMax)
{
op_res = constrOptim( linArgs(θ0), .self$f, .self$grad_f,
for (loop in 1:loopMax)
{
op_res = constrOptim( linArgs(θ0), .self$f, .self$grad_f,