Détection de ruptures

Exemple de signal ayant des changements dans la moyenne.
Exemple de signal ayant des changements dans la distribution.

En analyse statistique, le problème de détection de ruptures (ou détection de points de changement) est un problème de régression ayant pour but d'estimer les instants où un signal présente des changements dans la distribution. Ces instants sont matérialisés sur les deux figures par des lignes verticales bleues. Classiquement, on réalise de la détection de rupture pour un signal ayant des changements dans la moyenne. De manière plus générale, on réalise de la détection de ruptures pour un signal ayant des changements dans la distribution (par exemple, dans la moyenne et la variance).

La détection de ruptures peut s'appliquer à un signal sonore d'une émission dont on souhaite estimer les instants où l'on change de situations, à la détection d'attaques informatiques (variations de flux réseaux)[1], ou encore au contrôle qualité.

Cet article traite du problème de détection de ruptures rétrospective (dite offline) où l'on dispose de l'ensemble des données du signal. Ce contexte est différent d'une détection temps réel (dite online) où les données du signal arrivent à la volée, mais moins à même de détecter précisément l'instant de rupture.

Formalisation du problème

Soit { X t } t [ [ 1 , T ] ] {\displaystyle \{X_{t}\}_{t\in [\![1,T]\!]}} un signal réel, provenant d'observations recueillies au cours des instants 1 , , T {\displaystyle 1,\dots ,T} , présentant des changements dans la distribution. En notant P X i {\displaystyle P_{X_{i}}} la loi de probabilité de X i {\displaystyle X_{i}} , la distribution de { X t } t [ [ 1 , T ] ] {\displaystyle \{X_{t}\}_{t\in [\![1,T]\!]}} vérifie :

P X τ 0 = = P X τ 1 1 P X τ 1 = = P X τ 2 1 P X τ D 1 = = P X τ D 1 , {\displaystyle {\begin{aligned}P_{X_{\tau _{0}^{*}}}=\dots =P_{X_{\tau _{1}^{*}-1}}\neq P_{X_{\tau _{1}^{*}}}=\dots =P_{X_{\tau _{2}^{*}-1}}\neq \dots \neq P_{X_{\tau _{D^{*}-1}^{*}}}=\dots =P_{X_{\tau _{D^{*}}^{*}-1}},\end{aligned}}}

avec τ 0 , , τ D {\displaystyle \tau _{0}^{*},\dots ,\tau _{D^{*}}^{*}} étant les vrais instants de ruptures (on note m = { τ 0 , , τ D } {\displaystyle m^{*}=\{\tau _{0}^{*},\dots ,\tau _{D^{*}}^{*}\}} ( D {\displaystyle D^{*}} est le vrai nombre de segments) avec la convention τ 0 = 1 {\displaystyle \tau _{0}^{*}=1} et τ D = T + 1 {\displaystyle \tau _{D^{*}}^{*}=T+1} ). On cherche à estimer ces instants de ruptures à l'aide d'un algorithme.

Dans le cas de la détection de rupture dans la moyenne, le modèle est :

t [ [ 1 , T ] ] ,   X t = s t + ϵ t , {\displaystyle {\begin{aligned}\forall t\in [\![1,T]\!],~X_{t}=s_{t}+\epsilon _{t},\end{aligned}}}

avec { s t } t [ [ 1 , T ] ] {\displaystyle \{s_{t}\}_{t\in [\![1,T]\!]}} est la fonction de régression et   { ϵ t } t [ [ 1 , T ] ] {\displaystyle ~\{\epsilon _{t}\}_{t\in [\![1,T]\!]}} est un bruit d'espérance nulle et de variance σ 2 {\displaystyle \sigma ^{2}} . La fonction de régression { s t } t [ [ 1 , T ] ] {\displaystyle \{s_{t}\}_{t\in [\![1,T]\!]}} est supposée constante par morceaux avec des discontinuités à chaque vrai instant de ruptures { τ i } i [ [ 0 , D ] ] {\displaystyle \{\tau _{i}^{*}\}_{i\in [\![0,D^{*}]\!]}} .

