Exploration de données scientifiques multi-échelles École thématique RISC-E, Nicolas Brodu, 11 octobre 2016 Données Scientifiques Le Big Data en sciences ? – Résolution et multiplicité des capteurs (e.g. images multispectrales) – Volume d’images de grandes tailles (e.g. photos de manips) – Nature des données multi-physique (e.g. ultrasons, voltage, photos, etc) – Dimensionalité élevée (e.g. paramètres d’une simulation) – Taille des enregistrements (e.g. séries mesurées sur plusieurs années) Conséquence : Difficile pour un humain « non aidé » de percevoir des relations ou motifs récurrents dans les données, de les modéliser, de tester des hypothèses, etc. Pas seulement pour l’analyse de données : informatisation à tous les niveaux de la boucle méthodologique Modélisation Mesures Prédictions Validation Données Scientifiques Comparatif avec le “Big Data” commercial Google / Facebook / Amazon / etc… Votre manip / terrain / mesures physio /… Finalité = gagner des sous Finalité = comprendre ce qui se passe Moyens disponibles Moyens disponibles – Données mesurées = toutes vos traces – Modèles comportementaux robustes ⇒ profilage utilisateur – Demandes des investisseurs/clients à prendre en compte – Services rendus attractifs ⇒ publicité – Jeu d’entraînement, validation « illimités » – Puissance de calcul « illimitée » – Données mesurée selon hypothèses/modèle ou question scientifique précise – Connaissances disciplinaires à prendre en compte : physique, biologie, etc. – Faire mieux que l’état de l’art, dose d'inconnu – Publications – Mesures de référence = votre temps / argent du labo – Votre laptop, un PC ou le cluster du labo Objectifs très variés mais, de façon générale, il est utile de : - Trouver les points intéressants - Aux échelles intéressantes - Et modéliser leur dynamique (statistiques ≠ bruit de fond, anomalies ou pas) (pas forcément celle d'acquisition) (différents formalismes, pas tous appropriés) Extraction de caractéristiques Caractéristiques ? – Espace de valeurs à fort potentiel, mesurées ou calculées sur les données brutes – D’intérêt disciplinaire, souvent en lien avec une hypothèse / un modèle – E.g.: Indice de végétation calculé à partir de bandes spectrales, tenseur des contraintes calculé à partir de forces microscopiques, etc. = Espace de recherche des points intéressants En quoi des points sont-ils « intéressants » ? – Critères statistiques : ce qui diffère du reste (erreurs/outliers ? phénomène rare ?) – Critères dynamiques : perturbation, changement d’attracteur – Critères informatifs : points porteurs de l’information Analyse guidée (proche de l’apprentissage supervisé) – Partant d’exemples connus, on cherche des points similaires Fouille exploratoire (proche de l’apprentissage non supervisé) – Extraction automatique de groupes (clustering), de modèle de la dynamique, etc. De différentes natures Données hétérogènes Sources multiples, de natures différentes Échelles d’acquisition multiples Sources multiples, de natures différentes Pas l’objet principal de cette présentation En général, pour ces données, éviter les modèles linéaires (dont SVM simples): a*x1 + b*x2 + c*x3 … ≷ seuil ? N'est généralement pas homogène ! Préférer par exemple les modèles ensemblistes, où chaque feature est traitée séparément, puis les décisions sont combinées de façon probabiliste sur l'ensemble des classificateurs (e.g. forêts d'arbres de décisions aléatoires). Ou encore les méthodes "à noyau", où des fonctions projettent chaque feature dans un espace de Hilbert, et où on peut travailler dans l'espace produit. f(x1, ·) ⊗ f(x2, ·) ⊗ f(x3, ·) … À différentes échelles Slide précédente ⇒ piocher dans des outils « classiques » : – Traitement du signal/image, Machine learning, Théorie des systèmes dynamiques… Problème – Processus physiques ⇒ échelles (temps/espace) pas forcément connues (e.g. trouver une longueur de corrélation ou un temps caractéristique partant de données mesurées) – Échelles pertinentes inconnues ⇒ Données acquises à la plus haute fréquence possible ⇒ trouver les échelles « intéressantes » où sont définis les points « intéressants » Méthode 1 : Identifier des échelles puis analyser le signal à ces échelles – Exemple : analyse temps fréquence + filtrage – Problème : les valeurs « intéressantes » peuvent dépendre de l’échelle de calcul Méthode 2 : Caractéristiques intrinsèquement multi-échelles – La dynamique d’un signal, sa régularité – Les mesures d'information – L’orientation de la normale à une surface rugueuse – Les bords / frontières / transitions dans une image Noir « voit » la dynamique Rouge = rien ne bouge Puissance / bande de fréquences Intuition : « intéressant » = effet du travail d’un processus physique – Travail = dissipation d’énergie / temps – Postulat : travail effectué ≈ à l’échelle caractéristique du processus ⇒ Calcul de la puissance par bande de fréquences X = Fourier(x) ⇒ W = |X|²/T où T est la durée d’intégration Fréquence (0 à 30 Hz) E.g. EEG 4,5 Hz et 8 Hz => somnolence, mémorisation 8,5 Hz et 12 Hz => conscience au repos 12 Hz et 45 Hz => concentration, anxiété Activité cortex moteur Processus localisé en espace (région du cerveau), en temps (activité temporaire), et détecté par sa puissance émise à une échelle caractéristique. Temps ⇒ Feature pour apprentissage machine, système de reconnaissance BCI Autre approche: échelle⇔info Intuition physique: – Au lieu de s’intéresser l’énergie dépensée, on regarde l’information produite. – Question ouverte : Plus proche du mode de fonctionnement des systèmes horséquilibres (ouverts, dissipatifs), capables de maintenir et perpétuer des structures au cours du temps ? Ces structures sont prédominantes en biologie, en environnement… – Dans tous les cas, approche pragmatique : l’échelle de production/contenu d’information est tout aussi intéressante que l’échelle de dissipation d’énergie dans une optique de fouille de données ⇒ bons descripteurs. Information: – Approche descriptive (e.g. Shannon, Fisher) ⇒ H(X) = Ex [-log P(X=x)] information = le minimum pour discriminer chaque x∈X – Approche générative (e.g. Kolmogorov-Chaitin) ⇒ KC(X) = min|prog p|( exec(p) = X) information = le minimum pour générer X ⇒ mais aussi, cf slides suivants, comment reconstruire un jeu de données. – Approche prédictive : information = ce qui permet de prédire le comportement futur ⇒ e.g. paramètres d’un modèle + équations, approche statistique (cf ci-après) – Approche décisionnelle : information = ce qui est utile pour prendre une décision ⇒ critique implicite des journaux télévisés Problème: comment étendre au multi-échelle (e.g. Entropie multi-échelle ?) Information ⇔ reconstruction 1. Trouver des points sensés porter l’information. Quelques approches: – Détection de « bords » (changement d'intensité, de texture…) – Signal représenté dans une base minimisant le nombre de coefficients non nuls → toute une famille de méthodes depuis ≈ 2005 et le « compressed sensing », et autres méthodes exploitant des contraintes de sparsité (E. Candès, T. Tao) – Analyse temps/fréquence par wavelets pour localiser l'information Développements récents : Dual-Tree - Complex Wavelet Transform = robustes aux décalages du filtre par translation. 2. Supprimer les points négligeables – On peut compresser l’image / le signal très fortement à ce stade 3. Reconstruire le signal à partir des points informatifs – Formule de reconstruction dépendant de l’espace initial (e.g. ondelettes) 4. Comparaison avec l’original : différence = quantité d’information perdue – Typiquement, erreur = ∑ |original-reconstruit|² et information ∝ - log(erreur/max) Méthode perso multi-échelles Ex. d'analyse aux échelles d'un processus naturel Méthode = Similarité de chemins aléatoires parcourant le voisinage de chaque côté de chaque pixel Températures de surface Données MODIS 8-day bleu=-1.2°C rouge=31.5°C noir = continents Taille chemins = Échelle spatiale λ Sensibilité = Échelle des données κ Original λ=3, κ=1 Analyse à l’échelle des courants océaniques λ≈75km κ≈1°C ⇒ structures porteuses d'information λ=1, κ=256 λ=3, κ=256 λ en pixels, κ en niveaux de gris Exemple: Analyse d’images Cameraman Lena Barbara House Sea star Et s’il y à invariance d’échelle ? Exemple: Température de surface des océans Aucune échelle caractéristique ne se dégage Ligne noire : T ∝ λ^5/3 Cascade Kolmogorov ? Turbulence océanique Limites actuelles: - méthode restreinte aux petits voisinages - peu précis à λ<2 pixels Échelle spatiale λ ⇒ Fit de la transition Différences de températures κ Fit de lois de puissances locales Principe général – Considérons un voisinage V(x, r) autour d’un point x (espace, temps) à une échelle r – On regarde une statistique sur V(x,r), par exemple |V| sa taille effective (e.g. nombre de boites de taille élémentaires pour recouvrir V) – Puis une estime une loi invariante d’échelle, e.g. |V| ∝ rD(x), locale au point x – Dans cet exemple, D est la dimension « fractale » (de Hausdorff, détails cf wikipedia) Exposants de Hölder, spectres multifractals – Loi de puissance locale = liée au degré de régularité d’un polynôme qui approxime le signal f(x) autour de x₀. Maths: ∃ P : |f(x)−P(x−x₀)| ≤ C|x−x₀|α avec P un polynome de degré maximal floor(α) H(x₀) = sup { α : ∃ P … condition précédente OK } – On peut alors calculer la dimension de Hausdorff D(iso(h)) de l’ensemble des points qui ont le même exposant de Hölder : iso(h) = { x : H(x) = h }. – Le « spectre » multifractal = l’ensemble de ces dimensions {D(h)}, renseigne sur les degrés de régularité d’un signal f. Localement, h(x₀) renseigne sur la régularité en x₀. ⇒ Points singuliers = points avec le plus petit h, et D(h) = s'il y en a « beaucoup» – Différentes méthodes de calculs : la directe (ci-dessus) est peu précise / difficile à estimer en pratique. Plus subtil : O.Pont, A.Turiel, H.Yahia. J of Comp. Math. 10(1), 2012 Exemple Hypothèse: Cascade dans le cas de la turbulence ⇒ lois de puissance Contrairement à l’exemple précédent, pas d’analyse à une échelle donnée, mais fait ressortir au contraire la diversité des tailles de courants. Température de surface des océans Exposants de singularité H. Yahia, J. Sudre, V. Garçon, C. Pottier, “High-resolution ocean dynamics from microcanonical formulations in non linear complex signal analysis” European Geosciences Union General Assembly (EGU), Vienna, Austria, April 22-27, 2012 https://geostat.bordeaux.inria.fr/index.php/agu.html Autres approches Décomposer le voisinage V(x,r) – Sur une base de fonctions locales (e.g. ondelettes radiales) : V(x,r) = ∑ α i(x,r) bi(r) – Feature = comment évolue αi(x,r) en fonction de r – Intérêts : - moins de coefficients, représentation « sparse » des données - construction de dictionnaires Statistiques sur V à chaque échelle, puis feature en faisant varier r – Exemple : dimensionalité locale pour caractériser végétation, sédiments, etc. Info ⇒ réduction de dimension Principe – « Projeter » les données dans un sous-espace (projection linéaire) ou sur un manifold (transformation non-linéaire) de sorte que la projection retienne le maximum d’information. – Travailler dans l’espace réduit (machine learning, reconstruction de la dynamique…) Exemple classique : Analyse en Composantes Principales – Calcul de l’axe de variance principale ⇒ vecteur de base – Projection dans l’hyper-plan normal, itération ⇒ autres vecteurs de base – Résultat = transformation linéaire des données. Axe de variance principal Axe n°2 Option: normalisation Info ⇒ réduction de dimension Méthode: – On garde N composantes principales, par ex. tel que 95% de la variance est capturée – Le signal projeté sur ces N composantes est conservé, le reste éliminé – Les vecteurs de base B sont eux-même informatifs Exemple: hauteur du géopotentiel à 500 hPa – X = tous les 2.5° de longitude/latitude, mesures journalières sur 15 ans. B1 B2 – On voit ici que le signal est projeté sur les grandes tendances d’anticyclones, B3 dépressions. ⇒ séries interprétables Problèmes Erreur de reconstruction Bien souvent pas de coupure nette pour N: Variable 1 Variable 2 Nombre N de vecteurs de base Autres méthodes de réduction Linéaires – Analyse en composantes indépendantes : maximise l’indépendance statistique au lieu de la variance. – Projection sur les sous-espaces de séparabilité maximale chaque axe sépart au mieux les données dans l’hyperplan restant Non-linéaires – Dynamic Mode Decomposition : pour des séries temporelles, la « projection » minimise les distances entre mesures successives – Diffusion Maps : un noyau k(x,y) est utilisé, qui représente une probabilité de transition entre x et y. Les données sont transformées non-linéairement pour respecter au mieux ces distances localement. – Plus généralement « metric learning » : Essaie de trouver une métrique empirique de séparation des données dans l’espace X (e.g. distance entre voisins les plus proches), puis trouve un espace Euclidien qui respecte au mieux cette métrique Partie II: Dynamique d'un signal Par l'approche « systèmes dynamiques » de modélisation d'un processus : Vecteur d’état X(t) Équations différentielles pour la dynamique de X Attracteur de Lorenz X=(x,y,z) Postulat sur les données observées Y(t) = f (X,t) + ε(t) Données Vue partielle / transformation Bruit Images : Sauer, Scholarpedia Théorème de Takens Prémisses (Whitney, 1936) : plongement de manifold 2N+1 observables indépendantes ⇒ Espace des phases de dimension N déterminé Généralisation (Takens, 1981) Observables indépendantes → Une seule observable ! Obtention d’un attracteur reconstruit avec la même dynamique ( ⚠ au bruit…) Délai τ, dimension N Série observée s Attracteur reconstruit ^X Original Reconstruit Échelle de reconstruction ? Formule de reconstruction ⇒ échelle de sous-échantillonnage implicite X = ( s(t), s(t-τ), … , s(t-Nτ) ) et τ exprimé en pas d'échantillonnage : τ=λp ⇒ Échelle pertinente = celle où la dynamique est « la mieux » reconstruite ? Exemple : Dynamique EEG de rat (Freeman, 1998) Rat normal Épilepsie Déterminer N, τ : qualité de reconstruction ? données suffisantes? Avancées récentes ⇒ séparation des échelles – Petites échelles : λ>0 petits détails chaotiques – Grandes échelles : λ<0 grandes tendances stables (e.g. Falasco et al 2014) Stabilité ou non d’un système 0 0 En pratique… Estimer les exposants de Lyapunov est difficile - Besoin de données proches (x,y) avec hypothèse y = x + ε ·y ·x – Problème si x et y apparaissent proches, mais sont en fait projettés (faux voisins) ⇒ importance de l’estimation de τ, N Et dépend de l’échelle considérée : λ macro ≠ λ micro – Il n’y a aucune raison que la fréquence d’échantillonnage E soit la meilleure ⇒ Sous-échantillonner + filtre passe-bas éventuellement Avancées récentes, mécanique statistique = processus macro vs micro – Physique Statistique, Chaos et approches multiéchelles. ISBN 9782701146065, 2008 – Physica A: Stat. Mech. and its Applications 418, 94-104 (arXiv:1405.2823), 2014 → Séparation des échelles, lien λ macro, λ micro et utilité de l’ergodicité ou non – Dynamical Processes on Complex Networks (livre, processus sur réseaux), 2009 Repenser États et Dynamique (ou paramètres) Espace Vision de la méthode précédente : … Passé X(t-1) Vecteur d’état = « univers » entier X(t) X(t+1) Futur … Temps ⇒ Transmission instantanée de l’information ! Repenser États et Dynamique État en F dépend de I (accessible) et de O (inaccessible) (ou paramètres) Espace O I F … Passé Futur … X(t) Temps ⇒Perte du déterminisme : distribution P(Futur|Passé) Approche Statistique Refs : J. Crutchfield, C.R. Shalizi Principe : classes d’équivalence Cônes passés A ayant la même influence sur les futurs F, ∀F σ(A) = { B : P(F|B) = P(F|A) } ⇒ P(F|A) = P( F | σ(A) ) Impossible de distinguer ces cônes par de nouvelles observations ! États Causaux σ(A) = granularité la plus fine possible pour décrire/prédire le système A Observation P = P1 dans A et P2 dans B = Information nouvelle F Automate Markovien Cas discret = Information nouvelle Observation Discrétisation A F Symbole s ∊ alphabet ⇒ Cône C ∊ * chaînes Graphe de transition = ε-machine p(a|σ1) σ1 σ2 = {a,b} p(a |σ 3) ) |σ 1 |σ 3) b p( p( b p(a|σ2) σ3 ) 2 σ | b p( – Graphe Markovien par définition – Contrainte sur états internes ≠ chaîne Markov – Même état = même prédictions Dynamique reconstruite statistiquement ≠ attracteur du chaos déterministe Mesure de Complexité Données très régulières P(F|A) unique ⇒ Une seule classe Données complètement aléatoires P(F|A) également unique ⇒ Une seule classe aussi ! ≠ complexité Kolmogorov « Complexité Statistique » C=- ∑ σ p(σ) log p(σ) entropie des états causaux Quantité d’information à retenir du passé pour prédire de façon statistique optimale le futur Maximale pour des systèmes entre ordre et désordre total ⇒ Structure interne Ex 1 : Automates cellulaires Automate « élémentaires » 1D, binaire, voisinage proche Configuration précédente Nouvelle configuration Règles d’évolution Cônes bien identifiés Refs : filtres complexité : Shalizi et al image ci-dessous reconstruite avec algo perso. Résultat σ1 Temps Temps Espace σ2 Brut Filtré Ex 2 : Circulation Atmosphérique Jänicke et al., 2007 Vitesse des vents Zones où la difficulté de prédire les vents est maximale Champ de complexité local C(A) = C(σ(A)) = – log(p(σ)) pour le cône A Complexité globale = moyenne sur tous les σ Problèmes Passage à l'échelle → Variables macroscopiques idéales = meilleur pouvoir prédictif |σ 3) 3) ) |σ 1 – Liens avec la mécanique statistique ? p( b σ2 b p( = Clusters entre états [cf C.R.Shalizi, 2001] p(a|σ1) σ1 p(a |σ – Donne ici des sous-automates p(a|σ2) σ3 p( ) 2 σ b| Difficile à calculer/estimer en pratique Mais avancées algorithmiques / pratiques en clustering et pour la comparaison de distributions de probabilités ⇒ Work in progress. Je les mentionne ici car la notion de complexité obtenue est très utile pour définir des points d’intérêts dans une optique de fouille de données scientifiques. Complexité / Entropie Complexité (C) ⇒ structure. Nombreuses définitions de C. Entropie (H) ⇒ ordre/désordre (ou information, cf ci-après). Les deux ensemble ⇒ Sépare structures chaotiques de données aléatoires Exemple Séries de températures mesurées dans le goufre Tarissan, volcan de la Soufrière, à différents niveaux de profondeurs. (données D. Gibert, analyse perso). 0.5 0.4 Complexity (MPR) Cf. O.A.Rosso, H.A.Larrondo, M.T.Martin, A.Plastino, “Generalized Statistical Complexity Measure: A New Tool for Dynamical Systems”, Proceedings Net-Works, pp1-6, 2008. Structured Admissible values Processed data Resolution = 10s ⇒ structure Chaque triangle est le résultat de l’analyse 0.3 Entropie / Complexité d’une série. Raw data – Données brutes : 0.2 Échantillons manquants – Interpolation : Processed data · Même processus = superposition Temporal resolution = 2s 0.1 · À échelle=2s, pas de structure ⇒ no structure at this scale – Sous-échantillonnage : Ordered Entropy (permutation) · À échelle = 10s, la structure apparaît 0 ⇒ remontée des fumées dans la colone ! 0 0.2 0.4 0.6 Random 0.8 1 Conclusion Méthodes multi-échelles d'analyse de données – Processus sous-jacents (possiblement plusieurs) ⇒ échelles caractéristiques, ou relations multi-échelles (e.g. lois de puissances) – Aucune raison que la fréquence d'échantillonnage soit la meilleure – Classique : Méthodes basées sur l'énergie dissipée / bandes de fréquence – Systèmes ouverts : Mesures d'information / ordre tout aussi pertinentes ? (hyp. perso.) – Différentes méthodes d'analyse → échelles caractéristiques ⇒ éventuellement fusion Problèmes: – Difficulté de créer des caractéristiques vraiment multi-échelles Reconstruction de la dynamique du système – Même problème de l'échelle pertinente à laquelle le reconstruire – Systèmes dynamiques ⇒ séparabilité petites / grandes échelles, pas les mêmes λ – Méthode statistique ⇒ dynamique empirique + mesure de complexité = feature locale