Utilisation des modèles de mélange pour la classification de données temporelles Séminaire Laboratoire LSIS-DYNI, USTV Allou Samé Laboratoire GRETTIA - IFSTTAR [email protected] 29/11/2012, Toulon 1/67 Classification Automatique Données n individus décrits par p variables : (x1 , . . . , xn ) Matrice des dissimilarités/distances croisées entre les individus Objectifs Organisation des données en classes homogènes (clustering) Représentation simplifiée, réduction, compression des données Apprentissage non supervisé 2/67 Structures associées Partition en K classes (P1 , . . . , PK ) z1 z11 · · · z1K .. .. .. .. . = . . . zn zn1 · · · znK avec zik = 1 si xi ∈ Pk 0 sinon. 60 40 20 x8 x7 x6 x5 x3 x4 x2 x1 0 Height 80 100 120 Hiérarchie (ensemble de partitions emboitées) 3/67 Approches hiérarchiques Algorithme de classification hiérarchique ascendante Calcul d’un tableau de distances croisées si celui-ci n’est pas fourni en entrée Regrouper itérativement les classes en partant de la partition la plus élémentaire (1 singleton par classe) Fusionner successivement les classes jusqu’à obtenir 1 classe 60 40 20 x8 x7 x6 x5 x3 x4 x2 0 x1 Height 80 100 120 Les regroupements successifs sont représentés sur un arbre binaire (dendrogramme) 4/67 Approches par partitionnement Objectifs Partitionner un ensemble de données en K classes Algorithme K-means Initialisation : tirage au hasard de K observations qui forment les centres de gravité initiaux des classes Tant que les classes ne sont pas stabilisées 1 affecter chaque observation à la classe dont le centre de gravité est le plus proche au sens de la distance euclidienne 2 calculer des centres de gravité de la partition qui vient d’être calculée Critère optimisé IW = K X X kxi − gk k2 k=1 xi ∈Pk 5/67 Exemple n = 10 points de R2 à partitionner en K = 2 classes 6/67 Exemple Etape 1 : choix de 2 points au hasard Etape 2 : affectation de chaque point au centre le plus proche Etape 3 : calcul des centres de gravite Etape 4 : affectation de chaque point au centre le plus proche Etape 5 : calcul des centres de gravite Etape 6 : affectation de chaque point au centre le plus proche 7/67 Motivations de l’usage de modèles probabilistes Inconvénients des approches classiques Nécessitent de choisir une métrique, un critère, un algorithme Difficile de gérer des classes de volume, de forme, de proportion différents Solutions empiriques pour déterminer le nombre de classes Atouts des modèles de mélange Formalisation de la classification dans un cadre probabiliste : objets à classifier considérés comme des réalisations de variables aléatoires Donne un sens à certains critères classiques Founit un cadre pour l’estimation du nombre de classes Permet de déduire des partitions mais aussi des partitions floues 8/67 Plan 1 Modèles de mélange Estimation des paramètres par maximum de vraisemblance Estimation récursive des paramètres 2 Classification dynamique de données temporelles Différentes situations de données temporelles Evolution linéaire des classes Evolution quelconque des classes 3 Segmentation de données temporelles Evolution des proportions des classes Segmentation en ligne d’une séquence de courbes 9/67 Plan 1 Modèles de mélange Estimation des paramètres par maximum de vraisemblance Estimation récursive des paramètres 2 Classification dynamique de données temporelles Différentes situations de données temporelles Evolution linéaire des classes Evolution quelconque des classes 3 Segmentation de données temporelles Evolution des proportions des classes Segmentation en ligne d’une séquence de courbes 10/67 Définition d’un modèle de mélange [MacLachlan, 2000], [Titterington, 1985] Définition i.i.d X1 , . . . , Xi , . . . , Xn ∼ f (x; Θ) = K X πk fk (x; θk ) k=1 Données provenant de plusieurs sous-populations ayant chacune une distribution propre Notations πk : proportions fk : densité de la classe k θk paramètre de la densité fk Θ = (π1 , . . . , πK , θ1 , . . . , θK ) : vecteur paramètre global 11/67 Mélanges de densités gaussiennes dans Rp K X f (x; Θ) ≡ πk N (x|µk , Σk ) k=1 K X = πk k=1 − d2 (2π) − 21 det(Σk ) 1 ′ −1 exp − (x − µk ) Σk (x − µk ) 2 0.35 0.3 0.25 9 0.2 8 0.15 0.1 7 0.05 6 y 0 15 5 10 4 15 3 5 10 5 0 2 4 5 6 7 8 x 0 9 10 11 12/67 Modèle de mélange en tant que modèle à structure cachée P (x) = X z P (z) P (x|z) = K X πk fk (x; θk ) k=1 Le modèle de mélange est considéré comme un modèle à données incomplètes Les données observées (x1 , . . . , xn ) ne constituent qu’une partie des données Les données manquantes sont les classes z = (z1 , . . . , zn ), avec zi ∈ {1, . . . , K}, qui définissent un partition des données 13/67 Interprétation des modèles de mélange en termes de génération des données Connaissant : les proportions π1 , . . . , πK et les distributions fk de chaque classe, Les données sont générées suivant le mécanisme suivant : tirage de la classe zi ∈ {1, . . . , K} de chaque observation xi suivant une loi multinomiale M(1, π1 , . . . , πK ) simulation de xi suivant la loi de densité fzi 14/67 Estimation des paramètres Maximisation du logarithme de la vraisemblance Y X X L(Θ) = log f (xi ) = log πk fk (xi ; θk ) i i k Maximisation du logarithme de la vraisemblance classifiante Y X CL(Θ) = log max f (xi , zi ) = log max πk fk (xi ; θk ) i zi i k 15/67 Algorithme Expectation-Maximization (EM) [Dempster, Laird, Rubbin, 1977] Objectif Maximiser la log-vraisemblance L(Θ) = Motivation P i log PK k=1 πk fk (x; θk ) Si les classes z étaient connues, la vraisemblance (dite complétée) serait plus simple à maximiser Y XX LC (Θ, z) = log f (xi , zi ) = zik log πk fk (x; θk ) i i k On a l’égalité L(Θ) = Q(Θ, Θ∗ ) − H(Θ, Θ∗ ) avec Q(Θ, Θ∗ ) = E(LC (Θ, z)|x, Θ∗ ) H(Θ, Θ∗ ) = E(log P (z|x; Θ)|x, Θ∗ )) 16/67 Algorithme Expectation Maximization (EM) Propriété Si Θ∗∗ maximise Q(Θ, Θ∗ ) alors L(Θ∗∗ ) > L(Θ∗ ) Algorithme EM Partant d’un paramètre initial Θ(0) , on alterne à chaque itération : Etape E : calcul de l’espérance Q(Θ, Θ(c) ) Etape M : maximisation de l’espérance Θ(c+1) = arg max Q(Θ, Θ(c) ) Θ 17/67 Algorithme Expectation Maximization (EM) cas du mélange gaussien Initialisation : Choix des paramètres initiaux : Θ(0) Tant que la convergence n’est pas atteinte Etape E Calcul des degrés d’appartenance des observations au classes (probabilités a posteriori) (c) (c) (c) π N (xi |µk , Σk ) (c) τik = PK k (c) (c) (c) ℓ=1 πℓ N (xi |µℓ , Σℓ ) Etape M Mise à jour les paramètres πk , µk et Σk : (c+1) = (c+1) = πk Σk Pn (c) i=1 τik Pn (c) i=1 tik xi Pn (c) n i=1 tik Pn (c) (c+1) (c+1) ′ )(xi − µk ) i=1 τik (xi − µk Pn (c) i=1 τik (c+1) µk = 18/67 Algorithme "Classification Expectation Maximization (CEM)" cas du mélange gaussien Initialisation : Choix des paramètres initiaux : Θ(0) Tant que la convergence n’est pas atteinte Etape E Calcul des degrés d’appartenance des observations (c) aux classes (probabilités a posteriori) : τik Etape C Classification à partir des degrés d’appartenance (c) zik = 1 si (c) (c) tik = max tiℓ ℓ (c) et zik = 0 sinon Etape M Mise à jour les paramètres πk , µk et Σk : (c+1) πk = (c+1) = Σk Pn (c) i=1 zik Pn (c) i=1 zik xi (c) n i=1 zik Pn (c) (c+1) (c+1) ′ )(xi − µk ) i=1 zik (xi − µk Pn (c) i=1 zik (c+1) µk = Pn 19/67 Propriétés de l’algorithme EM Algorithme de référence pour estimer les paramètres d’un modèle de mélange Chaque itération fait croître la fonction de vraisemblance EM converge vers un maximum local de la vraisemblance Il est recommandé d’effectuer plusieurs lancers à partir d’initialisations différentes Simple à mettre en oeuvre Bon comportement pratique Peut être lent quand les classes sont très mélangées Ouvrages complets de McLachlan et Krishnan (1996, 2000, 20/67 Sélection du nombre de classes Critère BIC - Bayesian Information Criterion b M ) − νM log(n) BIC(M) = L(Θ 2 BIC fournit une solution très satisfaisante pour le modèle de mélange gaussien BIC ne tient pas forcément compte de la séparabilité des classes et peut avoir tendance à surestimer le nombre de classes Critère ICL - Integrated Classification likelihood b M, b ICL(M) = LC (Θ z) − νM log(n) 2 ICL ≃ BIC pénalisé par l’entropie Stable lorsque les classes ne sont pas trop mélangées 21/67 Estimation récursive des paramètres Algorithmes de gradient stochastique Forme générale Θ(t+1) = Θ(t) + ηt ∇Θ J(xt+1 , Θ(t) ) ηt : pas scalaire positif ou matrice symétrique définie positive J(xt+1 , Θ(t) ) : mesure de l’adéquation de xt+1 avec Θ (ex. vraisemblance) ηt > 0, P k ηt k= ∞, Critère optimisé P 2 k ηt k < ∞ t C(Θ) = E[J(xt , Θ)] ≃ 1X J(xi , Θ) t i=1 22/67 Première tentative de gradient stochastique Θ(t+1) = Θ(t) + ηt ∇Θ log X k Avec par exemple ηt = πk fk (xt+1 ; Θ(t) ) 1 t+1 Plusieurs travaux portent sur le choix de ηt [Schraudolph, 1999] 23/67 Gradient stochastique dérivé de EM : online EM [Titterington, 1984 ; Wang, 2006 ; Samé, 2007] Re-définition récursive de la quantité Q : X (t) Qt+1 (Θ, Θ(t) ) = Qt (Θ, Θ(t−1) ) + τt+1,k log πk fk (xt+1 ; θk ) k Cas particulier où la loi des (xt , zt ) appartient à la famille exponentielle de forme canonique f (x, z; Θ) = exp Θ′ T (x, z) − a(Θ) + b(x, z) avec Ψ= ∂a ∂Θ La maximisation de Q fournit la formule récursive : 1 Ψ(t+1) = Ψ(t) + E T (xt+1 , zt+1 )|xt+1 ; Ψ(t) − Ψ(t) t+1 h i−1 h i X (t) (t) = Ψ + (t + 1)Ic (Ψ(t) ) ∇Ψ log πk fk (xt+1 ; θk ) k 24/67 Online CEM [Samé, Ambroise, Govaert, 2007] Généralisation l’algorithme des kmeans séquentiel (t+1) (t+1) (t+1) [MacQueen, 1967] : µk = µk + nk1+1 (xt+1 − µk ) Définition récursive de la quantité à optimiser : X (t) zt+1,k log πk fk (xt+1 ; θk ) Rt+1 (Θ, Θ(t) ) = Rt (Θ, Θ(t−1) ) + k Formule récursive dérivée de CEM (cas où la loi des (xt , zt ) appartient à la famille exponentielle) ( (t) (t+1) (t) 1 (t) Ψ = Ψ + t+1 T (xt+1 , zt+1 ) − Ψ (t) (t) zt+1 = arg maxk πk fk (xt ; θk ) Récursion pouvant s’écrire sous la forme canonique des algorithmes de gradient stochastique 25/67 Algorithme online CEM Acquérir une nouvelle observation xt+1 Etapes E-C Calcul des degrés d’appartenance des observations au classes (proba a posteriori) (t) τt+1,k puis (t) (t) zt+1 = arg max τt+1,k k Etape M : Mise à jour des trois statistiques exhaustives (t+1) = Sk + zt+1,k (t+1) = SXk + zt+1,k xt+1 (t+1) = SXXk Sk SXk SXXk (t) (t) (t) (t) (t+1) (t) + zt+1,k xt+1 x′t+1 Mise à jour des paramètres πk , µk et Σk à partir des stat. exhaustives 26/67 Online CEM Mise à jour des paramètres πk , µk et Σk (t+1) nk (t+1) πk (t) (t) = nk + zt+1,k 1 (t) (t) (t) = πk + (z − πk ) t + 1 t+1,k (t) (t+1) µk = (t) µk (t+1) = Σk Σk + zt+1,k (t+1) nk (t) (t) + zt+1,k (t+1) nk (t) · (xt+1 − µk ) · 1 − (t) zt+1,k (t+1) nk (xt+1 − µ(t) )(xt+1 − µ(t) )′ − Σ(t) k k k 27/67 Algorithmes batch EM/CEM Vs. online EM/CEM CEM Vs. online CEM Divergence de Kullback-Leibler 0.15 CEM Kullback-Leibler divergence online CEM 0.1 0.05 0 0 5000 10000 Time 15000 20000 28/67 Résultats sur des données réelles acoustiques Problème : détecter des défauts sur des structures sous pression Données : bruits émis à la surface des structures CEM online CEM 80 80 60 60 40 40 20 20 0 0 −20 −20 −40 −40 −60 −40 −30 −20 −10 0 10 20 30 40 50 −60 −40 −30 −20 −10 0 10 20 30 40 50 29/67 Plan 1 Modèles de mélange Estimation des paramètres par maximum de vraisemblance Estimation récursive des paramètres 2 Classification dynamique de données temporelles Différentes situations de données temporelles Evolution linéaire des classes Evolution quelconque des classes 3 Segmentation de données temporelles Evolution des proportions des classes Segmentation en ligne d’une séquence de courbes 30/67 Données temporelles Hypothèse générale A chaque instant t on dispose de mt observations xt = (xt1 , . . . , xt,mt) x 1 2 T temps données économiques annuelles portant sur plusieurs entreprises consommation électrique annuelle pour un ensemble de foyers état de fonctionnement journalier d’une flotte de véhicules 31/67 Données temporelles Situation particulière 1 mt = 1 Série temporelle mono ou multi dimensionnelle x 1 2 T temps 32/67 Données temporelles Situation particulière 2 Les sous échantillons sont liés entre eux Exemple : ensemble de séries temporelles de longueurs variables x 1 2 T temps 33/67 Données temporelles Situation particulière 3 Chaque sous échantillon est structuré (temporellement, spatialement...) Exemple : séquence de courbes x 1 2 T temps 34/67 Problématiques Trouver une partition dont les caractéristiques évoluent au cours du temps clustering dynamique de données temporelles clustering de courbes segmentation de données temporelles Hypothèses à formaliser dans le modèle de mélange stationarité évolution des classes (linéaire, non linéaire, lente, rapide) évolution des proportions des classes ? 35/67 Mélange gaussien stationnaire Modèle de mélange classique avec distribution constante au cours du temps : xti ∼ f (x, Θ(t+1) ) avec Θ(t+1) constant 6 6 5 5 4 4 3 3 2 2 1 1 0 0 −1 −1 −2 −2 −3 −3 −4 1 2 3 4 5 6 temps 7 8 9 10 0,35 0,3 −4 0,25 0 2 4 6 8 10 temps Estimation des paramètres comme dans le cas classique (EM batch ou EM online) 36/67 Mélange gaussien avec évolution linéaire des centres des classes Hypothèse µk (t) = β k1 + β k2 t = ∀t = 1, . . . , T T′t β k Modèle f (xti , Θ (t+1) )= K X πk N (xti |T′t β k , Σk ) k=1 Règle de classification Maximisation des proba a posteriori 37/67 Mélange avec évolution linéaire des centres des classes Algorithme EM Etape E : Calcul des probabilités a posteriori (c) τt,i,k ∝ (c) (c+1) πk N (xti |T′t β k (c) , Σk ) Etape M : Mise à jour des paramètres πk , β k et Σk (c+1) βk = " T mt X X t=1 i=1 (c) τtik ! Tt T′t #−1 " T X t=1 Tt mt X i=1 (c) τtik x′ti # 38/67 Mélange avec évolution linéaire des centres des classes Algorithme online EM Acquisition de xt+1 = (xt+1,1 , . . . , xt+1,mt+1 ) Etape E : Calcul des probabilités a posteriori pour xt+1 (c) τt+1,i,k ∀i, k Etape M Mise à jour récursive de 4 statistiques exhaustives Sk ST Tk ST Xk SXXk Mise à jour des paramètres à partir des statistiques exhaustives 39/67 Mélange avec évolution linéaire des centres des classes Mise à jour des statistiques exhaustives mt+1 (t+1) Sk = (t) Sk + X (t) τt+1,i,k i=1 (t+1) ST Tk = (t) ST Tk + mt+1 X (t) τt+1,i,k i=1 (t+1) ST Xk = (t) ST Xk + Tt+1 ! Tt+1 T′t+1 mt+1 X (t) τt+1,i,k x′t+1,i i=1 mt+1 (t+1) SXXk (t) = SXXk + X (t) τt+1,i,k xt+1,i x′t+1,i i=1 40/67 Mélange avec évolution linéaire des centres des classes Mise à jour du paramètres β k (t+1) βk = (t+1) −1 (t+1) ST Tk ST Xk (t+1) L’inégalité de Woodbury permet d’éviter d’inverser ST Tk : [A + CBC ′ ]−1 = A−1 − A−1 C[B −1 + C ′ A−1 C]−1 C ′ A−1 41/67 Comportement de l’algorithme récursif sur des données temporelles simulées Données simulées : 1000 points répartis en 2 classes évoluant linéairement en fonction du temps données simulées 15 10 x 5 0 −5 −10 −15 0 5 10 15 t 20 25 42/67 Comportement de l’algorithme récursif sur des données temporelles simulées Classification à 50 points Classification sequentielle, 50 points 15 10 x 5 0 −5 −10 −15 0 5 10 15 t 20 25 43/67 Comportement de l’algorithme récursif sur des données temporelles simulées Classification à 300 points Classification sequentielle, 300 points 15 10 x 5 0 −5 −10 −15 0 5 10 15 t 20 25 44/67 Comportement de l’algorithme récursif sur des données temporelles simulées Classification à 600 points Classification sequentielle, 600 points 15 10 x 5 0 −5 −10 −15 0 5 10 15 t 20 25 45/67 Comportement de l’algorithme récursif sur des données temporelles simulées Classification à 900 points Classification sequentielle, 900 points 15 10 x 5 0 −5 −10 −15 0 5 10 15 t 20 25 46/67 Données réelles : 35 manœuvres d’aiguillage observées sur 5,5 s (mt = 35 et T = 550) Codage des données suivant la classe des points 5 Numéro de la courbe 10 15 20 25 30 35 50 100 150 200 250 300 Temps (ms) 350 400 450 500 550 Trois structures temporelles identifiées correspondent à une réalité physique (phases électromécaniques) 47/67 Dynamique d’évolution quelconque [Thèse en cours d’Hani El Assad], [Calabrese,2010] Modèle de mélange dynamique xti ∼ X πk N (xti |µk (t), Σk ) k ∆ µk (t) ∼ N (0, λ I) ∀k m µk (t) = µk (t − 1) + ηt (a priori) ηt ∼ N (0, λ I) Paramètre de régularisation λ λ permet de contrôler la dynamique d’évolution des centres µk (t) λ → 0 : cas stationnaire λ ր : dynamique non stationnaire 48/67 Illustration du modèle de mélange dynamique sur des données simulées Données simulées : 500 points répartis en 2 classes 5 4 3 2 1 0 −1 −2 0 50 100 150 200 250 300 Time 350 400 450 500 49/67 Données simulées Résultat MAP-EM : λ = 0.1 5 4 3 2 1 0 −1 −2 0 50 100 150 200 250 300 Time 350 400 450 500 50/67 Données simulées Résultat MAP-EM : λ = 0.001 5 4 3 2 1 0 −1 −2 0 50 100 150 200 250 300 Time 350 400 450 500 51/67 Données simulées Résultat MAP-EM : λ = 0.0001 5 4 3 2 1 0 −1 −2 0 50 100 150 200 250 300 Time 350 400 450 500 52/67 Plan 1 Modèles de mélange Estimation des paramètres par maximum de vraisemblance Estimation récursive des paramètres 2 Classification dynamique de données temporelles Différentes situations de données temporelles Evolution linéaire des classes Evolution quelconque des classes 3 Segmentation de données temporelles Evolution des proportions des classes Segmentation en ligne d’une séquence de courbes 53/67 Segmentation de données temporelles [Chamroukhi, Samé, Govaert, Aknin, 2009] Chaîne de Markov cachée (HMM) Hypothèse de dépendance temporelle sur les variables cachées Estimation par maximum de vraisemblance (EM, Baum-Welch) Stratégie retenue Prise en compte de la dépendance temporelle par le biais de paramètres sur les probabilités d’apparition des classes L’hypothèse d’indépendance (statistique) du modèle devient justifiée L’estimation des paramètres par maximum de vraisemblance est (conceptuellement) simplifiée 54/67 Segmentation de données temporelles Modèle f (xt |Θ) = X πk (t; α) N (xti |T′t β k , Σk ) k exp(αk1 t + αk0 ) πk (t; α)= PK ℓ=1 exp(αℓ1 t + αℓ0 ) Modèle à variables latentes équivalent (RHLP) xzti = T′t β zti + εt,zti εt,zti ∼ N (0, Σzt ) zti ∼ M(1, π1 (t; α), . . . , πK (t; α)) Le paramètre α contrôle le passage d’un régime à l’autre 55/67 Segmentation de données temporelles Comportement des proportions du mélange (K = 2) Point de changement ( ααk0 ) k1 vitesse de changement (αk1 ) logistic probabilities 1 logistic probabilities 1 0 0 0 1 2 time 3 4 5 0 1 2 time 3 4 5 Optimisation du paramètre α (dans l’étape M) : max α XX t,i τt,i,k log πk (t; α) k Algorithme de Newton Raphson ≡ IRLS 56/67 Autres utilisations du modèle Régression non linéaire gt = P k πk (t, α) T′t βk Segmentation commune d’un ensemble de données fonctionnelles (→ mt = m) Clustering-segmentation de données fonctionnelles Les courbes sont distribuées suivant un modèle de mélange (sommet de la hiérarchie) Chaque cluster possède son propre modèle de mélange à proportions logistiques (bas de la hiérarchie) Analyse discriminante sur des données fonctionnelles 57/67 Application de diagnostic des aiguillages Analyse exploratoire classification non supervisée de courbes Diagnostic à base de RdF apprentissage supervisé à partir de bases de données (catalogue d’états de fonctionnement : état normal, défaut mécanique, défaut électrique) 600 550 Power (Watts) 500 450 400 350 classification de nouvelles manœuvres 300 250 0 1 2 3 4 Time (seconds) 5 6 58/67 Résultats de classification Cluster 2 Cluster 4 500 500 500 500 450 400 450 400 power (W) 600 550 power (W) 600 550 450 400 450 400 350 350 350 350 300 300 300 300 2 3 time (s) 4 5 250 0 6 1 2 3 time (s) 4 5 1 2 3 time (s) 4 5 0 0 6 1 2 3 time (s) 4 5 250 0 6 1 logit probas logit probas 0 0 250 0 6 1 1 2 3 time (s) 4 5 0 0 6 1 2 3 time (s) 4 5 0 0 6 600 550 550 550 550 500 500 500 500 400 450 400 power (W) 600 power (W) 600 power (W) 600 450 450 400 350 350 300 300 300 2 3 time (s) 4 5 6 250 0 1 Misclassification (%) Intra-cluster inertia 2 3 time (s) 4 5 6 3 time (s) 4 5 6 1 2 3 time (s) 4 5 6 1 2 3 time (s) 4 5 6 400 350 300 1 2 450 350 250 0 1 1 logit probas 1 1 logit probas 250 0 power (W) Cluster 3 600 550 power (W) power (W) Cluster 1 600 550 250 0 ClustSeg 9.28 1.1566 × 107 1 2 3 time (s) 4 5 6 PWR 10.72 1.3587 × 107 250 0 RegMix 11.42 2.6583 × 107 59/67 Plan 1 Modèles de mélange Estimation des paramètres par maximum de vraisemblance Estimation récursive des paramètres 2 Classification dynamique de données temporelles Différentes situations de données temporelles Evolution linéaire des classes Evolution quelconque des classes 3 Segmentation de données temporelles Evolution des proportions des classes Segmentation en ligne d’une séquence de courbes 60/67 Objectifs de l’étude Contexte Projet visant à développer un bus à haut niveau de service Objectifs visés Surveiller l’état des portes à partir des données collectées via des capteurs embarqués Détecter toute anomalie / dérive de fonctionnement du système Anticiper des pannes et améliorer la disponibilité des véhicules Aider les agents de maintenance à prévenir des défaillances 61/67 Approche proposée : détection de changement dans une séquence de courbes [Cheifetz, 2012] Utilisation du modèle RHLP pour modéliser les courbes bivariées (position-pression) représentant des ouvertures/fermetures Mise en œuvre d’un test séquentiel pour détecter tout changement sur ce modèle Position 100 50 0 20 15 10 5 Temps 0 2 4 6 Pression (bar) 8 62/67 Modélisation des courbes bivariées 2012/01/30 > 2012/10/12 − pp0 move1 leaf1 (20 signaux) − K=4, r=2 100 Pression 8 80 6 4 2 0 0.5 1 1.5 2 2.5 3 0.5 1 1.5 2 2.5 3 0.5 1 1.5 2 Temps (sec) 2.5 3 Position 100 40 50 0 20 1 Probabilité Position 60 0 0.5 0 0 2 4 6 Pression (bar) 8 63/67 Détection en ligne de point de changement Tester (à chaque acquisition de W courbes) deux hypothèses (H0 ) (H1 ) iid ∀i = 1, . . . , t + W iid ∀i = 1, . . . , p − 1 iid ∀i = p, . . . , t + W xi ∼ f (xi ; Θ0 ) xi ∼ f (xi ; Θ0 ) xi ∼ f (xi ; Θ1 ) pas de changement changement à l’intant p Chaque xi = (xi1 , . . . , xij , . . . , xi,mi ) représente une courbe Chaque courbe est issue de la densité X f (xi ; Θ) = πk (j; α)N (xij ; T′j β k ; Σk ) k 64/67 Détection en ligne de point de changement Statistique de test (Rapport de vraisemblance) gt+W = avec : max t<p≤t+W t+W X log i=p b 1) f (xi ; Θ b 0) f (xi ; Θ b 0 estimé par l’algo EM sur l’ensemble {x1 , ..., xp−1 } Θ b 1 estimé par l’algo EM sur l’ensemble {xp , ..., xt+W } Θ Si gt+W ≥ seuil alerter l’opérateur d’une anomalie réinitialiser le détecteur Estimation du seuil de détection par rééchantillonnage taux de fausse alarme γ fourni par l’utilisateur génération d’une séquence de courbes suivant le modèle H0 seuil = quantile d’ordre (1 − γ) de la distribution formée par les statistiques de test 65/67 Exemple de résultats de détection Statistiques de test et seul estimé 4 6 x 10 Statistique 5 4 3 2 gamma = 10-6 1 50 100 150 Temps 200 250 300 66/67 Plan 1 Modèles de mélange Estimation des paramètres par maximum de vraisemblance Estimation récursive des paramètres 2 Classification dynamique de données temporelles Différentes situations de données temporelles Evolution linéaire des classes Evolution quelconque des classes 3 Segmentation de données temporelles Evolution des proportions des classes Segmentation en ligne d’une séquence de courbes 67/67