2010-07-15-ift615 - pdf ready - université de sherbrooke
TRANSCRIPT
1
LL’’informatique :informatique :le canif suisse de la sciencele canif suisse de la science
PrPréésentation par Mathieu Beaudoinsentation par Mathieu Beaudoin
dans le cours IFT615dans le cours IFT615
15 juillet 201015 juillet 2010
http://planiart.usherbrooke.ca/~mathieu
2
AujourdAujourd’’huihui……
• L’informatique au service de la médecine
• Projet SIPA
• Découverte de connaissances temporelles
2
3
Mon parcours, Mon parcours, et pourquoi vous êtes et pourquoi vous êtes des outils de qualitdes outils de qualitéé!!
4
Un parcours multidisciplinaireUn parcours multidisciplinaire
• BSc. informatique, UdeS
• Analyste/programmeur : géomatique de la santé
• MSc. sciences cliniques, UdeS
3
5
LL’’informatique : informatique : un outil inestimableun outil inestimable
• Bases de données omniprésentes– Un bon design sauve beaucoup de temps (ex. foreign key)– Un bonne BD, une simple interrogation :
résultats très importants– MS Access, MS Excel, un peu de VBA…
6
Avantages de votre formationAvantages de votre formation
• Apprendre à apprendre…
• Analyser et décomposer un problème– Modélisation objet, modèle relationnel, etc.
• Introduction à…– MAT, STT, structures de données,
langages formels, algorithmique
• Intelligence artificielle = Π↑
Image empruntée du « Giant Knife » de Wenger ( http://www.wengerna.com/giant-knife-16999 )
4
7
Un projet en informatique Un projet en informatique mméédicaledicale
Un projet de recherche appliquUn projet de recherche appliquééee
≠≠≠≠ archéologie
Image empruntée de (http://kotaku.com/341515/msoft-announces-nine-new-games-for-windows )
8
Surveillance en santSurveillance en santéé publiquepublique
[1]
5
9
Projet SIPAProjet SIPA
Surveillance Intelligente de la Prescription d’Antibiotiques (SIPA)
• Support informatisépour identifier des prescriptions d’antibiotiques potentiellement inappropriées ou sous-optimales
– Direction médicale : Louis Valiquette– Direction informatique : Froduald Kabanza
10
Prescription optimale complexePrescription optimale complexe
• Processus complexe et subjectif– Sentiment de sécurité avec ATB plus puissants– Effets secondaires ou interactions sous-estimés– Formation limitée, évolution de la connaissance
– Évolution de la condition du patient
• Jusqu’à 50% de prescriptions inappropriées [2,3]
Vancomycine IV 1g aux 8 heurespour 14 jours, pour traiter une méningite
6
11
Effets indEffets indéésirablessirables
• Impacts négatifs sur la santé des patients • Premier facteur de risque de C. difficile
• Prolonge la durée de séjour hospitalier• résistance bactérienne aux ATB
• En conséquence, les coûts
[2,4]
Bactéries Mutations Bactéries résistantes
Antibiotique
12
Un problUn problèème de tailleme de taille
CHUS
Canada
3e médicament plus coûteux
163M CND [5]
30 000 hosp.(2009)
9 500 avec ATB (2009)
1,3M CND (2005)
29 000 presc. d’ATB180 000 doses administrées
~ 20% budget pharmacie
avec ATB
Image des billets empruntée à ( http://weblogs.cltv.com/news/local/chicago/Money%20stacks.jpg )
7
13
RRéévision manuellevision manuelle
Trop de données, pas assez de personnel• Ne cible qu’une faible proportion des prescriptions• Vérification manuelle dans ARIANE
Environ 80 nouvelles prescriptions d’ATB par jour,en plus de celles qui pourraient être réévaluées
14
Maximiser Maximiser efficacitefficacitéé et efficienceet efficience
8
15
Architecture de SIPA
16
Acquisition de connaissancesAcquisition de connaissances
• Knowledge acquisition bottleneck– Nécessite une main d’œuvre spécialisée� Long et onéreux
• SIPA doit être adapté localement– Pratiques diffèrent selon le site– Beaucoup d’exceptions cliniques– Connaissances en évolution
• Sensibilité & spécificité– Nécessité de minimiser les faux positifs ( spécificité)
9
17
Apprentissage automatisApprentissage automatisééApprendre des règles en fonction des rétroactionsdes usagers
Facilite acquisition et maintenance de la connaissance
18
DDééveloppement veloppement àà RRechercheecherche
• Contexte de surveillance en santé
• Problématique clinique & solution
• Problématique informatique–– Analyse Analyse →→→→→→→→ D D
–– Nouveau problNouveau problèème identifime identifiéé
–– R&DR&D
10
19
DDéébroussaillage de solutionbroussaillage de solution
20
DDéécouverte de connaissancescouverte de connaissances
• Machine learning (IA)– Acquisition de connaissances– Apprentissage / amélioration de résolution de problèmes
• Data mining– Découverte de connaissances dans un grand volume de
données provenant de bases de données– Recherche de régularités, irrégularités, ou relations jugées
intéressantes
11
21
Description du domaineDescription du domaine
• Variables conventionnelles : sexe, âge, etc.• Événements : température, globules blancs, etc.
• Épisodes : prescriptions, etc.
tempsva
leur
Penicillin
Pip/Tazo
Aspirin
temps temps
vale
ur
22
ÉÉPISODEPISODE
Pip./Tazo {}
Pénicilline {}
Pseudomonase positif
T. fièvre T. fièvre T. NormaleT. fièvre T. Normale
GB Bas GB Bas GB Normaux GB Normaux
Warfarine {} Warfarine {}Med.
GB.
Med.
Pathogène
T.
ATB
ATB
Saline IV
• Épisode e = (val, ts, te)– Observation symbolique val d’une variable v∈V– val constante sur l’intervalle temporel [ts,te], e.ts < e.te.
– val ∈ VAL = {A, B, C, …}
12
23
Saline IV
SSÉÉQUENCE DQUENCE D’É’ÉPISODESPISODES
Pip./Tazo {}
Pénicilline {}
Pseudomonase positif
GB Bas GB Bas GB Normaux GB Normaux
Warfarine {} Warfarine {}Med.
GB.
Med.
Pathogène
T.
ATB
ATB
T. fièvre T. fièvre T. NormaleT. fièvre T. Normale
• Séquence d’épisodes s = <v, e1, e2,…, en>– ∀ei∈v : ei.te < ei+1.ts pour i=1,…,n-1
ei ei+1
ei.te ei+1.ts< ε ε ε ε
24
CHRONIQUECHRONIQUE
Pip./Tazo {}
Pénicilline {}
Pseudomonase positif
T. fièvre T. fièvre T. NormaleT. fièvre T. Normale
GB Bas GB Bas GB Normaux GB Normaux
Warfarine {} Warfarine {}Med.
GB.
Med.
Pathogène
T.
ATB
ATB
Saline IV
• Chronique c = {id, s1, s2,…, sm, {erreurs} }– avec m ≤ |V|
13
25
RRèègle temporellegle temporelle
• Exemple de règle complexe : migration IV-PO1. SI ATB1 intraveineux depuis 72h et plus2. ET Traitement oral depuis 24h et plus3. ET Températures normales depuis 24h et plus4. ET Globule blanc normaux depuis 24h et plus
5. ALORS ATB1 intraveineux devrait être administré par voie orale
26
LL’é’évolution du patientvolution du patient
VALIDE INVALIDE
Pour les mêmes valeurs…
14
27
Pénicilline {}
Pseudomonase positif
T. fièvre T. fièvre T. NormaleT. fièvre
GB Bas GB Bas GB Normaux
Warfarine {}
Saline IV
Le problLe problèèmeme
Classification temporelle de données multivariées• Entrées : ensemble de chroniques validées,
• Sorties : règles de classification/prédiction
Pip./Tazo {}
T. Normale
GB Normaux
Warfarine {}Med.
GB.
Med.
Pathogène
Temp.
ATB
ATB
28
CaractCaractééristiques du problristiques du problèèmeme
• Séquences d’épisodes– Information temporelle ≠ attributs traditionnels [6]
– Ordonnancement & chevauchement temporels
• Déséquilibre des classes– Chroniques avec erreurs << chroniques sans erreurs
• Règles/métriques compréhensibles– S’addresse à des experts cliniques
é1
é2 temps
15
29
ProblProblèème du jourme du jour
30
Une piste de solution pourUne piste de solution pour……
Découverte de connaissances àl’intérieur d’intervalles temporels
• APRIORI– Approche traditionnelle
– Découverte de séquence d’événements (discrets)– Découverte des relations temporelles entre épisodes
16
31
Une approche existanteUne approche existante
APRIORI [7]
• Découverte de règles d’association : A→→→→C
• Co-occurrence fréquente d’éléments– Support (A→→→→C) : P(A∩∩∩∩C)
– Confidence (A→→→→C) : P(C|A)
• Complexité algorithmique O(2n)– n = nb. valeurs dans jeu de données
• Apprentissage non-supervisé– Fixer les éléments d’intérêt � apprentissage supervisé
32
GGéénnéération des candidatsration des candidats
Step 1) Identifier les co-occurrences fréquentes
1. GENERATE_CANDIDATE_ITEMSET()
2. {3. L1= GENERATE_FREQUENT_1_ITEMSETS()4. FOR (k=2; Lk-1 ≠ Ø; k++)
5. Ck = GENERATE_CANDIDATES_K_ITEMSET_FROM(Lk-1)
6. FOR EACH transaction t ∈ T7. FOR EACH c ∈ Ck
8. EVALUATE_SUPPORT(c, t) // increment count if c ⊆ t
9. Lk = {c ∈ Ck | SUPPORT(c) ≥ min-support }10. RETURN F, the set of all frequent itemsets (∪k ≥1 Lk)11. }
17
33
GGéénnéération des candidatsration des candidats
Step 1) Identifier les co-occurrences fréquentes
1. GENERATE_CANDIDATE_ITEMSET()
2. {3. L1= GENERATE_FREQUENT_1_ITEMSETS()4. FOR (k=2; Lk-1 ≠ Ø; k++)
5. Ck = GENERATE_CANDIDATES_K_ITEMSET_FROM(Lk-1)
6. FOR EACH transaction t ∈ T7. FOR EACH c ∈ Ck
8. EVALUATE_SUPPORT(c, t) // increment count if c ⊆ t
9. Lk = {c ∈ Ck | SUPPORT(c) ≥ min-support }10. RETURN F, the set of all frequent itemsets (∪k ≥1 Lk)11. }
Ensembles fréquents de taille k composés à partir des ensembles fréquents
de taille k-1
34
Ex. candidats frEx. candidats frééquentsquents
Support_min = 20%
Frequent 1-Itemset
• SUPPORT(Nachos) = 80%• SUPPORT(Salsa) = 40%• SUPPORT(Fromage) = 40%…
Frequent 2-Itemsets
• SUPPORT(Nachos & Salsa) = 40%• SUPPORT(Nachos & Fromage) = 20%…
Frequent 3-Itemsets
• SUPPORT(Nachos & Salsa & Fromage) = 20%…
{ Fromage }4
{ Nachos, Salsa }3
{ Nachos, Bière, Olives }2
{ Nachos, Salsa, Fromage }1
{ Nachos }5
ITEMSID
18
35
GGéénnéération des ration des rrèègles dgles d’’associationassociation
Step 2) Créer des règles d’association A→C
1. GENERATE_ASSOCIATION_RULES()
2. {
3. FOR EACH frequent itemset X ⊆ F4. FOR EACH consequent candidate Y ⊂ X
5. CREATE_RULE (X-Y) → Y // A=(X-Y); C=Y6. IF SUPPORT(A∪C) ÷ SUPPORT(A) ≥ min-conf THEN7. AR = AR ∪ { (X-Y) → Y }8. RETURN AR9. }
36
GGéénnéération des ration des rrèègles dgles d’’associationassociation
Step 2) Créer des règles d’association A→C
1. GENERATE_ASSOCIATION_RULES()
2. {
3. FOR EACH frequent itemset X ⊆ F4. FOR EACH consequent candidate Y ⊂ X
5. CREATE_RULE (X-Y) → Y // A=(X-Y); C=Y6. IF SUPPORT(A∪C) ÷ SUPPORT(A) ≥ min-conf THEN7. AR = AR ∪ { (X-Y) → Y }8. RETURN AR9. }
À partir des ensembles fréquents, crée la règle en
combinant ses items fréquents sous la forme
A→→→→C
19
37
Ex. rEx. rèègles dgles d’’associationassociation
3-Itemsets
• { Nachos & Salsa & Fromage }…
Règles d’associationConfidence_min = 50%
{ Nachos & Fromage } → { Salsa } : confidence = 0.2 ÷ 0.2 = 1{ Fromage & Salsa } → { Nachos } : confidence = 0.2 ÷ 0.2 = 1{ Nachos & Salsa } → { Fromage } : confidence = 0.2 ÷ 0.4 = 0.5
{ Fromage }
{ Nachos, Salsa }
{ Nachos, Bière, Olives }
{ Nachos, Salsa, Fromage }
{ Nachos }
ITEMS
38
Sequence miningSequence mining
• Dans plusieurs transactions [8]
– Support & confidence dans les transactions d’un même client
{ (AB), (C) } ⊂⊂⊂⊂ { (D), (ABE), (EF), (DC) }
T3
T2
T1
T0
Temps
{ D, C }1
{ E, F }1
{ A, B, E }1
{ D }1
ITEMSID
20
39
Ex. transactionsEx. transactions
• Le pattern fréquent tient compte de l’ordre dans lequel les événements surviennent
T3
T2
T1
T0
Temps
{ MS Visual C# 2008 }1
{ Design Patterns, DBMS }1
{ C# for dummies }1
{ C# Pro }1
ITEMSID
Ex. règle : { (C# for dummies), (MS Visual C#) } →→→→ { (C# Pro) }
Séquence pour ID 1 : { (C# for dummies), (Design Pattern, DBMS), (MS Visual C#), (C# Pro) }
40
Sequence miningSequence mining
• Dans une séquence unique [9]
– Support & confidence calculés dans les fenêtres temporelles
B37
C38
A35
ÉvénementsTemps
F33
D32
E31
Ex. Activités et états d’un système dans un journal (log)
21
41
Sequence miningSequence mining
• Dans une séquence unique [9]
– Support & confidence calculés dans les fenêtres temporelles
B37
A35
ÉvénementsTemps
F33
D32
E31
…
D, F, A, B
B, C, E, F
E, D, F, A
Séquences
Fenêtre temporelle de taille 5
42
SSééquence dquence d’é’épisodespisodes
Décrire cette séquence d’épisodes• Information pertinente au-delà de l’ordonnancement
Ex. : A<before>B ^ A<overlap>C ^ C<overlap>B →→→→ D
22
43
AlgAlgèèbre dbre d’’intervallesintervalles
• 13 relations de l’algèbre d’intervalles [10]
A
B
D
E
F
C
44
RRèègle dgle d’’association temporelleassociation temporelle
• Ajout d’une nouvelle étape [11]
Étape 1. Découvre des règles d’association traditionnelles
Étape 2. Génère des candidats eventn<relation>eventm à partir des résultats de l’Étape 1
Étape 3. Calcule support des eventn<relation>eventm de l’Étape 2
Étape 4. Calcule confidence des items fréquents de l’Étape 3 et crée règles temporelles
23
45
Des relations temporellesDes relations temporelles
Comment passer de { A, B, C, D, E } → Fà A<before>B ^A<overlap>C ^ C<overlap>B → D
Quelles sont les relations temporelles possibles?A<ri>B A<ri>C A<ri>D A<ri>E
B<ri>C B<ri>D B<ri>E
C<ri>D C<ri>E
D<ri>E
∀∀∀∀ ri ∈∈∈∈ {13 relations d’algèbre d’intervalles) | em<ri>en fréquent
A<before>B, A<after>B, A<equal>B, A<meets>B, A<met-by>B, A<overlaps>B, A<overlapped-by>B, A<during>B, A<contains>B, A<starts>B, A<started-by>B, A<finishes>B, A<finished-by>B
46
DDéécouverte des couverte des relations qualitativesrelations qualitatives
Relations temporelles qualitatives fréquentes [11]
• Règle : A ^ r1 ^ r2 ^ … ^ rn →→→→ C– A → C est une règle d’association (conjonctions de ei∈E, ).
– rj = ea <rel> eb, avec ea,eb∈A et rel∈R (relations d’algèbre d’intervalles)
• Exemple :A ^ B ^ C ^ A<before>B ^A<overlap>C ^ C<overlap>B →→→→ D
Étape 1. USD_Down ^ China_Sells_USD ^ China_Buys_Gold → Gold_Price_Up
Étape 2-3. USD_Down <before> China_Sells_USD ^
China_Buys_Gold <during> China_Sells_USD → Gold_Price_Up
24
47
Nous avons une piste de solution, Nous avons une piste de solution, mais encore plusieurs problmais encore plusieurs problèèmesmes
48
ProblProblèème de performanceme de performance
• Extraction des relations temporelles prohibitive [12]
• Solution? Se concentrer sur sous-ensemble– Papapetrou et al. 2005 [13] : rel ∈ { 5 relations de R }– Lee et al. 2009 [14] : rel ∈ { 5 relations de R }
� Plus performant
� Restreint dans les relations identifiées (perd la vue d’ensemble)
�Perte d’information temporelle [12]
25
49
ProblProblèème de perceptionme de perception
• Représentation surchargée [15]
– Trop d’information pour l’utilisateur
– Difficile d’avoir une vue d’ensemble de la règle
A<before>B ^A<overlap>C ^ C<overlap>B ^B<before> D ^C<before>D
Une représentation graphique apporte une aide essentielle
50
• Sans information quantitativeA<before>B ^A<overlap>C ^ C<overlap>B ^B<before> D ^C<before>D
• Difficile à modifier– Information temporelle continue
– Solution potentielle : discrétisation• Problème de performance…
ou ou …
ProblProblèème quantitatifme quantitatif
C
1
2
3
4
∆
∆
∆
∆
26
51
ProblProblèème de mme de méétriquestriques
Objectif : découvrir des règles de classification pour des erreurs en faible proportion (rares)
• APRIORI– Étape 1 : identifier les co-occurrences fréquentes
• Support (A→C) : P(A∩C)
– Étape 2 : créer les règles d’association• Confidence (A→C) : P(C|A)
52
DDééssééquilibre de classesquilibre de classes……
• APRIORI– Étape 1 : identifier les co-occurrences fréquentes
• Support (A→C) : P(A∩C)
– Étape 2 : créer les règles d’association• Confidence (A→C) : P(C|A)
• Explosion des candidats dans étape 1 [16,17]
– Support trop bas → trop de candidats fréquents– Problème de performance– Nombre faramineux de règles inintéressantes et non-prédictives– Et si trop rare, même pas identifiée
27
53
Ha ha ha!Ha ha ha!ÇÇa nous sert a nous sert àà rien cette rien cette
approche lapproche làà?!?!
54
Questions?Questions?
Image empruntée à ( http://humansymbiose.org/tyrone/pictures/knowledge_is_power.jpg )
28
55BibliographieBibliographie[1] Health Canada. “Chronic Disease Surveillance in Canada: A Background Paper”. Ottawa: Centre for Surveillance Coordination, Health
Surveillance Coordination Division. 2003.
[2] Dellit TH, Owens RC, et al. "Infectious Diseases Society of America and the Society for Healthcare Epidemiology of America guidelines for developing an institutional program to enhance antimicrobial stewardship". Clinical Infectious Diseases, 2007. 44(2): 159-177.
[3] Willemsen I, Groenhuijzen A, et al. "Appropriateness of antimicrobial therapy measured by repeated prevalence surveys". Antimicrobial Agents and Chemotherapy, 2007. 51(3): 864-867.
[4] Valiquette L, Cossette B, et al. "Impact of a reduction in the use of high-risk antibiotics on the course of an epidemic of Clostridium difficile-associated disease caused by the hypervirulent NAP1/027 strain". Clinical Infectious Diseases, 2007. 45 Suppl 2: 112-121.
[5] Données obtenues pour l’année 2008 sur le site de IMS Health. Disponible à ( http://www.imshealth.com/ )
[6] Antunes CM et Oliviera AL. "Temporal Data Mining: an Overview". Proceedings of the Workshop on Temporal Data Mining, ACM SIGKDD International Conference on Knowledge Discovery and Data Mining. 2001. San Francisco.
[7] Agrawal R, Imielinski T, et al. "Mining association rules between sets of items in large databases". Proceedings of the 1993 ACM SIGMOD international conference on Management of data, 1993: 207-216.
[8] Agrawal R et Srikant R. "Mining Sequential Patterns". Proceedings of 11th International Conference on Data Engineering, 1995: 3-14.
[9] Mannila H, Toivonen H, et al. "Discovery of Frequent Episodes in Event Sequences". Data Mining Knowledge Discovery 1997. 1(3): 259-289.
[10] Allen JF. "Maintaining Knowledge about Temporal Intervals". Communications of the ACM, 1983. 26(11): 832-843.
[11] Rainsford CP et Roddick JF. "Adding Temporal Semantics to Association Rules". Proceedings of the Third European Conference on Principles of Data Mining and Knowledge Discovery, 1999: 504-509.
[12] Patel D, Hsu W, et al. "Mining Relationships Among Interval-Based Events for Classification". Proceedings of the 2008 ACM SIGMOD international Conference on Management of Data. 2008. Vancouver, Canada.
[13] Papapetrou P, Kollios G, et al. "Discovering Frequent Arrangements of Temporal Intervals". Proceedings of the Fifth IEEE International Conference on Data Mining, 2005: 354-361.
[14] Lee YJ, Lee JW, et al. "Mining temporal interval relational rules from temporal data". Journal of Systems and Software, 2009. 82(1): 155-167.
[15] Kam P-S et Fu AW-C. "Discovering Temporal Patterns for Interval-Based Events". Proceedings of the Second International Conference on Data Warehousing and Knowledge Discovery, 2000: 317-326.
[16] Zaki MJ, Lesh N, et al. "PLANMINE: Predicting Plan Failures Using Sequence Mining". Artificial Intelligence Review, 2000. 14(6): 421-446.
[17] Roddick JF et Spiliopoulou M. "A Survey of Temporal Knowledge Discovery Paradigms and Methods". IEEE Transactions on Knowledge and Data Engineering, 2002. 14(4): 750-767.