Vous êtes sur la page 1sur 10

Plan du cours

Intelligence Artificielle & Machine Learning pour la


modélisation de séries temporelles et de signaux 1. Présentation du cours
Introduction

2. Signaux et séries temporelles


Laurent Oudre
laurent.oudre@ens-paris-saclay.fr
3. Machine Learning pour les séries temporelles

Parcours IA
ENS Paris Saclay 4. Plan du cours
Master 1
2020-2021

Laurent Oudre IA&ML pour la modélisation de séries temporelles et de signaux 2020-2021 1 / 37 Laurent Oudre IA&ML pour la modélisation de séries temporelles et de signaux 2020-2021 2 / 37

Présentation du cours Présentation du cours

Contents Quelques informations pratiques

1. Présentation du cours
◮ Quatre séances de cours (10h)
2. Signaux et séries temporelles
◮ Projet tutoré en Matlab ou Python sur données réelles (20h)

3. Machine Learning pour les séries temporelles


http://www.laurentoudre.fr/signalml.html
4. Plan du cours

Laurent Oudre IA&ML pour la modélisation de séries temporelles et de signaux 2020-2021 3 / 37 Laurent Oudre IA&ML pour la modélisation de séries temporelles et de signaux 2020-2021 4 / 37
Signaux et séries temporelles Signaux et séries temporelles

Contents Qu’est-ce qu’un signal ?

Un signal est une quantité observable variant en fonction du temps


1. Présentation du cours

2. Signaux et séries temporelles

3. Machine Learning pour les séries temporelles

4. Plan du cours

Laurent Oudre IA&ML pour la modélisation de séries temporelles et de signaux 2020-2021 5 / 37 Laurent Oudre IA&ML pour la modélisation de séries temporelles et de signaux 2020-2021 6 / 37

Signaux et séries temporelles Signaux et séries temporelles

Exemples Qu’est-ce qu’un signal ?

◮ Le son issu d’un piano


◮ La température au sommet de la Tour Eiffel ◮ Souvent, un signal correspond à la mesure d’un phénomène physique qui est
◮ Le cours en bourse d’une action enregistré grâce à un capteur
◮ Son issu d’un microphone
◮ La tension électrique dans un câble USB ◮ Température mesurée grâce à un thermomètre
◮ Données démographiques ou statistiques ◮ Accélération linéaire mesurée grâce à un accéléromètre embarqué sur smartphone
◮ Une onde gravitationnelle ◮ Ces capteurs nous permettent de capturer ce qui se passe dans le monde
physique en le transformant bien souvent en signal électrique
◮ Comprendre et analyser ces signaux permet de mieux comprendre le monde
qui nous entoure, mais également d’utiliser cette information pour de
l’indexation, de la classification…

Laurent Oudre IA&ML pour la modélisation de séries temporelles et de signaux 2020-2021 7 / 37 Laurent Oudre IA&ML pour la modélisation de séries temporelles et de signaux 2020-2021 8 / 37
Signaux et séries temporelles Signaux et séries temporelles

Signaux continus et discrets Signaux continus et discrets

Il existe deux types de signaux temporels :


◮ Continu : signal connu à chaque instant t En pratique
◮ Les signaux continus x(t) ne sont pas stockables et étudiables sur ordinateur (ils
x(t) avec t ∈ R contiennent une infinité de valeurs !). Ils peuvent être vus comme des fonctions
mathématiques. On les étudie principalement pour avoir des modèles théoriques des
t : temps (souvent exprimé en secondes) signaux que l’on veut étudier. Ils modélisent des phénomènes physiques tels que les
Ex : onde électromagnétique, signal électrique, … ondes acoustiques, les signaux électriques, etc…
◮ Discret : signal connu uniquement à certains instants t[n] ◮ Les signaux discrets x[n] au contraire peuvent être stockés et étudiés sur ordinateur. Ils
ont en général un nombre fini de valeurs non nulles. Un signal discret est ainsi
x[n] avec n ∈ Z représenté comme un vecteur contenant toutes les valeurs x[n]. On y associe un vecteur
temps contenant toutes les valeurs t[n] des instants où l’on connaı̂t le signal.
n : échantillon (sans unité) Remarque : Tous les signaux que nous allons étudier en projet sont donc des signaux discrets.
Ex : taux de précipitations enregistré chaque jour, cours de la bourse enregistré
chaque heure, …

