Classification et modélisation

3 Classification

Une fois que les variables et l’échantillon d’apprentissage sont sélectionnés, l’onglet "Classification" (fig 10 et 11) permet de procéder à la détection d’états dans les données.

Figure 10: Onglet Classification pour l’utilisateur standard

Figure 11: Onglet Classification pour l’utilisateur expert

Lorsque l’interface est utilisée en mode standard, il suffit de cliquer sur le bouton "Lancer" pour démarrer la procédure. Dans ce cas, les données sont normalisées et la méthode utilisée est la classification spectrale, avec sélection automatique du nombre d’états en utilisant le critère du gap 1.

En mode expert, l’utilisateur peut choisir de normaliser ou non les données, sélectionner la méthode de classification à utiliser (K-means 2 ou spectrale 3 ) et ses paramètres.

Paramètres à sélectionner en mode expert

L’utilisateur doit, tout d’abord, décider si les variables doivent être normalisée4 ou non.

Quand les données ne sont pas normalisées, les variables ayant une échelle de valeurs très étendue influencent plus la recherche des états que les autres variables. La normalisation permet d’éviter cet effet d’échelle : toutes les variables ont le même poids lors de la recherche des états. Le risque, en utilisant des variables normalisées, est de donner du poids à une variable qui n’apporte en réalité que peu d’information.

L’algorithme K-means utilisé par l’interface est l’algorithme de Hartigan-Wong. L’utilisateur choisira de paramétrer :

  • soit le nombre d’états ;
  • soit la variance expliquée (pour un nombre d’états = 0) : il s’agit du critère d’arrêt de l’algorithme, utilisé pour calculer le nombre d’états optimal.

L’algorithme de classification spectrale utilisé par l’interface est l’algorithme de Ng-Jordan-Weiss. L’utilisateur choisira de paramétrer :

  • soit le nombre d’états ;
  • soit le critère d’arrêt à utiliser (pour un nombre d’états = 0) : critère du gap ou valeurs propres principales ;
  • et, si le nombre de données est supérieur à 2 000 points (coût en mémoire important pour les calculs de valeurs et vecteurs propres), alors l’utilisateur peut spécifier la variance expliquée utilisée dans la réduction des données et le calcul du nombre optimal de symboles.

Une fois la méthode et les paramètres choisis, un clic sur le bouton "Lancer" permet de lancer les calculs. Attention , ces calculs peuvent prendre jusqu’à plusieurs heures (selon la dimension des données, les capacités de l’ordinateur utilisé ...).

Lorsque les calculs sont terminés, les résultats bruts de la classification sont sauvegardés dans le fichier "./Classification/FichiersR/Classification_ date ". Des statistiques descriptives par état sont sauvegardées dans le fichier "./Classification/Tableaux/summaryTableClassification.xls" (tab 1). On y voit, par exemple, que la valeur moyenne de la variable C_NI1 des observations de l’état/cluster 2 est 12.35.

Min Q1 Median Mean Q3 Max NA
C_NI1 Cluster_
0.02 14.45 22.98 26.5 35.6 99.54 0
C_NI1 Cluster_
0.15 4.85 9.27 12.35 18.04 54.29 0
C_NI1 Cluster_
0.01 7.13 19.79 20.39 28.21 86.23 0
C_PO1 Cluster_
0 0.42 0.7 1.428 1.08 24.54 0
... ... ... ... ... ... ...
Table 1: Exemple de statistiques descriptives par état
Pour chaque variable du jeu de données, le programme génère et sauvegarde, dans le répertoire "./Classification/Figures/" , un boxplot par état (fig 12) et un graphique représentant l’évolution de la variable dans le temps, en colorant chaque observation selon son état (fig 13). Un graphique permettant de visualiser le séquencement des états est également sauvegardé dans ce répertoire (fig 14) et est affiché dans la fenêtre graphique de l’interface.

On remarque que les observations comprenant une valeur manquante pour une des variables du modèle sont classées dans un état à part noté "NA" (pour "Not Available").

Ce sequencement est aussi sauvegardé, en plus les variables Dates et Hours, dans le fichier "./Classification/Tableaux/Classification_sequendement_etat date .xls". Si les données comportent des colonnes nommées "latitude" et "longitude", alors celles-ci sont également sauvegardées dans le fichier.

Figure 12: Boxplot par état de la variable E__TA, avec mise en évidence des états par leurs couleurs

Figure 13: Evolution temporelle de la variable E__TA, avec mise en évidence des états par leurs couleurs

Figure 14: Séquencement des états obtenus par classification, avec mise en évidence des états par leurs couleurs

4 Modélisation de séries temporelles

L’onglet "Modélisation de séries temporelles" permet d’estimer5 les paramètres d’un modèle de Markov caché, à partir des états détectés par classification non supervisée.

Figure 15: Onglet Modélisation de séries temporelles

Le bouton "Importer les résultats d’une précédente classification" sert à importer les résultats d’une classification. Si une classification vient d’être réalisée, ses résultats sont déjà chargés dans la session courante et il n’est donc pas nécessaire de les réimporter.

