dimanche 15 mars 2015

Hyper-threading et disque SSD

Après plus de 6 années de bons et loyaux services, j'ai décidé de changer ma machine de développement. Il faut dire que l'ancienne (Intel Core 2 Quad Q9400 2,66 Ghz tournant sous Windows 7 64 bits) commençait à émettre des bruits inquiétants. Les ventilateurs soufflaient au maximum quasiment en permanence. J'étais obligé de mettre de la musique pour couvrir les borborygmes de la bête et pouvoir travailler en toute quiétude.

Bon, le choix de la nouvelle machine était une autre affaire. J'ai passé l'âge de la course à la puissance - qui est forcément vaine de toute manière, vu l'évolution fulgurante de l'informatique. J'étais néanmoins sensible à deux aspects que je ne pouvais pas évaluer auparavant : est-ce que la technologie hyper-threading  est efficace dans la programmation multithread des algorithmes de data mining ? Est-ce qu'utiliser des fichiers temporaires pour soulager l'occupation mémoire prend une autre tournure lorsqu'on s'appuie sur un disque SSD.

La nouvelle bête est ainsi équipée d'un processeur Core I7 4770S cadencé à 3,1 Ghz (4 cœurs physiques mais 8 threads logiques avec la technologie hyper-threading) et d'un disque système SSD. Ce n'est pas la gloire mais ça me permet d'évaluer les deux thèmes ci-dessus en reprenant les calculs décrits dans d'anciens tutoriels que j'avais mis en ligne il y a un certain temps déjà : "Multithreading équilibré pour la discriminante" (juin 2013), où il est question d'une implémentation multithread, le nombre de threads est paramétrable, de l'analyse discriminante ; "Sipina - Traitement des très grands fichiers" (octobre 2009), où je présentais une solution qui consistait à copier les données organisées en colonnes sur disque (bien avant l'heure - la solution date de 1998, du temps où disposer de 64 Mo de RAM était éminent - une version très fruste des bases de données orientées colonnes), tous les accès lors de la construction des arbres se fait sur disque, un système de cache vient accélérer la lecture.

Nous reproduisons dans ce tutoriel les deux études précitées utilisant le logiciel SIPINA. Notre objectif est d'évaluer le comportement de ces solutions (implémentation multithread, copie des données sur disque pour alléger l'occupation mémoire) sur notre nouvelle machine qui, de par ses caractéristiques, devrait en tirer expressément avantage.

Mots-clés :  hyper-threading, disque ssd, solid-state drive, multithread, multithreading, traitement des très grands fichiers, core i7, sipina, arbres de décision, analyse discriminante linéaire
Didacticiel : fr_Tanagra_Hyperthreading.pdf
Références :
Tutoriel Tanagra, "Multithreading équilibré pour la discriminante", juin 2013.
Tutoriel Tanagra, "Multithreading pour les arbres de décision", novembre 2010.
Tutoriel Tanagra, "Sipina - Traitement des très grands fichiers", octobre 2009.

dimanche 8 mars 2015

Analyse de corrélation - Version 1.1

La corrélation est souvent présentée vite fait comme un préambule à la régression simple dans les ouvrages d'économétrie. Pourtant, elle ouvre la porte à des analyses très riches sur les relations entre les variables. De nombreuses méthodes exploratoires reposent sur la notion de corrélation entre les variables.

La première version de cet ouvrage (version 1.0, mai 2008) essayait d'aller un peu plus loin qu'un simple exposé de principe sur la corrélation et les calculs y afférents.  Je me suis appuyé sur de nombreuses sources. Mais j'avoue surtout avoir été influencé par la lecture de la monographie de Chen et Popovich (2002). Rarement j'ai vu une telle qualité de rédaction autour de la notion de corrélation. Je n'aurais jamais pensé non plus qu'on pouvait en écrire autant sur la corrélation.

Dans cette nouvelle version (1.1), j'ai (re)découvert le package "psych" de Revelle (version 1.5.1 - janvier 2015) pour R en accédant à l'ouvrage de statistique sous R qu'il a mis en ligne (cf. références ci-dessous). J'ai constaté que le package intégrait plusieurs procédures dédiées à la corrélation. J'ai ainsi pu valider tous les calculs que j'ai pu faire sur tableur dans la version précédente de mon propre ouvrage (obtenir des résultats concordants avec d'autres chercheurs est toujours rassurant), j'ai aussi découvert de nouveaux outils traitant des matrices des corrélations.

Une section consacrée aux traitements sous R - utilisant le package "psych" - a été rajoutée en annexes.

Bien évidemment, le fichier Excel retraçant tous les exemples illustratifs accompagne ce document.

Mots-clés: corrélation, comparaison de corrélations, corrélation partielle, corrélation semi-partielle, rho de spearman, tau de kendall, transformation de fisher, package psych
Ouvrage : Analyse de corrélation - Étude des dépendances - Variables quantitatives (Version 1.1)
Données : Dataset - Analyse de corrélation
Autres références :
Chen P., Popovich P., "Correlation: Parametric and Nonparametric Measures", Sage University Papers Series on Quantitative Applications in the Social Sciences, no. 07-139, 2002.
Revelle W., "An introduction to psychometric theory with applications in R", consulté en Mars 2015.