Laurent Oudre IA&ML pour la modélisation de séries temporelles et de signaux 2020-2021 9 / 37 Laurent Oudre IA&ML pour la modélisation de séries temporelles et de signaux 2020-2021 10 / 37

Signaux et séries temporelles Signaux et séries temporelles

Exemples Série temporelle vs. signal


1 1
◮ Dans le cours on utilisera invariablement le terme de série temporelle ou de
0.9 0.9

0.8 0.8
signal (en l’occurrence discret)
0.7 0.7 ◮ En pratique, les signaux numériques ou séries temporelles sont représentés
0.6 0.6 sous la forme de tableaux de valeurs (ou vecteurs) de longueur N.
x[n]
x(t)

0.5 0.5
◮ Chaque valeur stockée est appelée échantillon (attention : définition
0.4 0.4
différente de celle du ML !). N correspond au nombre d’échantillons.
0.3 0.3

0.2
◮ On définit alors :
0.2

0.1 0.1
◮ L’échantillon n
0
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
0
0 1 2 3 4 5 6 7 8 9 10
n 0 1 2 3 4 5 6
t (secondes) n (echantillons)
◮ La série temporelle x[n], correspondant aux valeurs enregistrées
Signal continu x(t) Signal discret x[n]
t ∈ [0, 1] n ∈ J0, 10K x[n] 0.7 0.2 0.8 0.9 0.3 0.2 0.7

Dans le cours, les signaux discrets seront représentés par des segments terminés par ◮ Le vecteur temps t[n], correspondant aux instants où le signal a été enregistré
des cercles (cf figure ci-dessus) t[n] 16 :30 :01 16 :30 :23 16 :31 :43 16 :32 :38 16 :33 :06 16 :33 :16 16 :33 :56

Laurent Oudre IA&ML pour la modélisation de séries temporelles et de signaux 2020-2021 11 / 37 Laurent Oudre IA&ML pour la modélisation de séries temporelles et de signaux 2020-2021 12 / 37
Signaux et séries temporelles Signaux et séries temporelles

Les séries temporelles sont partout ! Signaux multivariés

◮ Certains signaux peuvent correspondre à deux ou plusieurs mesures


simultanées
ex : position de la souris (x, y) enregistrée en fonction du temps
Météorologie,
◮ On parle dans ce cas de signaux multivariés et on les représente sous forme
Finance, de matrices de taille d × N (où d est le nombre de dimensions)
Santé,
Monitoring, ◮ Dans ce cas, des liens forts peuvent exister entre les différentes variables
Epidémiologie, mesurées, qui peuvent être prises en compte pour le traitement
Réseaux de capteurs…
◮ Dans le cours, sauf cas particulier, on supposera souvent que l’on traite des
signaux univariés

Laurent Oudre IA&ML pour la modélisation de séries temporelles et de signaux 2020-2021 13 / 37 Laurent Oudre IA&ML pour la modélisation de séries temporelles et de signaux 2020-2021 14 / 37

Signaux et séries temporelles Signaux et séries temporelles

Séries univariées et multivariées Les séries temporelles sont complexes

Trajectoires 2D/3D,
Séries temporelles
multivariées, ◮ Données potentiellement massives (ex : son HD : 44100 échantillons par
Données multimodales seconde)
sur des réseaux de
capteurs… ◮ Données multivariées, multimodales, hétérogènes
◮ Données bruitées, données manquantes
◮ Souvent liées à un contexte applicatif : le data scientist n’est pas formé pour
comprendre les données
◮ Manque d’annotations et de vérités terrain

Laurent Oudre IA&ML pour la modélisation de séries temporelles et de signaux 2020-2021 15 / 37 Laurent Oudre IA&ML pour la modélisation de séries temporelles et de signaux 2020-2021 16 / 37
Signaux et séries temporelles Signaux et séries temporelles

Importance du temps Importance du temps

