• Aucun résultat trouvé

Méthodologie proposée pour le regroupement des processus d’objets complexes

processus d’objets complexes

Notre projet est issu de trois observations principales. Tout d’abord, les trajectoires de traite- ments médicaux consistent en une succession d’étapes de diagnostics ou thérapeutiques liées au patient. Deuxièmement, les bases de données administratives contiennent des données d’observation recueillies à des fins autres que l’analyse et le forage des données. Elles ont rare- ment été utilisées pour analyser les processus de traitement médical, bien qu’elles représentent une riche source d’information sur les services fournis en système de santé. Troisièmement, le regroupement de processus a reçu une attention accrue au cours des années, car il permet de regrouper les traces d’exécution contenues dans un journal d’événements généré par de nombreux processus latents.

Notre approche proposée est conçue compte tenu de l’intérêt de générer des groupes de pro- cessus de traitements médicaux composés par des événements complexes. Ces événements

Séjours hospitaliers

Séjours hospitaliers caractérisés par des variables numériques, catégorielles et séquentielles

Interventions

Données d'entrées: Bases de données administratives

Services médicaux

Diagnostics Informations des patients

Processus de traitement médical

Consultations caractérisées

par des variables catégorielles Visites caractérisées pardes variables catégorielles

Algorithme k-Prototypes pour regroupement

des valeurs mixtes(Najjar et collab., 2014) Catégorisation basée sur une structure

arborescente construite avec les valeurs des diagnostics des patients

Construction des trajectoires Trajectoires des patients

Algorithme de regroupement par HMM

Groupes et étiquettes des trajectoires

Sous-Niveau

-

Super-Niveau Regroupement hiérarchique des

centres des groupes

Regroupement hiérarchique des centres des groupes

Figure 6.1 – Description de notre approche.

diffèrent selon leurs catégories et les variables qui les caractérisent. Nous pouvons traiter des événements complexes décrits par un mélange de types de variables. En fait, le processus de traitement des patients est une séquence ordonnée de ces événements. Par conséquence, ces sé- quences sont elles-mêmes composées d’objets complexes qui doivent également être regroupés. Ainsi, vu la complexité de problème, nous l’avons découpé en deux étapes. La première étape consiste à s’intéresser aux services médicaux et de les regrouper en des groupes homogènes et la deuxième consiste à s’intéresser au regroupement des trajectoires de soins. Par ce fait, nous proposons une approche ascendante qui peut traiter ce type de données. Notre méthodolo- gie est une méthode de regroupement à deux niveaux. Au premier niveau, nous regroupons les ensembles de données d’événements et nous les étiquetons selon leurs catégories et leurs groupes. Ensuite, ces étiquettes d’événement sont utilisées pour créer les valeurs d’abstraction de processus. Au deuxième niveau, nous proposons l’utilisation de HMM pour regrouper les instances des processus. Fig. 6.1 montre les étapes et les niveaux de cette approche. Dans ce qui suit, nous expliquons plus en détails ces deux niveaux.

6.2.1 Le sous-niveau de la méthodologie

L’objectif de ce niveau est de proposer une méthodologie permettant de construire des événe- ments complexes à partir de bases de données relationnelles, de les regrouper et de reconstituer la trajectoire du patient pour une période spécifique. Tout d’abord, les types d’événements qui composent le processus doivent être identifiés. Au cours des processus des traitements médicaux, les services médicaux donnés aux patients peuvent être classés en trois catégories. Ces catégories sont :

— Visites : défini comme un service fourni par des médecins en soins ambulatoires sans référence par un autre médecin ;

— Consultations : défini comme un service fourni par les médecins en soins ambulatoires à la suite d’une référence d’un autre médecin ;

— Séjours hospitaliers : défini comme un service donné dans le cadre d’une hospitalisa- tion pour au moins un jour.

Chaque service présente un événement dans le processus de traitement. Il se caractérise par sa catégorie et ses variables descriptives. Les entités de consultations et de visites ne sont carac- térisées que par des variables catégorielles. Cependant, les séjours hospitaliers sont plus com- plexes. Chaque séjour hospitalier est décrit par des variables mixtes, composées de variables numériques, catégorielles et catégorielles multivaluées. Les bases de données sont utilisées pour créer ces trois ensembles d’entités.

L’étape suivante consiste à regrouper ces objets complexes en utilisant l’algorithme approprié selon les types des variables qui les caractérisent. Cette étape vise à réduire la complexité des journaux des instances des processus en remplaçant les objets complexes par leurs catégories et leurs étiquettes.