Dans le cas de la détection de ruptures dans la distribution, on recode les observations initiales { X t } t [ [ 1 , T ] ] {\displaystyle \{X_{t}\}_{t\in [\![1,T]\!]}} par de nouvelles observations { Y t } t [ [ 1 , T ] ] {\displaystyle \{Y_{t}\}_{t\in [\![1,T]\!]}} définies par Y t = k X t = k ( X t , . ) {\displaystyle Y_{t}=k_{X_{t}}=k(X_{t},.)} k {\displaystyle k} est un noyau symétrique et semi-défini positif (en) (par exemple x , y R ,   k 1 ( x , y ) = x y {\displaystyle \forall x,y\in \mathbb {R} ,~k^{1}(x,y)=x*y}  : k 1 {\displaystyle k^{1}} est le noyau linéaire ; autre exemple x , y R , k δ 2 ( x , y ) = exp ( ( x y ) 2 2 δ 2 ) {\displaystyle \forall x,y\in \mathbb {R} ,k_{\delta }^{2}(x,y)=\exp \left(-{\frac {(x-y)^{2}}{2\delta ^{2}}}\right)}  : k δ 2 {\displaystyle k_{\delta }^{2}} est le noyau Gaussien de paramètre δ > 0 {\displaystyle \delta >0} ). Pour un noyau symétrique et semi-défini positif k {\displaystyle k} , le théorème de Moore-Aronszahn assure l'existence d'un espace de Hilbert à noyau reproduisant H {\displaystyle {\mathcal {H}}} de noyau reproduisant k {\displaystyle k} .

Le modèle est :

t [ [ 1 , T ] ] ,   Y t = μ t + ϵ t , {\displaystyle {\begin{aligned}\forall t\in [\![1,T]\!],~Y_{t}=\mu _{t}^{*}+\epsilon _{t},\end{aligned}}}

avec { μ t } t [ [ 1 , T ] ] {\displaystyle \{\mu _{t}^{*}\}_{t\in [\![1,T]\!]}} est la fonction de régression et   { ϵ t } t [ [ 1 , T ] ] {\displaystyle ~\{\epsilon _{t}\}_{t\in [\![1,T]\!]}} est un bruit d'espérance nulle et de variance σ 2 {\displaystyle \sigma ^{2}} . De plus, t [ [ 1 , T ] ] ,   Y t ,   μ t ,   ϵ t {\displaystyle \forall t\in [\![1,T]\!],~Y_{t},~\mu _{t}^{*},~\epsilon _{t}} appartiennent à H {\displaystyle {\mathcal {H}}} . La fonction de régression { μ t } t [ [ 1 , T ] ] {\displaystyle \{\mu _{t}^{*}\}_{t\in [\![1,T]\!]}} est supposée constante par morceaux avec des discontinuités à chaque vrai instant de ruptures { τ i } i [ [ 0 , D ] ] {\displaystyle \{\tau _{i}^{*}\}_{i\in [\![0,D^{*}]\!]}} .

Méthodes existantes