104 Enplanements for U.S. Air Carrier Domestic 104


7.5 7.5
◮ Quelle est la différence entre des données classiques et des données
7 7
temporelles ? Notion de séquentialité et de chronologie
6.5 6.5

6 6

Thousands
5.5 5.5

5 5

4.5 4.5

4 4
◮ Chaque échantillon corresponds à la mesure d’un phénomène à un instant
3.5 3.5
donné 3 3
01/00 07/02 01/05 07/07 01/10 07/12 01/15 07/17 0 50 100 150 200 250
◮ La prise en compte du temps est cruciale pour la compréhension de l’évolution Time ??

du phénomène
La même série temporelle… mais où les temps ont été mélangés

Laurent Oudre IA&ML pour la modélisation de séries temporelles et de signaux 2020-2021 17 / 37 Laurent Oudre IA&ML pour la modélisation de séries temporelles et de signaux 2020-2021 18 / 37

Signaux et séries temporelles Signaux et séries temporelles

Temps et ML Deux visions : physique et statistique


0.2

0.1

0.4
Male
1.1 Young
ML
0.9 British accent
« Hello »
◮ Il existe plusieurs façons de voir une série temporelle x[n]
0.3

0.5
◮ Vision physique. La série temporelle correspond à une version discrétisée d’un
0.2 phénomène physique x(t) : on cherchera alors à retrouver les propriétés de x(t) à
partir de x[n]. Il s’agit d’une approche déterministe correspondant classiquement
à ce qui se fait en traitement du signal.
43
◮ Vision statistique. La série temporelle correspond à une réalisation d’un
28

21 ML
New user phénomène aléatoire X [n] : on cherchera alors à retrouver les propriétés
Likely to buy a car
08 statistiques de X [n] à partir de x[n]. Il s’agit d’une approche probabiliste
53
correspondant à ce qui se fait en traitement statistique du signal.
◮ Bien entendu ces deux visions sont liées, et afin de bien explorer les données il
est utile d’adopter les deux points de vue
◮ La plupart des algorithmes de ML ne prennent pas en compte le temps de
façon native
◮ Comment utiliser cette information temporelle pour extraire des
caractéristiques et des motifs qui peuvent être utilisés au sein d’un algorithme
de ML ?
Laurent Oudre IA&ML pour la modélisation de séries temporelles et de signaux 2020-2021 19 / 37 Laurent Oudre IA&ML pour la modélisation de séries temporelles et de signaux 2020-2021 20 / 37
Signaux et séries temporelles Signaux et séries temporelles

Annotations et vérité terrain Deep learning : la solution ultime ?

Le deep learning permet effectivement d’atteindre l’état de l’art en terme de


◮ Contrairement aux images (ex : classification de chats et chiens), l’annotation
performances sur plusieurs tâches, MAIS…
de séries temporelles demande souvent une expertise, qui est dure à capturer
◮ De bonnes performances n’impliquent pas une bonne compréhension des
◮ Contexte typique :
◮ Données bruitées et non consolidées
données (voir slide suivant)
◮ Quelques signaux annotés avec des étiquettes floues (annotations ◮ Le DL est une boı̂te noire qui n’offre parfois qu’une satisfaction partielle aux
hyper-spécialisées qui ne se transforment pas aisément en labels de classes) experts métier qui ne peuvent pas interpréter les résultats
◮ Un expert-métier avec des dizaines d’années d’expertise mais incapable de ◮ Bien que certains réseaux prennent en compte le temps (ex LSTM), ils ne
traduire ceci dans des annotations compatibles avec le ML gèrent une mémoire que de plusieurs centaines d’échantillons
Comment utiliser le ML dans ce contexte ? ◮ Le DL est assez mauvais lorsqu’il y a peu de données/annotations

Laurent Oudre IA&ML pour la modélisation de séries temporelles et de signaux 2020-2021 21 / 37 Laurent Oudre IA&ML pour la modélisation de séries temporelles et de signaux 2020-2021 22 / 37

Signaux et séries temporelles Signaux et séries temporelles

Un joli contre-exemple (1/4) Un joli contre-exemple (2/4)