Les consultations et les visites ne sont caractérisées que par des variables catégorielles. Nous avons donc adopté une catégorisation basée sur une structure arborescente construite en utili- sant les codes des diagnostics des patients. Nous avons créé des sous-ensembles en divisant les objets d’entrée selon les codes des diagnostics codés sur la base de la Classification Interna-

tionale des Maladies, 10èmerévision, CIM-10. Cette classification est une hiérarchie composée

de chapitres définis par des blocs de trois caractères alphanumériques. Les premiers trois ca- ractères alphanumériques d’un code de diagnostic permettent de déterminer son chapitre, son bloc et sa catégorie. Ainsi, nous commençons par diviser les objets selon les chapitres des diagnostics. Si la taille d’un sous-ensemble dépasse un seuil fixe de nombre d’objets, nous continuons la partition du ce sous-ensemble en le divisant en des sous-ensembles de blocs d’objets selon les blocs de diagnostics. De plus, si la taille d’un sous-ensemble obtenu suite à cette itération dépasse encore le seuil fixé, nous le divisons en catégories d’objets selon les catégories des diagnostics. Par exemple, le code de la maladie I100 appartient au chapitre des

maladies de l’appareil circulatoire. Ce chapitre couvre les codes avec les trois caractères alpha- numériques compris entre I00 et I99. Il est divisé en blocs homogènes de trois caractères. Un exemple d’un bloc est les maladies hypertensives qui contient des codes avec les trois premiers chiffres entre I10 et I15. Un exemple d’une catégorie dans ce bloc est l’hypertension essentielle donnée par I10 en tant que les trois premiers caractères alphanumériques constituant le code de diagnostic.

Les séjours hospitaliers sont plus complexes. Chaque séjour hospitalier est décrit par un mélange de types des variables, avec des variables catégorielles, numériques et catégorielles multivaluées. Un exemple de ce dernier type de variable est l’ensemble des codes de diagnostic correspondant à un séjour hospitalier, qui peut avoir une valeur telle que {O48001, Z370, O62101}. Pour regrouper l’ensemble des séjours hospitaliers, nous appliquons tout d’abord l’algorithme k-prototypes pour regrouper les objets caractérisés par des valeurs mixtes que nous avons précédemment proposé et décrit à la section 4.2 (Najjar et collab., 2014). Ensuite, nous appliquons le regroupement hiérarchique pour les centres des groupes donnés par cet algorithme k-prototypes pour obtenir le regroupement final.

L’algorithme k-prototypes prend comme entrée les entités des séjours hospitaliers. Il détermine le centre le plus proche de chaque entité selon une mesure de dissimilarité donnée et l’affecte au groupe du centre le plus proche. Pour calculer cette dissimilarité, une représentation en sac de mots dans un espace de projection défini est utilisée pour chaque variable multivaluée. Après chaque affectation, l’algorithme met à jour les centres de l’ancien et du nouveau groupe de l’objet. L’algorithme répète le traitement de tous les objets jusqu’à ce qu’aucun objet ne soit réaffecté ou qu’un autre critère d’arrêt soit atteint.

Après avoir terminé ce premier regroupement, nous regroupons les centres obtenus c1, . . . , cK

avec un regroupement hiérarchique basé sur le critère de liaison moyen pour obte-

nir le regroupement final. Par conséquent, chaque centre ck est présenté sous la forme

(ck,1, . . . , ck,r, . . . , ck,q, . . . , ck,m), où les premiers r sont des valeurs numériques centrées ré-

duites, les (q − r) sont des valeurs catégorielles et les autres sont des représentations en sac de mots des valeurs catégorielles multivaluées. Tout d’abord, les distances par paires entre ces centres sont calculées par la mesure de dissimilarité suivante :

d(ci, ck) = r

X

l=1

(ci,l− ck,l)2+ I(ci,l, ck,l) +

m

X

l=q+1

1 − (cos(ci,l, ck,l)),

avec I(x, y) = 0 si x = y et I(x, y) = 1 autrement.

A partir de cette matrice de distance par paire, nous appliquons un algorithme de regroupe- ment hiérarchique ascendant (agglomerative hierarchical clustering en anglais) avec un critère de lien moyen (average linkage en anglais) pour regrouper ces centres et assigner les objets

