the Next Step ?

Les Big Data sont des donnés trop grandes pour être traitées de manière classique. Le terme « trop grandes » varie d’un domaine scientifique à l’autre. En statistique, les logiciels proposent généralement de travailler sur des tailles de données de l’ordre de la dizaine de giga. En informatique, Oracle permet de traiter jusqu’à cinquante téra, soit 5 000 fois plus…
Pour arriver à un tel résultat, diverses techniques existent comme l’utilisation du swap ou le stockage spécifique sous format « base de données » (par exemple Oracle ou PostGRES). Mais les outils actuellement disponibles vont rarement au delà de l’analyse univariée (moyenne, variance, quartiles,…) R++ s’intéresse à l’application de ces techniques à des méthodes statistiques plus évoluées (tests statistiques, régression, clustering, ACP, AFP, exploration multi-dimensionnelle,…)

Bilan de l’existant

Dans le cadre de leur stage de Master 2, Houssen BenAmor et Radwane Ben Abdelali ont comparé les performances des différents logiciels de statistique en terme de big data.

Méthode

Trois méthodes statistiques à la fois simples, fondamentales et nécessitant des algorithmes différents ont été choisies :

  • Moyenne par colonne : cela implique une somme et une division
  • Médiane par colonne : nécessite un tri
  • Multiplication de matrice (ou plus simplement une matrice au carré) : gestion de la mémoire plus sophistiqué.

Pour chaque méthode, nous avons utilisé d’un « code maison » écrit dans la syntaxe du langage, de l’autre une fonction fournie par le langage. Ces différentes méthodes ont ensuite été testées sur des matrices de flottant à n colonnes et n^2 lignes, n variant de 3 à 1000 en suivant une progression exponentielle : (2, 3, 5, 7, 10, 15, 22, 32, 47, 69, 100, 147, 216, 317, 465, 682, 1000).

Logiciels utilisés

Nous avons testé différents logiciels dans différentes conditions. Selon les cas et les possibilités des logiciels, nous avons travaillé sous Windows, sous Linux ou sous les deux. Nous avons travaillé sur un système 32 bits, puis 64 bits. Enfin, nous avons testé R mais nous avons aussi testé différents packages de R ayant pour vocation de traiter des big data. Au final, les logiciels testés sont les suivants :

  • R
  • R, package compiler
  • R, package ff (ff est le package sur lequel s’appuie le package big data)
  • Stata
  • Julia
  • SAS

 

Résultats & Analyses

Afin de simplifier la présentation des résultats, nous n’avons conservé ici que les exécution des codes 64 bits.

Lecture des données

Lecture des données

En matière de lecture des données, SAS est clairement le plus rapide des logiciels testé. A noter, Julia n’est pas parvenu à ouvrir la matrice de taille 1000*1000^2.

Moyenne & médiane

Moyennes

Médiane

Les performances de R sont les meilleures. Les performances de Julia se dégradent assez rapidement avec l’augmentation de la taille des données. A noter, SAS présentent des performances assez faible sur les données de petite taille.

Matrice au carré

Matrice carrée

Les logiciels les plus performants en terme de multiplications de matrices (Julia, et R) sont bloqués aux matrices de taille 147*147^2, soit environ 3 000 000. SAS et STATA sont limités a 100*100^2. Pour les matrices les plus grande, le meilleur logiciel est Julia.

Conclusion générale

Au delà des performances et contre-performances de certains logiciels, le constat général est que les limites en terme de gestion des big data des logiciels statistiques sont extrêmement faibles.

 

A suite : axe IHM