Le problème de détection de ruptures peut être vu comme un problème de sélection de modèle[2]: chaque segmentation candidate (i.e. liste d'instants de ruptures candidats) est reliée à un modèle qu'il faut choisir. Nous présentons deux approches : l'une utilisant le principe de la programmation dynamique et l'autre l'heuristique de segmentation binaire dans le cadre classique de la détection de ruptures dans la moyenne puis dans le cas général de la détection de ruptures dans la distribution. Pour chacune de ces deux méthodes, nous présentons les algorithmes permettant de calculer une segmentation en D {\displaystyle D} segments m ^ D {\displaystyle {\hat {m}}_{D}} optimisant un critère (ici, le risque empirique).

Notations

Nous présentons les notations communes aux deux méthodes puis celles qui leur sont spécifiques :

Notation commune

M ( D ) {\displaystyle {\mathcal {M}}(D)} l'ensemble des segmentions m = { { τ 0 , , τ 1 1 } , { τ 1 , , τ 2 1 } , , { τ D 1 , , τ D 1 } } {\displaystyle m=\{\{\tau _{0},\dots ,\tau _{1}-1\},\{\tau _{1},\dots ,\tau _{2}-1\},\dots ,\{\tau _{D-1},\dots ,\tau _{D}-1\}\}} en D {\displaystyle D} segments ( avec la convention   τ 0 = 1 ,   τ D = T + 1 ) {\displaystyle \left({\text{avec la convention}}~\tau _{0}=1,~\tau _{D}=T+1\right)} .

Notations pour le cas de la détection de ruptures dans la moyenne

  • X = ( X 1 , , X T ) {\displaystyle X=(X_{1},\dots ,X_{T})} et s = ( s 1 , , s T ) {\displaystyle s=(s_{1},\dots ,s_{T})} .
  • S m R = { u R T : u τ 0 = = u τ 1 1 u τ 1 = = u τ 2 1 u τ D 1 = u τ D 1 } {\displaystyle S_{m}^{\mathbb {R} }=\{u\in \mathbb {R} ^{T}:u_{\tau _{0}}=\dots =u_{\tau _{1}-1}\neq u_{\tau _{1}}=\dots =u_{\tau _{2}-1}\neq \dots \neq u_{\tau _{D-1}}=\dots u_{\tau _{D}-1}\}}  : S m R {\displaystyle S_{m}^{\mathbb {R} }} est l'ensemble des vecteurs u R T {\displaystyle u\in \mathbb {R} ^{T}} constants par morceaux sur les segments de m {\displaystyle m} .
  • Estimateur du risque empirique : s ^ m = a r g m i n u S m R X u 2 2 {\displaystyle {\hat {s}}_{m}={\underset {u\in S_{m}^{\mathbb {R} }}{\operatorname {arg\,min} }}\|X-u\|_{2}^{2}} .

Notations pour le cas de la détection de ruptures dans la distribution

  • Y = ( Y 1 , , Y T ) {\displaystyle Y=(Y_{1},\dots ,Y_{T})} et μ = ( μ 1 , , μ T ) {\displaystyle \mu ^{*}=(\mu _{1}^{*},\dots ,\mu _{T}^{*})} .
  • Y s e = { Y s , , Y e } {\displaystyle Y_{s}^{e}=\{Y_{s},\dots ,Y_{e}\}} pour s < e {\displaystyle s<e} avec ( s , e ) [ [ 1 , T ] ] 2 {\displaystyle (s,e)\in [\![1,T]\!]^{2}} .
  • S m H = { u H T : u τ 0 = = u τ 1 1 u τ 1 = = u τ 2 1 u τ D 1 = u τ D 1 } {\displaystyle S_{m}^{\mathcal {H}}=\{u\in {\mathcal {H}}^{T}:u_{\tau _{0}}=\dots =u_{\tau _{1}-1}\neq u_{\tau _{1}}=\dots =u_{\tau _{2}-1}\neq \dots \neq u_{\tau _{D-1}}=\dots u_{\tau _{D}-1}\}}  : S m H {\displaystyle S_{m}^{\mathcal {H}}} est l'ensemble des vecteurs u H T {\displaystyle u\in {\mathcal {H}}^{T}} constants par morceaux sur les segments de m {\displaystyle m} .
  • Norme dans H T {\displaystyle {\mathcal {H}}^{T}}  : h H T ,   h H T 2 = i = 1 T h i H 2 {\displaystyle \forall h\in {\mathcal {H}}^{T},~\|h\|_{{\mathcal {H}}^{T}}^{2}=\sum _{i=1}^{T}\|h_{i}\|_{\mathcal {H}}^{2}} .
  • Estimateur du risque empirique : μ ^ m = a r g m i n u S m H Y u H T 2 {\displaystyle {\hat {\mu }}_{m}={\underset {u\in S_{m}^{\mathcal {H}}}{\operatorname {arg\,min} }}\|Y-u\|_{{\mathcal {H}}^{T}}^{2}} .

Les méthodes proposées ci-dessous utilisent le risque empirique comme critère à minimiser ( X s ^ m 2 2 {\displaystyle \|X-{\hat {s}}_{m}\|_{2}^{2}} pour la détection de ruptures dans la moyenne ; Y μ ^ m H T 2 {\displaystyle \|Y-{\hat {\mu }}_{m}\|_{{\mathcal {H}}^{T}}^{2}} pour la détection de ruptures dans la distribution). Pour le noyau linéaire k 1 {\displaystyle k^{1}} , X s ^ m 2 2 = Y μ ^ m H T 2 {\displaystyle \|X-{\hat {s}}_{m}\|_{2}^{2}=\|Y-{\hat {\mu }}_{m}\|_{{\mathcal {H}}^{T}}^{2}} , les méthodes utilisées dans le cadre classique se déduisent de celles du cas des noyaux par le biais de k 1 {\displaystyle k^{1}}  : donc on ne présentera les algorithmes que dans le cas des noyaux.

Programmation dynamique

La méthode de la programmation dynamique utilise le principe d'optimalité de Bellman : toute solution optimale s'appuie elle-même sur des sous-problèmes résolus localement de façon optimale. On utilise cette méthode exacte pour récupérer pour D [ [ 1 , D m a x ] ] {\displaystyle D\in [\![1,D_{max}]\!]} la meilleure segmentation en D {\displaystyle D} segments minimisant le risque empirique i.e. :

m ^ D = a r g m i n m M ( D ) Y μ ^ m H T 2 . {\displaystyle {\begin{aligned}{\hat {m}}_{D}={\underset {m\in {\mathcal {M}}(D)}{\operatorname {arg\,min} }}\|Y-{\hat {\mu }}_{m}\|_{{\mathcal {H}}^{T}}^{2}.\end{aligned}}}


Nous présentons dans cette section l'algorithme de programmation dynamique appliquée au problème de détection de ruptures[3],[4]. Dans un premier temps, nous exprimons le risque empirique Y μ ^ m H T 2 {\displaystyle \|Y-{\hat {\mu }}_{m}\|_{{\mathcal {H}}^{T}}^{2}} en fonction du noyau k {\displaystyle k} et de { X i } i [ [ 1 , T ] ] {\displaystyle \{X_{i}\}_{i\in [\![1,T]\!]}} à l'aide des deux résultats suivants ci-dessous.

On montre tout d'abord que, pour m M ( D ) ,   d [ [ 1 , D 1 ] ] {\displaystyle m\in {\mathcal {M}}(D),~d\in [\![1,D-1]\!]} , pour i [ [ τ d , τ d + 1 1 ] ] {\displaystyle i\in [\![\tau _{d},\tau _{d+1}-1]\!]} , ( μ ^ m ) i = 1 τ d + 1 τ d j = τ d τ d + 1 1 Y j {\displaystyle \left({\hat {\mu }}_{m}\right)_{i}={\frac {1}{\tau _{d+1}-\tau _{d}}}\sum _{j=\tau _{d}}^{\tau _{d+1}-1}Y_{j}} .

Démonstration

Pour u S m H {\displaystyle u\in S_{m}^{\mathcal {H}}} , notons, pour λ m {\displaystyle \lambda \in m} , u λ {\displaystyle u_{\lambda }} la valeur commune de ( u i ) i λ {\displaystyle (u_{i})_{i\in \lambda }} et, pour g S m H {\displaystyle g\in S_{m}^{\mathcal {H}}} ,   g ¯ λ = 1 c a r d ( λ ) i λ g i {\displaystyle ~{\overline {g}}_{\lambda }={\frac {1}{card(\lambda )}}\sum _{i\in \lambda }g_{i}} ,
Pour g S m H {\displaystyle g\in S_{m}^{\mathcal {H}}} ,

u g H T 2 = λ m i λ u λ g i H 2 = λ m i λ [ u λ g ¯ λ H 2 + g i g ¯ λ H 2 + 2 < u λ g ¯ λ , g ¯ λ g i > H ] = λ m [ c a r d ( λ ) u λ g ¯ λ H 2 ] + λ m i λ g i g ¯ λ H 2 + 2 λ m < u λ g ¯ λ , i λ ( g ¯ λ g i ) > H = λ m [ c a r d ( λ ) u λ g ¯ λ H 2 ] + λ m i λ g i g ¯ λ H 2 , {\displaystyle {\begin{aligned}\|u-g\|_{{\mathcal {H}}^{T}}^{2}&=\sum _{\lambda \in m}\sum _{i\in \lambda }\|u_{\lambda }-g_{i}\|_{\mathcal {H}}^{2}\\&=\sum _{\lambda \in m}\sum _{i\in \lambda }\left[\|u_{\lambda }-{\overline {g}}_{\lambda }\|_{\mathcal {H}}^{2}+\|g_{i}-{\overline {g}}_{\lambda }\|_{\mathcal {H}}^{2}+2<u_{\lambda }-{\overline {g}}_{\lambda },{\overline {g}}_{\lambda }-g_{i}>_{\mathcal {H}}\right]\\&=\sum _{\lambda \in m}\left[\mathrm {card} (\lambda )\|u_{\lambda }-{\overline {g}}_{\lambda }\|_{\mathcal {H}}^{2}\right]+\sum _{\lambda \in m}\sum _{i\in \lambda }\|g_{i}-{\overline {g}}_{\lambda }\|_{\mathcal {H}}^{2}+2\sum _{\lambda \in m}<u_{\lambda }-{\overline {g}}_{\lambda },\sum _{i\in \lambda }({\overline {g}}_{\lambda }-g_{i})>_{\mathcal {H}}\\&=\sum _{\lambda \in m}\left[\mathrm {card} (\lambda )\|u_{\lambda }-{\overline {g}}_{\lambda }\|_{\mathcal {H}}^{2}\right]+\sum _{\lambda \in m}\sum _{i\in \lambda }\|g_{i}-{\overline {g}}_{\lambda }\|_{\mathcal {H}}^{2},\end{aligned}}}


Ainsi, u g H T 2 {\displaystyle \|u-g\|_{{\mathcal {H}}^{T}}^{2}} est minimale si et seulement si u λ = g ¯ λ {\displaystyle u_{\lambda }={\overline {g}}_{\lambda }} pour chaque λ m {\displaystyle \lambda \in m} .

On montre que, pour m M ( D ) {\displaystyle m\in {\mathcal {M}}(D)} ,

Y μ ^ m H T 2 = d [ [ 1 , D 1 ] ] C τ d , τ d + 1 , {\displaystyle {\begin{aligned}\|Y-{\hat {\mu }}_{m}\|_{{\mathcal {H}}^{T}}^{2}=\sum _{d\in [\![1,D-1]\!]}C_{\tau _{d},\tau _{d+1}},\end{aligned}}}

avec, pour   ( τ , τ ) [ [ 1 , T ] ] 2 ,   τ < τ {\displaystyle ~(\tau ,\tau ^{'})\in [\![1,T]\!]^{2},~\tau <\tau ^{'}} , C τ , τ = i = τ τ 1 k ( X i , X i ) 1 τ τ i = τ τ 1 j = τ τ 1 k ( X i , X j ) . {\displaystyle C_{\tau ,\tau ^{'}}=\sum _{i=\tau }^{\tau ^{'}-1}k(X_{i},X_{i})-{\frac {1}{\tau ^{'}-\tau }}\sum _{i=\tau }^{\tau ^{'}-1}\sum _{j=\tau }^{\tau ^{'}-1}k(X_{i},X_{j}).}

Démonstration
Y μ ^ m H T 2 = d [ [ 1 , D 1 ] ] i [ [ τ d , τ d + 1 1 ] ] Y i ( μ ^ m ) i H 2 = d [ [ 1 , D 1 ] ] i [ [ τ d , τ d + 1 1 ] ] [ Y i H 2 + 1 τ d + 1 τ d j = τ d τ d + 1 1 Y j H 2 2 < Y i , 1 τ d + 1 τ d j = τ d τ d + 1 1 Y j > H ] = d [ [ 1 , D 1 ] ] ( i [ [ τ d , τ d + 1 1 ] ] Y i H 2 1 τ d + 1 τ d i = τ d τ d + 1 1 j = τ d τ d + 1 1 < Y i , Y j > H ) = d [ [ 1 , D 1 ] ] ( i = τ d τ d + 1 1 k ( X i , X i ) 1 τ d + 1 τ d i = τ d τ d + 1 1 j = τ d τ d + 1 1 k ( X i , X j ) ) = d [ [ 1 , D 1 ] ] C τ d , τ d + 1 . {\displaystyle {\begin{aligned}\|Y-{\hat {\mu }}_{m}\|_{{\mathcal {H}}^{T}}^{2}&=\sum _{d\in [\![1,D-1]\!]}\sum _{i\in [\![\tau _{d},\tau _{d+1}-1]\!]}\|Y_{i}-\left({\hat {\mu }}_{m}\right)_{i}\|_{\mathcal {H}}^{2}\\&=\sum _{d\in [\![1,D-1]\!]}\sum _{i\in [\![\tau _{d},\tau _{d+1}-1]\!]}\left[\|Y_{i}\|_{\mathcal {H}}^{2}+\|{\frac {1}{\tau _{d+1}-\tau _{d}}}\sum _{j=\tau _{d}}^{\tau _{d+1}-1}Y_{j}\|_{\mathcal {H}}^{2}-2<Y_{i},{\frac {1}{\tau _{d+1}-\tau _{d}}}\sum _{j=\tau _{d}}^{\tau _{d+1}-1}Y_{j}>_{\mathcal {H}}\right]\\&=\sum _{d\in [\![1,D-1]\!]}\left(\sum _{i\in [\![\tau _{d},\tau _{d+1}-1]\!]}\|Y_{i}\|_{\mathcal {H}}^{2}-{\frac {1}{\tau _{d+1}-\tau _{d}}}\sum _{i=\tau _{d}}^{\tau _{d+1}-1}\sum _{j=\tau _{d}}^{\tau _{d+1}-1}<Y_{i},Y_{j}>_{\mathcal {H}}\right)\\&=\sum _{d\in [\![1,D-1]\!]}\left(\sum _{i=\tau _{d}}^{\tau _{d+1}-1}k(X_{i},X_{i})-{\frac {1}{\tau _{d+1}-\tau _{d}}}\sum _{i=\tau _{d}}^{\tau _{d+1}-1}\sum _{j=\tau _{d}}^{\tau _{d+1}-1}k(X_{i},X_{j})\right)\\&=\sum _{d\in [\![1,D-1]\!]}C_{\tau _{d},\tau _{d+1}}.\end{aligned}}}

KPGD est l'implémentation du principe de la programmation dynamique à noyau appliquée au problème de détection de ruptures. Elle prend en paramètre la matrice de coût C = ( C i , j ) ( i , j ) [ [ 1 , T ] ] ( i < j ) {\displaystyle C=(C_{i,j})_{(i,j)\in [\![1,T]\!]}(i<j)} et elle renvoie { m ^ D } D [ [ 1 , D m a x ] ] {\displaystyle \{{\hat {m}}_{D}\}_{D\in [\![1,D_{max}]\!]}} .

 algorithme KPGD (
  
    
      
        C
      
    
    {\displaystyle C}
  
) 
   for 
  
    
      
        d
        
        [
        
        [
        2
        ,
        
          D
          
            m
            a
            x
          
        
        ]
        
        ]
      
    
    {\displaystyle d\in [\![2,D_{max}]\!]}
  
 do
     for 
  
    
      
        
          τ
          
            
              
              
            
          
        
        
        [
        
        [
        d
        ,
        T
        ]
        
        ]
      
    
    {\displaystyle \tau ^{'}\in [\![d,T]\!]}
  
 do
       
  
    
      
        
          L
          
            d
            ,
            
              τ
              
                
                  
                  
                
              
            
          
        
        =
        
          min
          
            τ
            
            
              τ
              
                
                  
                  
                
              
            
          
        
        {
        
          L
          
            d
            
            1
            ,
            τ
          
        
        +
        
          C
          
            τ
            ,
            
              τ
              
                
                  
                  
                
              
            
            +
            1
          
        
        }
      
    
    {\displaystyle L_{d,\tau ^{'}}=\min _{\tau \leq \tau ^{'}}\{L_{d-1,\tau }+C_{\tau ,\tau ^{'}+1}\}}
  

       
  
    
      
        
          m
          
            d
            ,
            
              τ
              
                
                  
                  
                
              
            
            +
            1
          
        
        =
        
          
            
              a
              r
              g
              
              m
              i
              n
            
            
              τ
              
              
                τ
                
                  
                    
                    
                  
                
              
            
          
        
        {
        
          L
          
            d
            
            1
            ,
            τ
          
        
        +
        
          C
          
            τ
            ,
            
              τ
              
                
                  
                  
                
              
            
            +
            1
          
        
        }
      
    
    {\displaystyle m_{d,\tau ^{'}+1}={\underset {\tau \leq \tau ^{'}}{\operatorname {arg\,min} }}\{L_{d-1,\tau }+C_{\tau ,\tau ^{'}+1}\}}
  

     end for        
   end for
 Fin algorithme


avec τ > 1 , L 1 , τ = C 1 , τ {\displaystyle \forall \tau >1,L_{1,\tau }=C_{1,\tau }} .

La sélection de modèle[4] permet de récupérer D ^ {\displaystyle {\hat {D}}} un estimateur du nombre de segments D {\displaystyle D^{*}} . D ^ {\displaystyle {\hat {D}}} est défini par

D ^ = a r g m i n D [ [ 1 , D m a x ] ] { Y μ ^ m ^ D H T 2 + p e n ( m ^ D ) } , {\displaystyle {\begin{aligned}{\hat {D}}={\underset {D\in [\![1,D_{max}]\!]}{\operatorname {arg\,min} }}\{\|Y-{\hat {\mu }}_{{\hat {m}}_{D}}\|_{{\mathcal {H}}^{T}}^{2}+pen({\hat {m}}_{D})\},\end{aligned}}}

avec p e n ( m ^ D ) = C D n ( 1 + log ( n D ) ) {\displaystyle \mathrm {pen} ({\hat {m}}_{D})={\frac {CD}{n}}\left(1+\log \left({\frac {n}{D}}\right)\right)} . La méthode utilisée pour calibrer la constante C {\displaystyle C} est l'heuristique de pente[5]. On obtient ainsi un estimateur m ^ D ^ {\displaystyle {\hat {m}}_{\hat {D}}} .

Segmentation binaire

L'heuristique de segmentation binaire[6] est une méthode, fonctionnant par dichotomie, permettant de récupérer un minimiseur local m ^ D {\displaystyle {\hat {m}}_{D}} du risque empirique Y μ ^ m H T 2 {\displaystyle \|Y-{\hat {\mu }}_{m}\|_{{\mathcal {H}}^{T}}^{2}} . Plus précisément, la segmentation binaire cherche à la première itération l'indice j 1 [ [ 2 , T 1 ] ] {\displaystyle j_{1}\in [\![2,T-1]\!]} de l'instant de ruptures candidat qui minimise le risque empirique Y μ ^ m H T 2 {\displaystyle \|Y-{\hat {\mu }}_{m}\|_{{\mathcal {H}}^{T}}^{2}}  : cet indice est l'indice de notre premier instant de ruptures estimé. Puis, elle détermine récursivement, à la deuxième itération, deux instants de ruptures candidats j 2 , j 3 {\displaystyle j_{2},j_{3}} sur chacun des segments délimités par les instants de ruptures estimés. Elle retient comme second instant de ruptures estimé celui (parmi ces deux instants de ruptures candidats) qui minimisent le risque empirique. Puis, on procède de la même manière pour les itérations suivantes. Nous illustrons sur un exemple le fonctionnement de l'algorithme utilisant le principe de la segmentation binaire :

  • Étape 1 : A l'itération k = 1 {\displaystyle k=1} , on cherche j 1 {\displaystyle j_{1}} qui minimise le risque empirique Y μ ^ m 1 H T 2 {\displaystyle \|Y-{\hat {\mu }}_{m_{1}}\|_{{\mathcal {H}}^{T}}^{2}} avec m 1 = { 1 , j , T } {\displaystyle m_{1}=\{1,j,T\}} pour j [ [ 2 , T 1 ] ] {\displaystyle j\in [\![2,T-1]\!]} avec :
Y μ ^ m 1 H T 2 = C 1 , j + C j , T . {\displaystyle {\begin{aligned}\|Y-{\hat {\mu }}_{m_{1}}\|_{{\mathcal {H}}^{T}}^{2}=C_{1,j}+C_{j,T}.\end{aligned}}}

j 1 {\displaystyle j_{1}} est notre premier instant de ruptures estimé noté τ ^ 1 {\displaystyle {\hat {\tau }}_{1}} .

  • Étape 2  : A l'itération on k = 2 {\displaystyle k=2} , on cherche j 2 ,   j 3 {\displaystyle j_{2},~j_{3}} minimisant le risque empirique sur [ [ 2 , τ ^ 1 1 ] ] {\displaystyle [\![2,{\hat {\tau }}_{1}-1]\!]} et [ [ τ ^ 1 + 1 , T 1 ] ] {\displaystyle [\![{\hat {\tau }}_{1}+1,T-1]\!]} respectivement. Par exemple,
j 2 = a r g m i n j [ [ 2 , τ ^ 1 1 ] ] Y 1 τ ^ 1 μ ^ m 2 H τ ^ 1 2 , {\displaystyle j_{2}={\underset {j\in [\![2,{\hat {\tau }}_{1}-1]\!]}{\operatorname {arg\,min} }}\|Y_{1}^{{\hat {\tau }}_{1}}-{\hat {\mu }}_{m_{2}}\|_{{\mathcal {H}}^{{\hat {\tau }}_{1}}}^{2},}

avec m 2 = ( 1 , j , τ ^ 1 , T ) {\displaystyle m_{2}=(1,j,{\hat {\tau }}_{1},T)} . Puis on choisit parmi les instants de ruptures candidats j 2 ,   j 3 {\displaystyle j_{2},~j_{3}} celui qui minimise le risque empirique Y μ ^ m H T 2 {\displaystyle \|Y-{\hat {\mu }}_{m}\|_{{\mathcal {H}}^{T}}^{2}}
et on le note τ ^ 2 {\displaystyle {\hat {\tau }}_{2}} . Puis, on continue récursivement.

Ainsi, au bout de k {\displaystyle k} itérations, on récupère une segmentation en D = k + 1 {\displaystyle D=k+1} segments vérifiant :

m ^ D = a r g m i n m M D ( τ ^ 1 , , τ ^ D 2 ) Y μ ^ m H T 2 , {\displaystyle {\begin{aligned}{\hat {m}}_{D}={\underset {m\in {\mathcal {M}}_{D}({\hat {\tau }}_{1},\dots ,{\hat {\tau }}_{D-2})}{\operatorname {arg\,min} }}\|Y-{\hat {\mu }}_{m}\|_{{\mathcal {H}}^{T}}^{2},\end{aligned}}}

avec M D ( τ ^ 1 , , τ ^ D 2 ) {\displaystyle {\mathcal {M}}_{D}({\hat {\tau }}_{1},\dots ,{\hat {\tau }}_{D-2})} l'espace des segmentations en D {\displaystyle D} segments où les instants de ruptures estimés τ ^ 1 , , τ ^ D 2 {\displaystyle {\hat {\tau }}_{1},\dots ,{\hat {\tau }}_{D-2}} ont été calculés aux itérations précédentes.

Une méthode alternative de segmentation binaire avec temps d'arrêt[7] permet d'estimer le nombre de segments et donc de récupérer un estimateur m ^ D ^ {\displaystyle {\hat {m}}_{\hat {D}}} de m {\displaystyle m^{*}} .

Notes et références

Articles
  1. [PDF] Alexandre Lung-Yut-Fong, « Détection de ruptures pour les signaux multidimensionnels. Application à la détection d’anomalies dans les réseaux. », HAL,‎ (lire en ligne)
  2. [PDF] Lucien Birgé et Pascal Massart, « Gaussian model selection. », Journal of the European Mathematical Society,‎ , p. 203-268
  3. [PDF] Zaid Harchaoui et Olivier Cappé, « Retrospective Mutiple Change-Point Estimation with Kernels. », IEEE,‎ , p. 768-772 (lire en ligne)
  4. a et b [PDF] Sylvain Arlot, Alain Celisse et Zaid Harchaoui, « A kernel multiple change-point algorithm via model selection. », Arxiv,‎ (lire en ligne)
  5. Lucien Birgé et Pascal Massart, « Minimal Penalties for Gaussian Model Selection », Probability Theory and Related Fields, vol. 138,‎ , p. 33--73 (lire en ligne).
  6. [PDF] Rebecca Killick, « Optimal detection of changepoints with a linear computational cost. », Journal of the American Statistical Association,‎ , p. 1590--1598
  7. [PDF] Piotr Fryzlewicz, « Wild binary segmentation for multiple change-point detection. », The Annals of Statistics, vol. 42, no 6,‎ , p. 2243--2281 (lire en ligne)
  • icône décorative Portail des probabilités et de la statistique