aux nouveaux groupes. Au début, chaque centre forme un groupe. Cet algorithme cherche à réduire le nombre des groupe en fusionnant à chaque étape deux groupes pour produire à la fin une hiérarchie des groupes. Les deux groupes choisis pour être fusionnés sont ceux dont la dissimilarité est minimale. Pour obtenir les nouveaux groupes, nous découpons le dendro- gramme à une certaine hauteur choisie. Ceci représente la nouvelle partition. Le paquetage

de regroupement de Scipy1 a été utilisé.

À partir des résultats de regroupement d’entités, nous construisons les processus en tant que succession des étiquettes des objets complexes qui les composent. L’ensemble des processus présente le journal des processus qui sert d’entrée pour le super-niveau. Un exemple de pro- cessus obtenu après l’application de cette méthodologie dans ce niveau est donné par { s51 → c17C1M2 → v2C1M5 → v2C1M2 → v2C1M2 → s50 }. Cette trajectoire signifie que le patient a fait un séjour à l’hôpital étiqueté s51 suivi d’une consultation étiquetée c17C1M2 qui est à son tour suivie d’une visite v2C1M5, et ainsi de suite.

6.2.2 Le super-niveau de la méthodologie

À ce niveau, l’objectif est de regrouper l’ensemble des processus obtenu par la méthodologie appliquée au sous-niveau. Les modèles de Markov cachés (HMM) en utilisant la méthode proposée par Knab et collab. (2003) suivie d’un regroupement hiérarchique ascendant avec un critère de lien moyen sont utilisés pour atteindre cet objectif. L’algorithme de regroupement

basé sur les HMMs est décrit par l’algorithme 9. La bibliothèque GHMM2a été utilisée comme

une implémentation des algorithmes de HMMs.

Le but de l’algorithme 9 est d’adapter un HMM pour chaque groupe de processus. Puisque la convergence de l’algorithme dépend de son initialisation, nous exécutons l’algorithme plusieurs fois. Notre politique d’initialisation est basée sur une distribution de Dirichlet et dépend du paramètre α de la distribution. Dans l’étape d’initialisation, le paramètre α (identique pour toutes les dimensions) est fixe. Nous générons les paramètres initiaux de tous les HMM en utilisant la distribution de Dirichlet avec ce α. L’affectation initiale des séquences est donnée par l’algorithme k-means avec une distance cosinus et une représentation de sac de mots (BoW). Nous utilisons donc la représentation de BoW pour projeter les processus dans l’espace des événements et nous appliquons l’algorithme k-means pour affecter chaque trajectoire à un groupe. Nous déterminons un HMM pour chaque groupe en utilisant l’algorithme de Baum-

Welch pour obtenir les paramètres de modèle Λ(0).

Après l’étape d’initialisation, l’algorithme se déroule en deux étapes. La première étape consiste à assigner chaque trajectoire du patient à la HMM qui donne la plus grande pro- babilité d’émission. Pour le faire, il calcule pour chaque valeur de trajectoire la probabilité

1. http://docs.scipy.org/doc/scipy/reference/cluster.hierarchy.html#module-scipy.cluster. hierarchy

Algorithme 9 Algorithme HMM pour le regroupement des processus des traitements médi-

caux.

input S = {S1, . . . , SN} : un ensemble de séquences, T : Nombre maximal d’itérations output b : Étiquettes des séquences

1: Initialiser les paramètres de K HMMs Λ(0)= {λ(0)

0 , . . . , λ (0)

K }

2: Calculer la log-vraisemblance L(Λ(0)) donnée par

L(Λ(0)) = K X k=1 nk X i=1 log[P (Si(0)k )] 3: while |L(Λ(t)L(Λ)−L(Λ(t−1)(t−1)) )| ≥   ∧ (t ≤ T ) do

4: Générer une partition des processus en assignant chaque processus au HMM qui

donne la probabilité d’émission maximale C = {C1, . . . , CK} où Ck = {Si | k =

argmaxjP (Si|λ(t−1)j )} contient les séquences appartenant au kèmeHMM , k = 1, . . . , K

5: Calculer les nouveaux paramètres Λt en utilisant l’algorithme Baum-Welch avec les

paramètres initiaux Λt−1 et l’affectation des séquences aux HMMs

6: Calculer les probabilités d’émission P (Si|λ(t)k ) pour k = 1, . . . , K; i = 1, . . . , nk en uti-

lisant l’algorithme forward

7: Calculer la log-vraisemblance L(Λ(t)) donnée par

L(Λ(t)) = K X k=1 nk X i=1 log[P (Si|λ(t)k )] 8: t ← t + 1 9: end while

