X-Git-Url: https://git.auder.net/?a=blobdiff_plain;f=TODO;h=ac985f679fc551c6236ea025e899ee685c85354e;hb=9ed132a837cf00b5defe0379ddd1c1ef087b6729;hp=199a59f373ae1658b2c794d5c331b52fb9747c70;hpb=bf5c08443087a23ea3d1a7ab993568e608a8b5dd;p=epclust.git diff --git a/TODO b/TODO index 199a59f..ac985f6 100644 --- a/TODO +++ b/TODO @@ -47,3 +47,61 @@ utiliser Rcpp ? #' @importFrom synchronicity boost.mutex lock unlock subtree: epclust, shared. This root folder should remain private + +#TODO: use dbs(), + #https://www.r-bloggers.com/debugging-parallel-code-with-dbs/ + #http://gforge.se/2015/02/how-to-go-parallel-in-r-basics-tips/ + +synchrones --> somme, pas moyenne + +PLOT: +plot manifold 2D distances WER / +fenetre tempo forme des courbes / +medoids / +gain en prevision: clust puis full --> enercast + +réduire taille 17519 trop long ? + +synchrone : sum +cwt : trim R part +// : clever by rows retenir cwt... + +Stockage matrices : en colonnes systématiquement ? + +TODO: revoir les arguments, simplifier (dans les clustering...), + permettre algos de clustering quelconques, args: medoids (curves puis dists), K + +Plutôt ça que hack auto notebook generation: + https://mail.scipy.org/pipermail/ipython-dev/2014-March/013550.html + +#si pas lissage --> on doit trouver 1 : TOCHECK +#regarder biwavelets smooth.wavelet : c'est comme ça qu'il faut coder +#Options : smooth_lvl + filtre gaussien (smooth_method ?) +(this file : +https://github.com/tgouhier/biwavelet/blob/master/R/smooth.wavelet.R ) + +===== + +Voici le code : + +library(epclust) + +n <- 5 +N <- 128 +M <- matrix(runif(n * N), nrow = n) #séries en lignes +M <- t(apply(M, 1, cumsum)) / sqrt(n * N) +matplot(t(M), type = 'l', lty = 1) + +dists3a <- computeWerDists(1:n, function(inds) M[,inds], n) + +# je passe de distance Wer à corrélations : moralement tout est à 0 +summary((1 - dists3a[lower.tri(dists3a)]^2) / N / n) + +# or, les courbes sont très similaires, nous devrions être proche de 1 ! +corM <- cor(t(M)) +summary(corM[lower.tri(corM)]) + +---------> à checker + +meilleur task scheduling pour les runs parallel dans computeWerDists +(voir arg de parLapply, makeCLuster...)