'update'
[epclust.git] / TODO
diff --git a/TODO b/TODO
index 1788ce6..957c111 100644 (file)
--- a/TODO
+++ b/TODO
@@ -6,31 +6,8 @@ Essayer distance wdist du package biwavelet ?
 
 geometric structure of high dim data and dim reduction 2011
 
-https://docs.docker.com/engine/getstarted/step_one/
-
-A faire:
- - finir les experiences (sur nb de classes, nb de curves / chunk, nb de procs)
-   et sur d'autres architectures
-
 Piste à explorer pour les comparaisons: H20
 
-renvoyer nombre d'individues par classe ? (+ somme ?)
-hypothèse : données déjà ordonnées 48 1/2H sur 365j
-utiliser du mixmod avec modèles allongés
-doit tourner sur machine plutôt standard, utilisateur "lambda"
-utiliser Rcpp ?
-
-#point avec Jairo:
-#rentrer dans code C cwt continue Rwave
-#passer partie sowas à C
-#fct qui pour deux series (ID, medoides) renvoie distance WER (Rwave ou à moi)
-#transformee croisee , smoothing lissage 3 composantes , + calcul pour WER
-#determiner nvoice noctave (entre octave + petit et + grand)
-
-#TODO: load some dataset ASCII CSV
-#data_bin_file <<- "/tmp/epclust_test.bin"
-#unlink(data_bin_file)
-
 #https://stat.ethz.ch/pipermail/r-help/2011-June/280133.html
 #randCov = function(d)
 #{
@@ -39,9 +16,38 @@ utiliser Rcpp ?
 #      x %*% t(x)
 #}
 
-#TODO: soften condition clustering.R line 37 ?
-#regarder mapply et mcmapply pour le // (pas OK pour Windows ou GUI... mais ?)
 #TODO: map-reduce more appropriate R/clustering.R ligne 88
-#Alternative: use bigmemory to share series when CSV or matrix(...)
 
-#' @importFrom synchronicity boost.mutex lock unlock
+#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/
+
+PLOT:
+plot manifold 2D distances WER /
+fenetre tempo forme des courbes /
+medoids /
+gain en prevision: clust puis full --> enercast
+
+-------
+
+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)])
+
+#si pas lissage --> on doit trouver 1 : TOCHECK
+#regarder biwavelets smooth.wavelet : s'en inspirer