12.07.2015 Views

Données séquentielles : Pratique de la fouille de séquences à l'aide ...

Données séquentielles : Pratique de la fouille de séquences à l'aide ...

Données séquentielles : Pratique de la fouille de séquences à l'aide ...

SHOW MORE
SHOW LESS
  • No tags were found...

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

<strong>Données</strong> <strong>séquentielles</strong> : <strong>Pratique</strong> <strong>de</strong> <strong>la</strong> <strong>fouille</strong> <strong>de</strong> <strong>séquences</strong> <strong>à</strong> l’ai<strong>de</strong> <strong>de</strong> TraMineR<strong>Données</strong> <strong>séquentielles</strong> : <strong>Pratique</strong> <strong>de</strong> <strong>la</strong> <strong>fouille</strong> <strong>de</strong><strong>séquences</strong> <strong>à</strong> l’ai<strong>de</strong> <strong>de</strong> TraMineRGilbert RitschardAlexis Gabadinho, Nico<strong>la</strong>s S. Müller, Matthias Stu<strong>de</strong>rDépartement d’économétrie et Laboratoire <strong>de</strong> Démographie, Université <strong>de</strong> Genèvehttp://mephisto.unige.ch/biominingTutoriel EGC, Strasbourg, 27 janvier 2009


<strong>Données</strong> <strong>séquentielles</strong> : <strong>Pratique</strong> <strong>de</strong> <strong>la</strong> <strong>fouille</strong> <strong>de</strong> <strong>séquences</strong> <strong>à</strong> l’ai<strong>de</strong> <strong>de</strong> TraMineRInstal<strong>la</strong>tion <strong>de</strong> TraMineRTraMineRTraMineR est un package pour R qui permet <strong>de</strong> :Manipuler et transformer différents formats et types <strong>de</strong>données longitudinales.Visualiser et analyser <strong>de</strong>s <strong>séquences</strong> d’états.Fouiller et analyser <strong>de</strong>s <strong>séquences</strong> d’événements.Analyser <strong>de</strong>s dissimi<strong>la</strong>rités (analyse <strong>de</strong> pseudo-variances etarbre d’induction).Les résultats peuvent ensuite être utilisés dans d’autresprocédures <strong>de</strong> R.


<strong>Données</strong> <strong>séquentielles</strong> : <strong>Pratique</strong> <strong>de</strong> <strong>la</strong> <strong>fouille</strong> <strong>de</strong> <strong>séquences</strong> <strong>à</strong> l’ai<strong>de</strong> <strong>de</strong> TraMineRInstal<strong>la</strong>tion <strong>de</strong> TraMineRInstal<strong>la</strong>tion <strong>de</strong> TraMineRPour installer TraMineR, il faut installer R au préa<strong>la</strong>ble.Pour ce<strong>la</strong> :Téléchargez R <strong>de</strong>puis http://stat.ethz.ch/CRAN/bin/windows/base/release.htm.Installez R.Lancez R.Ensuite, sur <strong>la</strong> ligne <strong>de</strong> comman<strong>de</strong> tapezR> install.packages("TraMineR")Pour utiliser TraMineR, il faut charger <strong>la</strong> librairie avecR> library("TraMineR")


<strong>Données</strong> <strong>séquentielles</strong> : <strong>Pratique</strong> <strong>de</strong> <strong>la</strong> <strong>fouille</strong> <strong>de</strong> <strong>séquences</strong> <strong>à</strong> l’ai<strong>de</strong> <strong>de</strong> TraMineRInstal<strong>la</strong>tion <strong>de</strong> TraMineRUn court exempleBasé sur les données <strong>de</strong> McVicar and Anyadike-Danes (2002)distribuées avec TraMineR.Les données concernent les <strong>séquences</strong> <strong>de</strong> transition entre écoleet emploi.McVicar, D. and M. Anyadike-Danes (2002). Predicting successfu<strong>la</strong>nd unsuccessful transitions from school to work using sequencemethods. Journal of the Royal Statistical Society A 165(2),317–334.


