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 ?)
-renvoyer nombre d'individues par classe ?
--hypothèse : données déjà ordonnées 48 1/2H sur 365j
- utiliser du mixmod avec modèles allongés
-utiliser 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)
#{
# 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
-
- 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
++#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 /
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)
-TODO: revoir les arguments, simplifier (dans les clustering...),
+# 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...)
+ #si pas lissage --> on doit trouver 1 : TOCHECK
+ #regarder biwavelets smooth.wavelet : s'en inspirer