Académique Documents
Professionnel Documents
Culture Documents
TELECOMMUNICATIONS
Recherche bibliographique :
Machine learning pour la prédiction
météorologique
Auteur : Encadrant :
Mlle. ELHASSANI Zineb Mr. EL ISSATI Oussama
Mr. FADEL Yassine Mme. EL HADBI Assia
5 juin 2022
Remerciement
Nous remercions tout d’abord tout le personnel de l’institut de l’institut national des postes
et télécommunication pour leur aide de près ou de loin. Nous tenons à remercier également nos
chers professeurs, Monsieur EL ISSATI OUSSAMA et Madame EL HADBI ASSIA pour leur
disponibilité, leurs conseils, leur encadrement et leurs explications ainsi que la confiance qu’ils
nous ont accordée durant toute l’année.
1
Resumé
Ce travail est une recherche bibliographique qui s’intéresse au machine learning appliqué
à la prédiction de météo. Dans un premier lieu nous avons traité brièvement l’historique de
la météorologie depuis l’antiquité jusqu’à présent. Ensuite, nous avons évoqué les techniques
utilisés actuellement en prévision météorologique. Puis, nous avons défini le machine learning
et parlé de ses différents algorithmes en mettant la lumière sur l’importance de l’algorithme
ANN (Artificial Neural Network) dans notre application qui est la prédiction de météo.
2
Abstract
This work is a bibliographic research that focuses on machine learning applied to weather
prediction. In the first place we briefly treated the history of meteorology from antiquity to the
present. Then, we discussed the techniques currently used in weather forecasting. Then, we de-
fined machine learning and talked about its different algorithms, highlighting the importance of
the ANN (Artificial Neural Network) algorithm in our application, which is weather prediction.
3
Table des matières
Remerciement 1
Resumé 2
Abstract 3
Introduction 7
1 La prévision de météo 8
1.1 L’historique de la météorologie . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
1.2 Techniques de prévision actuelles . . . . . . . . . . . . . . . . . . . . . . . . . . 10
1.2.1 Analyse du prévisioniste . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
1.2.2 Prévision numérique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
1.2.2.1 Analyse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
1.2.2.2 Simulation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
1.2.2.3 Post-traitement . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
1.2.3 prévision finale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
2 Machine learning 13
2.1 Défintion du machine learning . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
2.2 Développement d’un modèle machinelearning . . . . . . . . . . . . . . . . . . . . 14
2.2.1 Selection des données entraînement . . . . . . . . . . . . . . . . . . . . . 14
2.2.2 Selection de l’algorithme . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
2.2.3 Entraînement de l’algorithme . . . . . . . . . . . . . . . . . . . . . . . . 14
2.2.4 Test et validation de l’algorithme . . . . . . . . . . . . . . . . . . . . . . 15
2.3 Machine learning une solution pertinente . . . . . . . . . . . . . . . . . . . . . . 15
4
3 Catégories du machine learning 16
3.1 Machine learning supervisé . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
3.2 Machine learning non-supervisé et semi-supervisé . . . . . . . . . . . . . . . . . 17
3.2.1 Machine learning non-supervisé . . . . . . . . . . . . . . . . . . . . . . . 17
3.2.2 Machine learning semi-supervisé . . . . . . . . . . . . . . . . . . . . . . 18
3.3 Machine learning par renforcement . . . . . . . . . . . . . . . . . . . . . . . . . 19
Conclusion 33
Bibliographie 34
5
Table des figures
6
Introduction
7
Chapitre 1
La prévision de météo
La vie et le travail de bien des gens dépendent de la météorologie. Les devins de l’âge
de pierre et les prêtres de l’antiquité ont essayé de prédire le temps qu’il ferait pour pouvoir
obtenir de bonnes récoltes, éviter les inondations, etc. Dès l’Antiquité, on compose en Chine
un ouvrage sur la météorologie qui comprend également des prévisions, le Nei Jing Su Wen.
En 650 av. J.-C., les babyloniens avaient déduit le temps qu’il ferait grâce à l’observation des
types de nuages et autour de 340 av. J.-C., Aristote décrivait les patrons météorologiques[6].
Les anciennes méthodes de prévision du temps étaient toutes basées sur l’expérience
d’évènements en un endroit. Par exemple, les marins arrivaient à prédire la venue d’une tempête
à l’arrivée de nuages s’épaississant. Ceci donna lieu à une multitude de dictons tels : Si le soleil
se couche tout rouge, il fera beau demain, certains confirmés par la science moderne et d’autre
purement anecdotiques.
Les explorateurs ont depuis longtemps noté dans leurs carnets le temps qu’il faisait et
8
ces données auraient pu donner lieu à des prévisions mais c’est seulement avec la venue du
télégraphe, en 1837, que ces informations ont pu être colligées rapidement afin de se faire une
idée précise à un instant donnée de l’état de l’atmosphère. En analysant ces données sous forme
de carte, les premiers météorologistes ont pu voir le déplacement temporel des systèmes et faire
des extrapolations.
9
1.2 Techniques de prévision actuelles
1.2.2.1 Analyse
L’assimilation des données que le programme compare à sa plus récente prévision pour
le même temps. Les différences entre la prévision et l’analyse sont calculées et un lissage entre
les deux est fait. Si une donnée d’observation est trop éloignée de la prévision, elle est rejetée.
10
En effet, elle est probablement mauvaise et causerait une instabilité dans le nouveau calcul de
prévision. Cette méthode est appelée l’analyse variationnelle à trois dimensions ou 3D-VAR 1 .
Une nouvelle méthode pour faire cette analyse est de lancer le programme pour prévoir
une certaine période (3 heures), ajuster les observations qui sont entrées avant et après l’heure
d’analyse à cette simulation et revenir au temps initial pour refaire l’analyse. C’est ce qu’on
appelle l’analyse variationnelle à 4 dimensions ou 4D-VAR.
1.2.2.2 Simulation
1.2.2.3 Post-traitement
Il arrive souvent que différents modèles suggèrent différentes solutions. Cela est dû à
la façon dont les équations de l’atmosphère sont intégrées dans un modèle, à sa résolution et
à l’état de l’atmosphère qui est parfois très instable et susceptible de grands changements à
partir de petites variations de l’analyse initiale . Le prévisionniste compare son scénario avec
1. Modélisation des erreurs de prévision météorologique François Bouttier
11
les résultats obtenus par le ou les modèles numériques. Il peut ainsi se faire une idée des forces
et des faiblesses des solutions qu’ils proposent et choisir la meilleure.
L’expérience des effets locaux et du comportement récent de l’atmosphère permet aux
prévisionnistes d’affiner la prévision à court et moyen terme. Il peut également changer le dé-
but de la prévision en modifiant les conditions de départ, ou espérées à court terme, pour des
endroits particuliers que le modèle n’a pas pu prévoir (prévision immédiate). Il utilise pour cela
les images satellitaires, celles des radars météorologiques, ainsi que toute autre donnée récente.
Pour conclure, on peut dire que la prévision de météo a connu un grand changement
et s’est beaucoup développée. Or, avec le changement climatique incontrôlable il s’avère encore
nécessaire d’utiliser des méthodes encore plus avancés pour prédire la météo. En effet, L’utilisa-
tion de techniques d’apprentissage automatique simples nous permet d’être soulagés des modèles
météorologiques complexes et gourmands en ressources de stations météo traditionnelles.
12
Chapitre 2
Machine learning
13
2.2 Développement d’un modèle machinelearning
14
résultats obtenus peut être amélioré par l’ajustement du biais et les poids. Le modèle machine
learning est l’algorithme entraîné.
Le modèle du machine learning devra être évaluer pour le valider en utilisant des nouvelle
datasets qu’on appelle les données de validation. Ceci permet de tester la précision du modèle
conçu, ainsi que l’identification des critères du succès du modèle en fonction de ce que le modèle
est censé accomplir est incontournable pour justifier la corrélation.
L’apprentissage automatique est massivement utilisé dans les domaines de l’analyse des
données et la Data Science. Il a comme avantage la facilité de développer, d’évaluer et d’exécuter
des algorithmes d’analyse capables de faire la prédiction et applicables sur différents type de
données afin de prévoir le future. Ainsi, l’automatisation du processus de développement des
modèles d’analyse permet d’améliorer la vitesse d’analyse et augmenter sa vitesse. En absorbant
les données à l’entrée, les algorithmes affranchirent comme résultats des généralisations sous
forme des inférences statiques, et ils peuvent se bonifier d’une façon autonome au cours du
temps. Si un changement dans les données est diagnostiqué, l’algorithme est capable de décider
ce qu’il faut faire sans aucune intervention de l’être humain. Cependant, un être humain est
toujours nécessaire pour examiner les résultats des analyses faite par les algorithme du machine
learning, ou encore donner de sens à ces résultats, et de garantir que les données de traitement
ne soient pas biaisées ou affectées.
15
Chapitre 3
Les technologies machine learning supervisé sont des technologies élémentaires mais
strictes. Dans le machine learning supervisé, chaque algorithme est conçu et formé par des
scientifiques de données dotés de compétences en apprentissage automatique ( Machine lear-
ning), et l’algorithme construit un modèle mathématique à partir d’un ensemble des données
étiquetées qui contient à la fois les entrées et les sorties souhaitées. Le data scientist est chargé
de déterminer les variables ou caractéristiques que le modèle mathématique doit analyser et
utiliser pour développer des prédictions.[2]
16
Figure 3.2 – Machine learning supervisé
Pour produire une fonction déduite, l’algorithme doit analyser un échantillon ou des
« données d’apprentissage », et le processus de validation d’un modèle mathématique est appelé
« apprentissage ». Après que l’apprentissage est terminé, l’algorithme appliquera ce qui a été
appris aux nouvelles données.
Le machine learning supervisé est couramment utilisé pour faire des prédictions sur
des données indisponibles ou futures (on parle alors de "modélisation prédictive"). L’appren-
tissage automatique supervisé utilise des modèles pour prévoir les valeurs sur des ensemble de
données supplémentaires grâce à des technologies de modélisation. Les algorithmes liés à la
classification et à la régression utilisent cette catégorie d’apprentissage.
Le machine learning supervisé peut se subdiviser en deux types :
1. Classification : les variables de sortie sont regroupées sous forme des catégories.
2. Régression : la variable de sortie est une valeur spécifique.
Les principaux algorithmes du machine learning supervisé sont les suivants : forêts
aléatoires, arbres de décision, algorithme K-NN (k-Nearest Neighbors), régression linéaire, algo-
rithme de Naïve Bayes, machine à vecteurs de support (SVM), régression logistique et boosting
de gradient.
Dans le cadre du machine learning non supervisé, les données ne sont pas annotées ou
non étiquetés. L’algorithme d’entraînement s’applique dans ce cas à trouver seul les similarités
et les distinctions au sein de ces données, et à regrouper ensemble celles qui partagent des
caractéristique communes. C’est à dire, l’algorithme détermine lui-même la structure de l’entrée
(aucune étiquette n’est appliquée à l’algorithme). Cette approche peut elle-même être une fin en
soi, qui permet de découvrir des structures enfouies dans les données, ou un outil pour atteindre
17
un certain objectif. On appel cette approche «l’apprentissage des caractéristiques» qui cherche
à regrouper les données en des groupe de données ayant des caractéristiques commun.[2]
L’apprentissage semi-supervisé est utilisé pour les mêmes objectifs que l’appren-
tissage supervisé. L’apprentissage semi-super utilise à la fois des données étiquetées et non-
étiquetées pour s’entraîner. En règle générale, la quantité des données non-étiquetées utilisées
est plus importante par rapport à la quantité des données étiquetées. Cela reviens au fait que
les données non étiquetées sont moins chères et plus faciles à obtenir. Ce type d’apprentis-
sage peut être utilisé avec des méthodes comme la classification, la régression et la prédiction.
L’apprentissage semi-supervisé est utile quand les coûts associés à l’étiquetage sont trop élevés
pour permettre un processus d’apprentissage entièrement étiqueté. Il est par exemple utilisé
pour identifier le visage d’une personne sur une webcam. L’apprentissage semi-supervisé vise à
intégrer des données non étiquetées et étiquetées afin de créer des modèles du monde meilleurs
et plus précis. L’apprentissage semi-supervisé tente de combiner des données non étiquetées
et étiquetées (ou, plus généralement, des ensembles de données non étiquetées dans lesquelles
seuls certains points de données ont des étiquettes) dans des modèles intégrés[2].
18
Figure 3.4 – Machine learning semi-supervisé
La machine (l’agent) est entraînée à prendre les décision les plus pertinentes grâce
à un processus itératif de nombreuses itération. L’algorithme découvre par essais et erreurs au
cours de nombreuses tentatives quelles actions rapportent les plus grandes récompenses. Les
étapes qui produisent des résultats positifs sont récompensées et les étapes qui produisent des
résultats négatifs sont pénalisées. Par la suite, l’apprentissage par renforcement comprend la
19
séquence de décisions et agit comme si un jeu était joué.
Alors, l’apprentissage automatique par renforcement est utilisé pour apprendre à un
agent comment se comporter dans un environnement qui peut être réel ou virtuel. Les données
entraînement proviennent directement de cet environnement par son interaction avec l’agent,
ce qui permet à l’agent de construire petit à petit son propre jeu de données. Et c’est ça ce
qui fait la différence entre l’apprentissage par renforcement et les autres types d’apprentissage.
C’est ce qui permet à l’agent d’apprendre un comportement qui est capable de maximiser le
nombre des récompenses données par l’environnement par essaie et erreurs.
Les deux types du machine learning par renforcement les plus connues sont :
1. Monte Carlo : le programme ne reçoit ses récompenses qu’à la fin de son état «terminal» ;
2. Machine learning par différence temporelle (TD) : les récompenses sont accordées évaluées
et à chaque étape.
Parmi les principaux algorithmes du machine learning par renforcement on cite :
Q-learning, Deep Q Network (DQN) et SARSA (State-Action-Reward-State-Action).
20
Chapitre 4
«Un algorithme est une séquence d’actions qui s’exécutent pour résoudre un pro-
blème, effectuer un réglage, etc. L’informatique utilise des algorithmes pour décrire les étapes
détaillées nécessaires à l’exécution d’une opération. Le machine learning utilise de nombreux
types d’algorithmes (en plus de ceux énumérés ci-dessus)».
Le choix de l’algorithme à utiliser dépend de degré de la complexité et le type de
problème qu’on souhaite à résoudre. Il peut, par exemple, être un algorithme de clustering
(pour un problème de regroupement des données) ou un algorithme de régression (pour prévoir
une sortie sous forme de valeur réelle).
21
décision prendre ces décisions.[1]
D’une autre façon l’arbre de décision est une représentation graphique qui nous
permet de prendre une décision ou de trouver une solution bien déterminée, en fonction des
caractéristiques des données d’entrée, qui vas nous servir à résoudre un problème donné. À
cause de sa structure arborescente, qui commence par un nœud racine et qui se développe sur
des branches, cet algorithme a été nommé arbre de décision.
Dans la majorité des cas, l’algorithme utilisé pour construire un arbre de décision est
l’algorithme CART, qui signifie Classification and Regression Tree Algorithm. Le diagramme
ci-dessous explique la structure générale d’un arbre de décision :
Selon le graphe précédent, l’arbre de décision est composé de quatre principale com-
posantes :
1. oot Node : ou le nœud racine, c’est le point où l’arbre commence. Il contient l’ensemble
de données complet.
2. Leaf Node : ou nœud feuille, c’est le dernier nœud sur chaque branche. Il représente la
décision finale de l’arbre.
3. Sub-tree : ou sous-arborescence, c’est le résultat formé à cause de la division de l’arbo-
rescence.
4. Parent/Child Node(Noeud parent/enfant) : le nœud parent est le nœud racine, les
autre nœuds s’appellent des nœuds enfants.
L’algorithme de l’arbre de décision peut être utilisé dans plusieurs domaines parmi
lesquels on cite : grande distribution, finance, produits pharmaceutiques, etc. Le principe c’est
que « La machine se contente d’établir l’arborescence de divers résultats qui peuvent ou ne
peuvent pas se produire, et suit chaque événement jusqu’à sa conclusion naturelle tout en
22
calculant toutes les probabilités des événements pouvant se produire ».
Par exemple, une banque pourra utiliser des algorithmes d’arbre de décision pour
décider si elle finance tel ou tel emprunt. Les compagnies pharmaceutiques utilisent ces algo-
rithmes pendant leurs tests pour calculer la probabilité des effets secondaires et le coût moyen
du traitement.[3]
Comme le nom indique, l’algorithme des forêts aléatoires est un classificateur com-
posé par plusieurs arbre de décision, ces arbres sont appliqués sur des sous-ensemble homogène
de l’ensemble de données principale. Pour faire une prévision, le random forest s’appuyer sur
23
la comparaison des décisions de l’ensemble des arbres. Et basant sur les votes majoritaires
des prédiction, l’algorithme prendra sa décision qui représente sa sortie finale. La précision de
l’algorithme random forest augmente avec le nombre d’arbre de décision qu’il utilise, ainsi la
performance s’améliore ce qui permet d’éviter les problèmes de sur-ajustement de l’algorithme.
Par exemple, on dispose de 1 000 observations sur une population, avec 10 variables.
Pour construire le modèle CART à utiliser, l’algorithme de forêt aléatoire va prendre un échan-
tillon aléatoire de 100 observations et 5 variables au hasard. L’algorithme répète ce processus à
de nombreuses reprises, puis il fait une prédiction finale sur chaque observation. La prédiction
finale n’est qu’une fonction correspondant à la somme des différentes prédictions.
24
Figure 4.3 – Illustration d’un algorithme de K-means clustering dans le csa de K=3[1]
En bref, K-means clustering est un algorithme itératif qui fonctionne en deux phase,
la première c’est d’affecté les points aux centres le plus proche, et la deuxième s’agit de dépla-
cement du centre à la moyenne du cluster par le calcul du centre de gravité.
Le choix idéal du nombre K de cluster est primordial pour améliorer la précision de
cet algorithme. Dans ce cadre, plusieurs méthodes peuvent être appliquées dont la méthode la
plus connue est la méthode d’Elbow. Cette dernière consiste à tracer l’évolution du coût du
modèle (volume du cluster) en fonction du nombre du clusters, et détecter dans ce graphique
la zone de coude à partir de laquelle la variance ne baisse plu significativement. Cette zone
indique le point d’Elbow correspond au nombre du cluster optimale, celui qui réduit au max le
cout du modèle en conservant le nombre approprié du cluster.[4]
25
4.2.4 L’algorithme ANN
Les réseaux neurones artificiels sont des méthodes d’apprentissage supervisé et non
supervisé qui tentent d’imiter la pensée humaine par la modélisation simplifiée des systèmes
neuronaux du cerveau de l’homme. L’intention n’est pas de modéliser le mécanisme exact du
fonctionnement biologique des cellules neurales dans le cerveau ni de créer un clone biologique.
Au lieu de cela, la biologie n’est que la source d’inspiration. L’élément de traitement unitaire est
un modèle simple appelé neurone. Chaque neurone est fondamentalement une fonction pouvant
recevoir plusieurs entrées et ne produire qu’une sortie. La combinaison de plusieurs neurones
en un réseau de neurones est-ce que nous avons appelé réseau de neurones artificiels
26
Chapitre 5
5.1 Introduction
27
5.2 Fonctionnement de l’algorithme
Un reseau de neurons est composé des élèments quivants : Les couches d’entrée,
les couches cachées, la couche de sortie, un ensemble de poids et de biais à chaque niveau de
neurons, une fonction d’activation pour chaque couche cachée de neurons, une fonction de perte
qui fournit un "surentraînement" du réseau de neurons.[5]
28
de corriger l’erreur en modifiant certaines valeurs. C’est ce qu’on appelle la rétropropagation et
elle simule ce que les gens font lorsqu’ils effectuent une tâche en utilisant une approche itérative
d’essais et d’erreurs.
Après avoir effectué ce processus plusieurs fois, le réseau de neurons commence à
s’améliorer (apprendre) et à fournir de meilleures réponses. Chacune de ces itérations est appelée
une époque. Ce nom fonctionne plutôt bien car il faut parfois des jours ou des semaines pour
dispenser une formation pour apprendre des tâches complexes.
Un point important à souligner à ce stade est que même si cela peut prendre des
jours ou des semaines pour former un réseau de neurons après l’entraînement, nous pouvons le
dupliquer avec peu d’effort en copiant la topologie, les poids et les biais du réseau formé.
Le réseau est d’abord initialisé en mettant tous ses poids en des petits nombres aléa-
toires - disons entre -1 et +1.
29
Ensuite,le modèle d’entrée est appliqué et la sortie calculée (c’est appelée passe
avant). Le calcul donne une sortie qui est complètement différent de ce que vous voulez (la
cible), puisque tous les poids sont aléatoires. Nous calculons ensuite l’erreur de chaque neurone,
qui est essentiellement : Cible – Sortie réelle. Cette erreur est ensuite utilisée mathématiquement
pour modifier les poids de manière à ce que l’erreur diminue. En d’autres termes, la sortie de
chaque neurone se rapprochera de sa cible (cette partie s’appelle la passe inverse. Le processus
est répété à nouveau et encore jusqu’à ce que l’erreur soit minime.[5]
5.3.1 La rétropropagation
2. Propagation vers l’arrière des sorties d’activation de la propagation via le réseau de neu-
rons à l’aide de la formation la cible du motif afin de générer les deltas de toutes les
sorties et les neurons cachés.
1. Multiplication de son delta de sortie et son activation d’entrée pour obtenir le gradient
du poids.
30
pourquoi le poids doit être mis à jour dans le sens opposé. Il faut répéter les phases 1 et
2 jusqu’à ce que les performances du réseau soient entraîné. Une fois le réseau entraîné il
fournira le sortie pour n’importe quel modèle d’entrée.
Il s’agit de la fonction logicielle qui détermine si l’information passe ou est arrêtée par
le neurone individuel. C’est une fonction qui transforme le signal d’entrée vers le neurone de
manière utile. La fonction d’ activation décide si un neurone doit être activé ou non en calculant
la somme pondérée et en ajoutant un biais avec elle. Le but de la fonction d’activation est
d’ introduire une non-linéarité dans la sortie d’un neurone ce qui la rend capable d’apprendre
et d’effectuer des tâches plus complexes.
Les fonctions d’activation présentent généralement trois intervalles :
— En dessous du seuil, le neurone est non-actif (souvent dans ce cas, sa sortie vaut 0 ou -1) ;
— Aux alentours du seuil, une phase de transition ;
— Au-dessus du seuil, le neurone est actif (souvent dans ce cas, sa sortie vaut 1).
Des exemples classiques de fonctions d’activation sont :
— La fonction sigmoïde ;
— La fonction tangente hyperbolique ;
— La fonction de Heaviside.
31
les poids affectent la pente de la courbe de la fonction d’activation, le biais déplacera toute la
courbe vers la droite ou la gauche. Les choix de pondérations et de biais déterminent la force
des prédictions des neurons individuels. La formation du réseau neuronal implique l’utilisation
des données d’entrée pour affiner les pondérations et les biais.
32
Conclusion
33
Bibliographie
[1] <https://www.javatpoint.com/k-means-clustering-algorithm-in-machine-learning/
>.
[2] <https://www.talend.com/fr/resources/what-is-machine-learning//>.
[3] <https://datascientest.com/>.
[4] <https://www.educba.com/machine-learning-algorithms/>.
[5] Saswata Ghoshb Abhishek Anandc Kumar Abhisheka, M.P.Singha. Weather forecasting
model using Artificial Neural Network. Procedia Technology, 2012.
34