summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorVivien Kraus <vivien@planete-kraus.eu>2021-03-22 17:54:01 +0100
committerVivien Kraus <vivien@planete-kraus.eu>2021-03-22 20:22:44 +0100
commit300e83ef6a7f2da9fca6e0d87a387aeee2cd6392 (patch)
tree2d0d7db5a129e0668beae087f51f459f720f815e
parent9c583e1c79c91bef50c0a217d8f1dd945736559b (diff)
Add debugging information
-rw-r--r--R/strats.R12
1 files changed, 12 insertions, 0 deletions
diff --git a/R/strats.R b/R/strats.R
index 3b22d5c..0f55814 100644
--- a/R/strats.R
+++ b/R/strats.R
@@ -191,6 +191,7 @@ line_search_w <- function (T_normal, T, alpha, beta, gamma, dependency, W, R, gW
if (armijo (T_normal, T, alpha, beta, gamma, dependency, W, R, gW, gR, step, 0, loss_value)) {
step
} else {
+ cat (sprintf ("%g is not sufficient for step_w.\n", step), file = stderr ())
line_search_w (T_normal, T, alpha, beta, gamma, dependency, W, R, gW, gR, step / 2, loss_value)
}
}
@@ -199,6 +200,7 @@ line_search_r <- function (T_normal, T, alpha, beta, gamma, dependency, W, R, gW
if (armijo (T_normal, T, alpha, beta, gamma, dependency, W, R, gW, gR, 0, step, loss_value)) {
step
} else {
+ cat (sprintf ("%g is not sufficient for step_r.\n", step), file = stderr ())
line_search_r (T_normal, T, alpha, beta, gamma, dependency, W, R, gW, gR, step / 2, loss_value)
}
}
@@ -229,12 +231,14 @@ strats_iteration <- function (T_normal, T, alpha, beta, gamma, dependency,
gW <- strats_gradient_w (T_normal, T, alpha, beta, gamma, dependency, W, R)
gR <- matrix (0, nrow (T), ncol (T))
step_w <- line_search_w (T_normal, T, alpha, beta, gamma, dependency, W, R, gW, gR, step_w, loss_value)
+ cat (sprintf ("Using step W: %g\n", step_w), file = stderr ())
W <- W - step_w * gW
loss_value <- strats_loss (T_normal, T, alpha, beta, gamma, dependency, W, R)
## Optimize R:
gW <- matrix (0, nrow (T_normal), nrow (T))
gR <- strats_gradient_r (T_normal, T, alpha, beta, gamma, dependency, W, R)
step_r <- line_search_r (T_normal, T, alpha, beta, gamma, dependency, W, R, gW, gR, step_r, loss_value)
+ cat (sprintf ("Using step R: %g\n", step_r), file = stderr ())
R <- R - step_r * gR
loss_value <- strats_loss (T_normal, T, alpha, beta, gamma, dependency, W, R)
list (loss_value = loss_value,
@@ -296,6 +300,8 @@ strats <- function (T, alpha, beta, gamma, dependency,
model <- strats_iteration (T_normal, T, alpha, beta, gamma, dependency,
model$loss_value,
model$W, model$R, model$step_w, model$step_r)
+ cat (sprintf ("New model with loss value: %g.\n", model$loss_value),
+ file = stderr ())
if (!is.null (last_loss)) {
stopifnot (model$loss_value <= last_loss)
}
@@ -340,6 +346,9 @@ strats_test <- function (T, alpha, beta, gamma, dependency,
model <- strats (T, alpha, beta, gamma, dependency,
T_normal = T_normal, n_normal = n_normal,
maxiter = maxiter)
+ cat (sprintf ("WTF?? %s\n",
+ paste (colnames (model$anomalies), collapse = "\n")),
+ file = stderr ())
(model$anomalies
%>% dplyr::filter (observation == i_anomaly))$rank[1]
}))
@@ -371,6 +380,9 @@ strats_tune <- function (T, dependency,
T_normal = T_normal,
n_normal = n_normal,
maxiter = maxiter)
+ cat (sprintf ("Alpha: %g, beta: %g, gamma: %g, error: %g\n",
+ alpha, beta, gamma, error),
+ file = stderr ())
tibble::tibble (alpha = alpha, beta = beta, gamma = gamma,
error = error)
}))