Blog post from V. Flovik
Blog post from V. Flovik
https://towardsdatascience.com/
https://towardsdatascience.com/
how-not-to-use-machine- learning-for-time- series-forecasting- avoiding-the-pitfalls- 19f9d7adf424
how-not-to-use-machine- learning-for-time- series-forecasting- avoiding-the-pitfalls- 19f9d7adf424

Prédiction de la valeur d’une action grâce à un réseau LSTM : utilisation des 250
premiers jours comme données d’entraı̂nement. La prédiction semble excellente ! Excellentes performances également ! Prédiction et RMSE de bonne qualité !

Laurent Oudre IA&ML pour la modélisation de séries temporelles et de signaux 2020-2021 23 / 37 Laurent Oudre IA&ML pour la modélisation de séries temporelles et de signaux 2020-2021 24 / 37
Signaux et séries temporelles Signaux et séries temporelles

Un joli contre-exemple (3/4) Un joli contre-exemple (4/4)

Blog post from V. Flovik Blog post from V. Flovik


https://towardsdatascience.com/ https://towardsdatascience.com/
how-not-to-use-machine- learning-for-time- series-forecasting- avoiding-the-pitfalls- 19f9d7adf424 how-not-to-use-machine- learning-for-time- series-forecasting- avoiding-the-pitfalls- 19f9d7adf424

En réalité, il s’agissait d’une marche aléatoire : il était impossible de prédire quoi


que ce soit. Ceci aurait pu être détecté immédiatement grâce à une exploration
En réalité, LSTM ne faisait que recopier l’échantillon précédent…
consciencieuse…

Laurent Oudre IA&ML pour la modélisation de séries temporelles et de signaux 2020-2021 25 / 37 Laurent Oudre IA&ML pour la modélisation de séries temporelles et de signaux 2020-2021 26 / 37

Machine Learning pour les séries temporelles Machine Learning pour les séries temporelles

Contents Qu’est-ce que le Machine Learning ?

1. Présentation du cours ◮ Le Machine Learning ne consiste pas (uniquement) à obtenir les meilleures
performances possibles en lançant des packages de Machine Learning en
2. Signaux et séries temporelles Python
◮ Le Machine Learning a également pour but de comprendre les données,
3. Machine Learning pour les séries temporelles d’interagir avec des experts métier, et d’améliorer la connaissance
◮ Il n’y a pas d’intelligence artificielle sans intelligence humaine
4. Plan du cours ◮ Appliquer des méthodes perfectionnées de Machine Learning ne dispense pas
d’une phase d’exploration préliminaire… et le Machine Learning peut
également aider à cela !

Laurent Oudre IA&ML pour la modélisation de séries temporelles et de signaux 2020-2021 27 / 37 Laurent Oudre IA&ML pour la modélisation de séries temporelles et de signaux 2020-2021 28 / 37
Machine Learning pour les séries temporelles Machine Learning pour les séries temporelles

Comprendre les données : une tâche complexe et Représentation et complexité


chronophage

Source : https ://www.forbes.com/sites/gilpress/2016/03/23/data-preparation-most-time-consuming-least-enjoyable-


data-science-task-survey-says/

◮ Comprendre les données pour en extraire l’information nécessaire


◮ Comprendre ce que l’on fait, pourquoi on le fait, comment on le fait :
interprétabilité La complexité des données peut être prise en compte par des algorithmes de ML
toujours plus sophistiqués : est-ce toujours la meilleure solution ?
Laurent Oudre IA&ML pour la modélisation de séries temporelles et de signaux 2020-2021 29 / 37 Laurent Oudre IA&ML pour la modélisation de séries temporelles et de signaux 2020-2021 30 / 37

Machine Learning pour les séries temporelles Machine Learning pour les séries temporelles

Importance de la représentation Importance de la représentation

x[n] x[n] |X[k]|2


5 5 0.04

0 0 0.02

-5 -5 0
0 1 2 3 4 5 6 7 8 9 10 0 2 4 6 8 10 -50 0 50
5 5 0.04

0 0 0.02