<strong>Données</strong> <strong>séquentielles</strong> : <strong>Pratique</strong> <strong>de</strong> <strong>la</strong> <strong>fouille</strong> <strong>de</strong> <strong>séquences</strong> <strong>à</strong> l’ai<strong>de</strong> <strong>de</strong> TraMineRInstal<strong>la</strong>tion <strong>de</strong> TraMineRCréation <strong>de</strong>s <strong>séquences</strong> d’étatsPour manipuler les <strong>séquences</strong> d’états, il est nécessaire <strong>de</strong> définir unobjet spécifique <strong>à</strong> l’ai<strong>de</strong> <strong>de</strong> <strong>la</strong> fonction seq<strong>de</strong>f. Cette opérationpermet <strong>de</strong> :définir <strong>de</strong>s métho<strong>de</strong>s (fonctions) spécifiques aux <strong>séquences</strong>d’états.stocker <strong>de</strong>s informations supplémentaires, soit :Les <strong>séquences</strong> individuelles sous <strong>la</strong> forme d’une matrice.L’alphabet (liste <strong>de</strong>s états possibles).Les couleurs associées aux états.Les étiquettes <strong>de</strong>s états.R> data(mvad)R> mvad.<strong>la</strong>b mvad.sco<strong>de</strong> mvad.seq


<strong>Données</strong> <strong>séquentielles</strong> : <strong>Pratique</strong> <strong>de</strong> <strong>la</strong> <strong>fouille</strong> <strong>de</strong> <strong>séquences</strong> <strong>à</strong> l’ai<strong>de</strong> <strong>de</strong> TraMineRInstal<strong>la</strong>tion <strong>de</strong> TraMineRAnalyses <strong>de</strong>s <strong>séquences</strong> d’étatsVisualisation :seqdplot Distribution transversale <strong>de</strong>s états (d-plot)seqiplot Plot <strong>de</strong> <strong>séquences</strong> individuelles (i-plot)seqfplot Plot <strong>de</strong>s <strong>séquences</strong> fréquentes (f-plot)seqmtplot Temps moyen passé dans chaque étatCaractéristiques <strong>de</strong>s <strong>séquences</strong> individuelles :seqistatd Durée <strong>de</strong>s étatsseqient Entropie <strong>de</strong>s <strong>séquences</strong>seqST TurbulenceCaractéristiques d’un ensemble <strong>de</strong> <strong>séquences</strong> :seqstatd Fréquences <strong>de</strong>s états et entropie par âgeseqtab Séquences fréquentesCalcul <strong>de</strong> distance entre <strong>séquences</strong> :seqdist Différentes métriques


<strong>Données</strong> <strong>séquentielles</strong> : <strong>Pratique</strong> <strong>de</strong> <strong>la</strong> <strong>fouille</strong> <strong>de</strong> <strong>séquences</strong> <strong>à</strong> l’ai<strong>de</strong> <strong>de</strong> TraMineRInstal<strong>la</strong>tion <strong>de</strong> TraMineRVisualisation <strong>de</strong>s <strong>séquences</strong> d’étatsReprésentation graphique <strong>de</strong>s dix premières <strong>séquences</strong>R> seqiplot(mvad.seq, withlegend = FALSE,+ title = "Dix premieres sequences")Graphique <strong>de</strong>s dix <strong>séquences</strong> les plus fréquentes (avec <strong>la</strong>rgeur<strong>de</strong>s barres correspondant <strong>à</strong> <strong>la</strong> fréquence)R> seqfplot(mvad.seq, pbarw = T, withlegend = F,+ title = "Sequences les plus frequentes")Graphique <strong>de</strong> <strong>la</strong> distribution <strong>de</strong>s états <strong>à</strong> chaque unité <strong>de</strong>temps.R> seqdplot(mvad.seq, withlegend = F,+ title = "Distribution <strong>de</strong>s etats")Légen<strong>de</strong>s <strong>de</strong>s graphiques.R> seqlegend(mvad.seq, fontsize = 1.3)


<strong>Données</strong> <strong>séquentielles</strong> : <strong>Pratique</strong> <strong>de</strong> <strong>la</strong> <strong>fouille</strong> <strong>de</strong> <strong>séquences</strong> <strong>à</strong> l’ai<strong>de</strong> <strong>de</strong> TraMineRInstal<strong>la</strong>tion <strong>de</strong> TraMineRDix premieres sequencesSequences les plus frequentesSeq. 1 to 10 (n=712)% freq. (n=712)1.11.82.22.42.57Sep.93 Jul.94 Apr.95 Feb.96 Dec.96 Oct.97 Jul.98 Apr.99Sep.93 Jul.94 Apr.95 Feb.96 Dec.96 Oct.97 Jul.98 Apr.99Distribution <strong>de</strong>s etatsFreq. (n=712)0.0 0.2 0.4 0.6 0.8 1.0employmentFEHEjoblessnessschooltrainingSep.93 Jul.94 May.95 Apr.96 Mar.97 Feb.98 Jan.99


