Utilisation des modèles de mélange pour la classification de

publicité
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
Téléchargement