-5 -5 0
0 1 2 3 4 5 6 7 8 9 10 0 2 4 6 8 10 -50 0 50
5 5 0.04

0 0 0.02

-5 -5 0
0 1 2 3 4 5 6 7 8 9 10 0 2 4 6 8 10 -50 0 50
5 5 0.04

0 0 0.02

-5 -5 0
0 1 2 3 4 5 6 7 8 9 10 0 2 4 6 8 10 -50 0 50
5 5 0.04

0 0 0.02

-5 -5 0
0 1 2 3 4 5 6 7 8 9 10 0 2 4 6 8 10 -50 0 50
5 5 0.04

0 0 0.02

-5 -5 0
0 1 2 3 4 5 6 7 8 9 10 0 2 4 6 8 10 -50 0 50
Time (s) Time (s) Frequency (Hz)

Deux classes de signaux ? Tâche triviale si on travaille dans le bon domaine de représentation

Laurent Oudre IA&ML pour la modélisation de séries temporelles et de signaux 2020-2021 31 / 37 Laurent Oudre IA&ML pour la modélisation de séries temporelles et de signaux 2020-2021 32 / 37
Machine Learning pour les séries temporelles Machine Learning pour les séries temporelles

Principales tâches de ML pour les séries temporelles Tâches cachées

◮ Prédiction : Prédire les valeurs futures d’une série temporelle


◮ Classification : Attribuer une étiquette de label à une série (ou une sous-série)
temporelle ◮ Comprendre les données : savoir d’où elles viennent, comment elles ont été
◮ Complétion/interpolation : Retrouver des données manquantes ou perdues acquises, quelles sont leurs caractéristiques
dans une série temporelle ◮ Modéliser les données : modèles physiques/statistiques ou basés sur de la
◮ Recherche par contenu/indexation : A partir d’une série temporelle source, connaissance métier
retrouver la série temporelle la plus proche dans une grande base de données ◮ Améliorer les données : trouver les bons espaces de représentation où les
(au sens d’une distance adéquate) phénomènes d’intérêt sont visibles, consolider les données (débruitage,
◮ Partitionnement : Former des groupes de séries temporelles ayant des suppression de tendance, détection et suppression de valeurs aberrantes…)
propriétés communes ◮ Extraire de l’information à partir des données : trouver des motifs
◮ Segmentation/détection de ruptures : Trouver des instants de changements répétitifs et des caractéristiques pertinentes
abrupts dans une série temporelle
◮ Détection d’anomalie : Détecter des événements anormaux dans une série
temporelle

Laurent Oudre IA&ML pour la modélisation de séries temporelles et de signaux 2020-2021 33 / 37 Laurent Oudre IA&ML pour la modélisation de séries temporelles et de signaux 2020-2021 34 / 37

Plan du cours Plan du cours

Contents But du cours

1. Présentation du cours Intelligence Artificielle & Machine Learning pour la


modélisation (et la compréhension) de séries temporelles et de
2. Signaux et séries temporelles signaux

3. Machine Learning pour les séries temporelles ◮ Focus sur les tâches cachées : comprendre, modéliser, améliorer et extraire
◮ Algorithmes de ML interprétables et reproductibles : boı̂tes blanches
4. Plan du cours ◮ Méthodes permettant de créer des ponts entre les data scientists et les experts
métier
◮ Toutes ces méthodes permettent ensuite de résoudre facilement toutes les
tâches classiques en ML : prédiction, classification, partitionnement…

Laurent Oudre IA&ML pour la modélisation de séries temporelles et de signaux 2020-2021 35 / 37 Laurent Oudre IA&ML pour la modélisation de séries temporelles et de signaux 2020-2021 36 / 37
Plan du cours

Plan du cours

◮ Séance 1 : Observer et explorer les données


◮ Séance 2 : Modéliser et représenter les données
◮ Séance 3 : Améliorer la qualité des données
◮ Séance 4 : Extraire et sélectionner des caractéristiques
◮ Séance 5 : Extraire et reconnaı̂tre des motifs

Laurent Oudre IA&ML pour la modélisation de séries temporelles et de signaux 2020-2021 37 / 37

Vous aimerez peut-être aussi