<strong>Données</strong> <strong>séquentielles</strong> : <strong>Pratique</strong> <strong>de</strong> <strong>la</strong> <strong>fouille</strong> <strong>de</strong> <strong>séquences</strong> <strong>à</strong> l’ai<strong>de</strong> <strong>de</strong> TraMineRInstal<strong>la</strong>tion <strong>de</strong> TraMineRTurbulence <strong>de</strong>s <strong>séquences</strong>R> mvad.turb summary(mvad.turb)R> hist(mvad.turb, col = "cyan")Histogram of mvad.turbFrequency0 20 40 60 80 100 120 1402 4 6 8 10 12mvad.turb


<strong>Données</strong> <strong>séquentielles</strong> : <strong>Pratique</strong> <strong>de</strong> <strong>la</strong> <strong>fouille</strong> <strong>de</strong> <strong>séquences</strong> <strong>à</strong> l’ai<strong>de</strong> <strong>de</strong> TraMineRInstal<strong>la</strong>tion <strong>de</strong> TraMineROptimal matchingCalcul <strong>de</strong>s distances basé sur les taux <strong>de</strong> transition entre états.R> submat dist.om1 library(cluster)R> clusterward1 plot(clusterward1)R> cl1.3


<strong>Données</strong> <strong>séquentielles</strong> : <strong>Pratique</strong> <strong>de</strong> <strong>la</strong> <strong>fouille</strong> <strong>de</strong> <strong>séquences</strong> <strong>à</strong> l’ai<strong>de</strong> <strong>de</strong> TraMineRInstal<strong>la</strong>tion <strong>de</strong> TraMineRGraphique <strong>de</strong> <strong>la</strong> distribution <strong>de</strong>s états dans chaqueclusterR> seqdplot(mvad.seq, group = cl1.3)12Freq. (n=265)0.0 0.4 0.8Freq. (n=153)0.0 0.4 0.8Sep.93 Oct.94 Oct.95 Oct.96 Oct.97 Oct.98Sep.93 Oct.94 Oct.95 Oct.96 Oct.97 Oct.983Freq. (n=294)0.0 0.4 0.8employmentFEHEjoblessnessschooltrainingSep.93 Oct.94 Oct.95 Oct.96 Oct.97 Oct.98


<strong>Données</strong> <strong>séquentielles</strong> : <strong>Pratique</strong> <strong>de</strong> <strong>la</strong> <strong>fouille</strong> <strong>de</strong> <strong>séquences</strong> <strong>à</strong> l’ai<strong>de</strong> <strong>de</strong> TraMineRInstal<strong>la</strong>tion <strong>de</strong> TraMineRSéquences d’événementsIl faut définir un objet <strong>séquences</strong> d’événements <strong>à</strong> l’ai<strong>de</strong> <strong>de</strong> <strong>la</strong>fonction seqecreate.R> mvad.seqe


<strong>Données</strong> <strong>séquentielles</strong> : <strong>Pratique</strong> <strong>de</strong> <strong>la</strong> <strong>fouille</strong> <strong>de</strong> <strong>séquences</strong> <strong>à</strong> l’ai<strong>de</strong> <strong>de</strong> TraMineRInstal<strong>la</strong>tion <strong>de</strong> TraMineRRecherche <strong>de</strong> sous-<strong>séquences</strong> fréquentesRecherche <strong>de</strong>s sous-<strong>séquences</strong> fréquentes au seuil <strong>de</strong> 0.05%.R> fsubseq plot(fsubseq[1:15], col = "cyan")0.0 0.1 0.2 0.3(FE)(FE>employment)(training>employment)(school)(FE)−(FE>employment)(training)(joblessness>employment)(employment>joblessness)(training)−(training>employment)(employment)(school>HE)(employment>joblessness)−(joblessness>employment)(school)−(school>HE)(FE>joblessness)(HE>employment)


<strong>Données</strong> <strong>séquentielles</strong> : <strong>Pratique</strong> <strong>de</strong> <strong>la</strong> <strong>fouille</strong> <strong>de</strong> <strong>séquences</strong> <strong>à</strong> l’ai<strong>de</strong> <strong>de</strong> TraMineRInstal<strong>la</strong>tion <strong>de</strong> TraMineRSous-<strong>séquences</strong> discriminantesRecherche <strong>de</strong>s sous-<strong>séquences</strong> qui discriminent le plusl’appartenance aux clusters.R> discr plot(discr[1:6])120.0 0.2 0.4(school>HE)(school)−(school>HE)(employment>HE)(HE>employment)(school)(training>employment)0.0 0.2 0.4(school>HE)(school)−(school>HE)(employment>HE)(HE>employment)(school)(training>employment)3Pearson residuals0.0 0.2 0.4(school>HE)(school)−(school>HE)(employment>HE)(HE>employment)(school)(training>employment)− 4− 2neutral24

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!