En revanche, si la classification a été effectuée lors d’une session précédente, il faut utiliser ce bouton pour en charger les résultats. Le fichier à importer est le fichier "./Classification/FichiersR/Classification_date" qui a été sauvegardé dans le répertoire choisi lors de la session précédente. Attention , la classification importée doit avoir été effectuée sur le jeu de données importé lors de cette session.

Une fois les résultats chargés, il suffit de cliquer sur le bouton "Lancer" pour lancer l’estimation des paramètres du modèle. Lorsque celle-ci est terminée, des tableaux et graphiques du même type que ceux obtenus à l’issue de la classification sont sauvegardés dans le sous-répertoire "./Modelisation/".

Le graphique présentant le séquencement des états obtenu avec le modèle est également affiché dans la fenêtre graphique de l’interface. Ce séquencement peut être un peu différent de celui obtenu après classification.

5 Prédiction

Cet onglet permet d’utiliser un modèle déjà estimé pour prédire les états d’un nouveau jeu de données6.

Figure 16: Onglet Prédiction

Bouton Importer les résultats d’une précédente modélisation

Ce bouton sert à importer les résultats d’une modélisation effectuée lors d’une session précédente. Ces résultats ont été sauvegardés dans le fichier "./Modelisation/FichiersR/MarkovModelEstimation_ date " du répertoire choisi lors de la session précédente.

Si les paramètres du modèles ont été estimés lors de cette session, alors les résultats sont déjà chargés et il n’est donc pas nécessaire d’utiliser ce bouton.

Bouton Importer un autre fichier de données TXT

Ce bouton permet d’importer le jeu de données sur lequel réaliser la prédiction. Pour les utilisateurs qui passent directement de l’onglet "Import" à l’onglet "Prédiction" (et qui ont donc importé un modèle estimé précédemment), il n’est pas nécessaire d’utiliser ce bouton. C’est le jeu de données importé dans l’onglet "Import" qui sera utilisé.

L’utilisateur peut également réutiliser le fichier importé pour la modélisation en cochant la case "Utiliser le même jeu de données qu’à l’étape précédente".

Les variables utilisées sont automatiquement sélectionnées à partir de celle utilisées dans le modèle. Toute variable du jeu de construction du modèle non présente dans le fichier des données à prédire donnera un message d’alerte qui ne permettra pas la prédiction.

Les variables supplémentaires n’interviendront pas dans la prédiction mais aideront l’interprétation via les graphiques générés.

Cadre Sélection de la période à prédire

Ce cadre sert à choisir la période sur laquelle réaliser la prédiction. Cela permet notamment de sélectionner l’échantillon de validation pour les utilisateurs qui ont choisi de diviser leurs données en 2 échantillons (apprentissage/validation).

Bouton Prédire l’état des nouvelles données

Une fois le modèle estimé chargé et les données selectionnées, le bouton "Prédire l’état des nouvelles données" permet de lancer la prédiction. Lorsque celle-ci est terminée, des tableaux et graphiques du même type que ceux obtenus à l’issue de la classification sont sauvegardés dans le sous-répertoire "/Prediction/". Le graphique présentant le séquencement des états prédits est également affiché dans la fenêtre graphique de l’interface.

References

[1] Rousseeuw, K. (2014). Modélisation de signaux temporels hautes fréquences, multicapteurs à valeurs manquantes. Application à la prédiction des efflorescence phytoplanctoniques dans les rivières et les écosystèmes marins côtiers. Manuscrit de thèse soutenue le 11 décembre 2014.

[2] Rousseeuw, K., Poisson Caillault, E., Lefebvre, A., & Hamad, D. (2015). Hybrid hidden Markov model for marine environment monitoring. Selected Topics in Applied Earth Observations and Remote Sensing, IEEE Journal of, 8(1), 204-213. http://dx.doi.org/10.1109/JSTARS.2014.

[3] Lefebvre, A. (2015). MAREL Carnot data and metadata from Coriolis Data Centre. SEANOE. http://doi.org/10.17882/39754.

[4] Hartigan, J. A., & Wong, M. A. (1979). Algorithm AS 136: A k-means clustering algorithm. Journal of the Royal Statistical Society. Series C (Applied Statistics), 28(1), 100-108.

[5] Ng, A. Y., Jordan, M. I., & Weiss, Y. (2002). On spectral clustering: Analysis and an algorithm. Advances in neural information processing systems, 2, 849-856.


  1. Saut entre les valeurs propres 

  2. Méthode capable de séparer des groupes de données de formes globulaires qui ne se chevauchent pas [4] 

  3. Méthode de classification de données non linéairement séparables utilisant le spectre de la matrice de similarité entre chaque mesure [5] 

  4. centrées/réduites 

  5. en utilisant l’algorithme de Viterbi 

  6. Ce jeu de données doit avoir la même structure que celui utilisé pour estimer les paramètres du modèle.