10: Calculez les étiquettes b(t)i,k pour i = 1, . . . , n et k = 1, . . . , K données par

b(t)i,k =

(

1 if k = argmaxjP (Si|λ(t)j )

0 sinon

d’émission P (Si|λtk) donnée par les paramètres λtkde HMM. Cette probabilité est calculée par

l’algorithme forward (Rabiner, 1989). En conséquence, nous générons une partition des pro- cessus en assignant chaque processus au HMM donnant la probabilité d’émission maximale. Dans la deuxième étape, les HMM sont mis à jour en fonction de la partition des séquences. Dans cette étape, l’algorithme calcule les paramètres du modèle pour chaque HMM dans chaque groupe en utilisant l’algorithme bien connu de Baum-Welch pour obtenir les para-

mètres de modèle λ(t)k à partir de l’affectation précédente de trajectoires dans ce groupe et les

paramètres précédents de HMM de ce groupe λ(t−1)k . Ces deux étapes sont répétées jusqu’à

la convergence ou qu’un critère d’arrêt soit atteint.

Nous exécutons l’algorithme pour le paramètre α (même pour toutes les dimensions) entre 0.1 et 1 en incrémentant de 0.1 à chaque fois et en faisant plusieurs répétitions et nous conservons le meilleur résultat obtenu selon l’indicateur log-vraisemblance.

Après le regroupement par des HMMs, nous obtenons une partition des trajectoires dans des groupes. La dernière étape de ce niveau est de construire une hiérarchie de ces groupes et de rechercher un nouveau regroupement dans un nombre beaucoup plus petit de groupes.

Pour atteindre cet objectif, nous représentons chaque trajectoires Si comme vecteur de poids

d’événements (wi,1, . . . , wi,L), où L est le nombre d’événements différents dans toutes les

trajectoires. Les poids wi,j sont calculés par

wi,j =

ni,j

|Si|

,

où ni,j est le nombre d’occurrences de l’événement ej dans la trajectoire et |Si| est la longueur

de cette trajectoire. Nous représentons le centre des trajectoires pour le groupe Ck par ck =

(ck,1, . . . , ck,L). Chaque valeur ck,j est calculée par

ck,j= P Si∈Ck wi,j nk .

Nous calculons ensuite les distances par paires entre ces centres en utilisant la distance du co- sinus et nous appliquons l’algorithme du regroupement hiérarchique ascendant avec un critère de lien moyen pour regrouper ces centres et attribuer les trajectoires aux nouveaux groupes. L’étiquette de chaque trajectoire correspond au nouveau groupe déterminé par le regroupe- ment hiérarchique et qui contient son ancien groupe. En outre, le regroupement hiérarchique est proposé pour réduire le nombre de groupes afin de faciliter la tâche pour les spécialistes de la santé et leur permettre de fixer le nombre désiré par la fixation d’un paramètre de coupure dans la hiérarchie. La hiérarchie des groupes permet par la suite d’étudier plus en détails à une branche donnée.

6.3

Approche proposée pour l’analyse des résultats

Les bases de données administratives des soins de santé sont une source riche d’information sur les services de santé et les processus associés fournis aux patients. Être capable d’explorer, d’analyser et de visualiser les informations extraites de ces bases de données pourrait révéler un aperçu des modèles latents contenus dans ces données.

À la suite du regroupement, nous obtenons une partition des processus. Cette représentation n’est pas très informative dans son état actuel. Ainsi, puisque chaque groupe résultant est un niveau supérieur des processus et les sous-événements sont eux-mêmes des objets complexes, nous avons besoin d’une approche pour mieux comprendre les résultats. Ainsi, nous proposons une approche d’analyse et de visualisation pour découvrir plus d’informations contenues dans ces résultats.

6.3.1 Analyse des fréquences

En plus de la partition de processus obtenue par l’algorithme de regroupement, nous devons comprendre ce résultat et l’analyser. En tant qu’outil d’analyse, nous définissons les mesures suivantes. La première mesure est le support de chaque service médical dans chaque groupe. Il est calculé comme le rapport du nombre de processus qui contiennent ce service par le nombre de tous les processus dans ce groupe, tel que donné par l’équation 6.1 :

τ (s) = P Pi∈Ck ui(s) Nk , (6.1)

où ui(s) = 1 si s ∈ Pi et ui(s) = 0 sinon. Pi est le ième processus, Ck est kème groupe et Nk

le nombre de processus dans le kème groupe. La deuxième mesure est la densité de chaque

service médical dans chaque groupe. C’est le rapport du nombre d’occurrences de ce service par la longueur totale de tous les processus dans ce groupe, tel que donné par l’équation 6.2 :

ρ(s) = P Pi∈Ck oi(s) PNk i=1|Pi| , (6.2)

où oi(s) est le nombre d’occurrences de s dans la trajectoire Pi, et |Pi| est la longueur de la

trajectoire.

La dernière mesure est la transition entre les services dans chaque groupe. La fréquence de

transition du service s au service s0 est définie comme le nombre d’occurrences de la paire

(s, s0) par la longueur totale de tous les processus dans ce groupe, comme donné par Eq. 6.3 :

Ak(s, s0) = PNk i=1τi(s, s0) PNk i=1|Pi| , (6.3)

où τi(s, s0) est le nombre de transitions de l’état s à l’état s0 dans le processus Pi et |Pi| est

la longueur du processus Pi.

6.3.2 Découverte de modèles

Pour élaborer un modèle utile à partir des résultats de regroupement, nous proposons une approche de visualisation pour découvrir le modèle de processus dans chaque groupe. Cette approche est basée sur l’abstraction et l’élagage des détails indésirables. En tant qu’abstraction, pour consultation et visites, nous restons au niveau de chapitres pour leurs étiquettes de regroupement. Comme élagage, dans chaque groupe de trajectoires, nous ne nous intéressons qu’aux événements ayant une densité qui dépassent un certain seuil fixé. Par la suite, nous supprimons les événements indésirables et nous utilisons une relation transitive pour mettre à jour la transition entre les événements existants. Par exemple, si nous avons

A, B, C et D comme événements dans une trajectoire décrite par {A → B → C → D}

et si B et C sont des événements qui sont supprimés, la trajectoire utilisée pour la dé- couverte du modèle devient {A → D}. Pour la visualisation du modèle, chaque étiquette d’événement différent est représentée comme un nœud et la transition comme un arc. Nous calculons le nombre de transitions entre deux événements différents dans toutes les trajec- toires de groupe et ce nombre est considéré comme le poids pour cet arc entre ces deux nœuds.

Dans ce chapitre, nous avons proposé une approche de regroupement et de visualisation qui permet de regrouper et d’identifier les tendances latentes à partir des processus compo- sés d’événements complexes. Son application aux processus construits à partir des bases de données administratives médicales présente la parfaite illustration de son intérêt et de son efficacité.

Chapitre 7

Cas d’étude : bases de données

administratives à Québec

Dans ce chapitre, nous présentons maintenant les résultats de l’application de l’approche dé- taillée dans le chapitre précédent aux données de prestation de soins pour les personnes âgées de 65 et plus souffrant d’insuffisance cardiaque au Québec. Partant de ce fait, nous commen- çons par une mise en contexte de cas d’études. Ensuite, nous procédons à une description des données et du prétraitement. Après, nous présentons les résultats et pour finir nous effectuons une discussion de ces résultats.

7.1

Mise en contexte

Le système de santé et les services sociaux dans la province de Québec font principalement partie du service publique. La RAMQ (Régie de l’Assurance Maladie du Québec) agit comme assureur maladie pour les résidents du Québec qui sont couverts par un programme public d’assurance maladie (pratiquement 100% des habitants de la province). Le MSSS (Ministère de la Santé et des Services sociaux du Québec) est le ministère responsable de l’administration des services de santé et des services sociaux dans la province. Presque tous les médecins (98%) participent au système de santé publique et sont payés exclusivement par la RAMQ. Le système de santé au Québec se compose d’institutions, d’organismes communautaires, des hôpitaux, de cliniques et des cabinets privés (ces cabinets sont payés par des fonds publics). La RAMQ enregistre donc les informations sur la majorité des services médicaux et sociaux fournis à la population dans la province de Québec.

D’un autre côté, l’insuffisance cardiaque est une cause importante de l’utilisation massive des ressources de soins de santé (Lloyd-Jones et collab., 2010; Man et Jugdutt, 2012). Cette maladie est un syndrome clinique qui exige normalement des soins de santé à fournir par des médecins spécialistes et non spécialistes. Les praticiens ont des directives pour les aider à

diagnostiquer et à traiter la maladie. Toutefois, les lignes directrices qui s’appliquent le plus souvent à un « patient moyen » ne sont pas toujours adaptées pour les cas individuels. Cela

Documents relatifs