Étape par étape aléatoire : Exploration du modèle de marche aléatoire

Dans mon premier cours de statistiques basé sur la programmation à l’université, mon professeur a posé une question : comment pouvons-nous modéliser le mouvement brownien d’une seule particule de pollen dans un plat d’eau ? Après plusieurs tentatives infructueuses, mes camarades de classe et moi avons finalement trouvé la bonne réponse : une marche aléatoire. J’ai ensuite appris que ce modèle simple est utilisé pour modéliser toutes sortes de choses, des mouvements des animaux aux fluctuations des prix des actions.

Dans cet article, nous allons explorer les fondements mathématiques des marches aléatoires, examiner différents types et discuter de leurs applications. Une partie de ce qui rend la marche aléatoire intéressante est qu’elle est utilisée dans de nombreuses disciplines différentes. En plus de mon exemple, en physique, elle aide à décrire le mouvement des particules ; en finance, elle modélise les fluctuations des prix des actions ; et en biologie, elle explique les schémas de mouvement des animaux. Les marches aléatoires capturent le hasard du monde réel, ce qui est essentiel pour simuler des processus stochastiques.

Pour ceux qui cherchent à construire une base solide dans les statistiques qui sous-tendent la théorie de la marche aléatoire, nous recommandons de commencer par le cours Introduction aux statistiques en R ou le cours Introduction aux statistiques en Python.

Qu’est-ce qu’une marche aléatoire?

En théorie des probabilités, une marche aléatoire est un modèle décrivant une séquence de pas aléatoires qui forment un chemin. Autrement dit, une marche aléatoire est un modèle mathématique décrivant un chemin formé par une séquence de pas, chacun déterminé de manière indépendante et avec une certaine probabilité. Cette stochasticité rend les marches aléatoires intrinsèquement imprévisibles.

Imaginez une personne faisant un pas dans une direction aléatoire à chaque instant. Avec le temps, leur chemin forme un sentier imprévisible et sinueux. Malgré sa simplicité, ce concept a une profondeur et une polyvalence surprenantes, modélisant divers scénarios du monde réel impliquant de l’aléatoire.

Une explication conceptuelle d’une marche aléatoire. Image gracieuseté de napkin.ai.

L’idée des marches aléatoires remonte aux premières études de probabilité. L’un des premiers exemples, souvent appelé « la marche de l’ivrogne », illustre comment une personne marchant au hasard errera de manière erratique plutôt que de se déplacer de manière prévisible vers une destination. Cette aléatoire, combinée à l’hypothèse que chaque pas est indépendant des précédents, a posé les bases des modèles modernes de marche aléatoire.

Comprendre les mathématiques des marches aléatoires

Pour comprendre les marches aléatoires, commençons par un cas simple : une marche aléatoire unidimensionnelle (1D).Imaginez une particule sur une ligne numérique. Elle peut se déplacer soit de +1, soit de -1 le long de la ligne numérique à chaque pas. Chaque mouvement est déterminé par une probabilité égale de se déplacer vers la droite ou vers la gauche. Au fil du temps, la position de la particule forme une distribution de probabilité qui se propage, représentant la probabilité de la trouver à différents emplacements.

Ce principe peut être étendu à deux ou trois dimensions. Dans une marche aléatoire à deux dimensions (2D), la particule se déplace sur un plan et peut faire un pas dans l’une des quatre directions cardinales (haut, bas, gauche, droite) avec une probabilité égale. De même, dans une marche aléatoire tridimensionnelle (3D), la particule se déplace dans l’espace et peut faire un pas dans l’une des six directions possibles (haut, bas, gauche, droite, avant, arrière) avec une probabilité égale. Ces marches aléatoires de dimensions supérieures capturent des scénarios encore plus complexes et réalistes.

Une caractéristique définissante des marches aléatoires est leur nature stochastique, ce qui signifie que chaque pas dépend uniquement de la position actuelle et non des pas précédents. Cela en fait un type de processus de Markov – un concept mathématique où l’état futur dépend uniquement de l’état présent, et non de la séquence d’événements qui l’ont précédé. Ce mouvement « sans mémoire », combiné à des distributions de probabilité décrivant les positions potentielles, fournit une base mathématique solide pour comprendre les marches aléatoires.

Nous pouvons analyser un mouvement aléatoire en utilisant des propriétés statistiques pour comprendre son comportement au fil du temps. Cela implique d’examiner des aspects tels que la distance attendue par rapport au point de départ, la distribution de probabilité des positions possibles, et la probabilité de retour à l’origine. Ces analyses nous aident à quantifier le hasard et la prévisibilité, à fournir des informations sur les motifs, et à faire des prédictions.

Propriétés clés des mouvements aléatoires

Les mouvements aléatoires ont plusieurs propriétés importantes qui nous aident à comprendre leur comportement et leurs applications. Voici quelques aspects clés à considérer :

Espérance et variance

Dans un mouvement aléatoire unidimensionnel, nous pouvons calculer la distance attendue (ou position moyenne) par rapport au point de départ au fil du temps. Si chaque étape a une probabilité égale de se déplacer vers la gauche ou vers la droite, la position attendue après de nombreuses étapes reste zéro, ce qui implique qu’en moyenne, le marcheur reste près du point de départ.

Cependant, la variance de la position, qui mesure la dispersion des positions possibles, augmente à chaque étape. Plus précisément, dans une marche aléatoire symétrique, la variance croît linéairement avec le nombre d’étapes, en faisant un indicateur utile de la distance typique par rapport à l’origine au fil du temps.

Autocorrélation

Alors que les marches aléatoires simples n’ont aucune corrélation entre les étapes (chaque étape est indépendante de la précédente), certains types de marches aléatoires introduisent une autocorrélation, où les étapes passées peuvent influencer les futures. Par exemple, dans une marche aléatoire biaisée, les étapes peuvent avoir une légère tendance dans une direction, rendant les positions plus prévisibles.

L’autocorrélation dans une marche aléatoire affecte la manière dont nous modélisons et prédisons la progression de la marche. Cela est particulièrement pertinent dans des applications où le comportement passé influence les étapes futures, comme certains modèles financiers.

Théorème de la limite centrale

Le théorème central limite (TCL) nous dit que la somme d’un grand nombre de variables aléatoires indépendantes a tendance à suivre une distribution normale (ou gaussienne), quelle que soit la distribution initiale. Dans le contexte des marches aléatoires, cela signifie qu’à mesure que le nombre de pas augmente, la distribution des positions tend à ressembler à une distribution normale. Cette propriété est utile car elle nous permet d’approximer la probabilité de trouver le marcheur à certaines distances du point de départ.

Loi des grands nombres

La loi des grands nombres (LLN) explique qu’à mesure que le nombre d’essais ou de pas augmente, la moyenne des résultats converge vers la vraie moyenne. Pour les marches aléatoires, cela signifie que tandis que la position moyenne reste nulle, la variance et la plage des positions possibles augmentent de manière prévisible à chaque étape supplémentaire. Ce principe aide à combler l’écart entre la pure aléatoire et les modèles statistiques prévisibles dans de grands échantillons.

Types de marches aléatoires

Les marches aléatoires varient largement en fonction des règles régissant chaque étape. Ces types influencent le comportement de la marche. Certains sont conçus pour des environnements simples ou structurés tandis que d’autres sont équipés pour des phénomènes réels plus complexes. Explorons quelques-uns des types les plus courants de marches aléatoires.

Marches aléatoires en 1D, 2D et 3D

La dimensionnalité d’une marche aléatoire joue un rôle fondamental dans son comportement. Dans une marche aléatoire en 1D, chaque étape est soit un mouvement vers l’avant, soit un mouvement vers l’arrière le long d’une ligne. Cela rend la marche relativement facile à modéliser et à prédire.

Cependant, lorsque nous passons aux marches en 2D (plan) et en 3D (espace), les chemins possibles augmentent considérablement, introduisant de nouveaux comportements. Par exemple, dans une marche aléatoire en 2D, la probabilité de retourner au point de départ reste élevée, tandis que dans une marche aléatoire en 3D, cette probabilité diminue.

Ce changement est important dans des domaines comme la physique et la chimie, où les particules peuvent diffuser différemment selon les contraintes dimensionnelles.

Marche aléatoire sur réseau

Dans une marche aléatoire sur réseau, le mouvement est confiné à des points discrets sur une grille ou un réseau. Ce type de marche est couramment utilisé en physique et en théorie des réseaux, où les nœuds sont disposés en grille, et le mouvement ne peut se faire qu’entre nœuds voisins.

Un exemple courant est un réseau 2D, où chaque pas permet un mouvement vers des points adjacents sur une grille cartésienne. Cette contrainte simplifie la modélisation en limitant les chemins de mouvement, ce qui est utile lors de la simulation de réseaux complexes ou de structures moléculaires.

Marche aléatoire gaussienne

Dans une marche aléatoire gaussienne, la taille de chaque pas est déterminée par une distribution gaussienne (ou normale). Au lieu de se déplacer d’une distance fixe, la taille du pas varie selon une distribution en cloche, la plupart des pas étant petits et des sauts plus grands occasionnels. Ce type de marche est fréquemment utilisé dans la modélisation financière pour tenir compte de la variabilité des changements de prix des actifs.

Marche aléatoire hétérogène et biaisée

Les marches aléatoires hétérogènes et biaisées permettent une variation dans la direction et la taille des pas en fonction de certaines probabilités. Cette flexibilité les rend plus adaptables aux scénarios du monde réel.

Dans une marche aléatoire hétérogène, la probabilité de se déplacer dans n’importe quelle direction peut changer en fonction de l’emplacement ou des conditions externes. Par exemple, les animaux à la recherche de nourriture peuvent privilégier des zones avec des ressources connues, créant ainsi une marche aléatoire biaisée. Ces marches sont utiles pour étudier des comportements qui dépendent de facteurs contextuels.

Marche aléatoire avec dérive

Dans une marche aléatoire avec dérive, il existe une tendance constante à se déplacer dans une direction. Par exemple, les prix des actions peuvent présenter une tendance globale à la hausse au fil du temps malgré les fluctuations quotidiennes. La dérive dans ces marches représente une force externe ou une tendance influençant le parcours. Ce type est souvent observé en finance, où les modèles intègrent un terme de dérive pour représenter la croissance ou le déclin, offrant une approche plus réaliste pour prédire les prix des actifs et les tendances du marché.

Chacun de ces types de marches aléatoires sert un but unique, offrant différentes façons de modéliser un comportement aléatoire mais structuré. Les contraintes dimensionnelles, la distribution des pas et la présence de dérive ou de biais rendent les marches aléatoires hautement polyvalentes pour la modélisation de données et la simulation à travers les domaines.

Applications du monde réel des marches aléatoires

Les marches aléatoires ne sont pas seulement des constructions théoriques; elles jouent un rôle essentiel dans de nombreuses applications pratiques à travers les disciplines. Explorons comment les marches aléatoires influencent la résolution de problèmes du monde réel dans divers secteurs.

Applications en science des données et en apprentissage automatique

Informatique

Les marches aléatoires sous-tendent plusieurs algorithmes en informatique, tels que l’échantillonnage aléatoire, le parcours de graphes web et la segmentation d’images. Par exemple, l’algorithme PageRank de Google utilise des marches aléatoires pour classer les pages web en fonction de leur pertinence, simulant comment un utilisateur pourrait naviguer aléatoirement entre des liens sur Internet.

Extraction de caractéristiques

Dans l’apprentissage automatique, les marches aléatoires peuvent aider à extraire des caractéristiques en mettant en évidence les relations au sein des points de données. Par exemple, dans l’analyse de réseaux, les marches aléatoires peuvent révéler des clusters ou des communautés, aidant dans des tâches telles que les systèmes de recommandation et l’analyse des réseaux sociaux.

Détection d’anomalies

Les marches aléatoires peuvent également être utilisées pour détecter des anomalies dans des ensembles de données. Par exemple, si des points de données s’écartent de manière significative d’un chemin typique dans un modèle de marche aléatoire, ces points pourraient indiquer des événements inhabituels ou des erreurs dans les données. La détection d’anomalies est particulièrement précieuse dans des domaines tels que la cybersécurité et la détection de fraude.

Simulation de processus stochatiques

Les marches aléatoires simulent des processus stochastiques, ou déterminés de manière aléatoire, permettant aux data scientists de modéliser des phénomènes réels imprévisibles. En simulant des marches aléatoires, nous pouvons obtenir des insights sur des systèmes où la prédiction précise est difficile, comme les modèles météorologiques ou le comportement des clients.

Prévision des séries chronologiques

Dans l’analyse des séries chronologiques, les marches aléatoires constituent la base de certains modèles de prévision, y compris l’hypothèse de marche aléatoire en finance. Ces modèles supposent que les valeurs futures d’une série chronologique dépendent uniquement de la valeur la plus récente, sans corrélation avec les tendances passées.Pour en savoir plus sur la prévision des séries chronologiques, consultez ARIMA pour la Prévision des Séries Chronologiques : Un Guide Complet. De plus, suivez notre cours de Prévision en R avec le professeur Hyndman, qui relie les modèles de marche aléatoire aux méthodes de prévision naïve et saisonnière naïve.

Applications dans d’autres domaines

Finance

L’un des usages les plus notables des marches aléatoires est en modélisation financière, notamment pour prédire les cours des actions. L’hypothèse du marché efficient suggère que les mouvements des prix des actions sont essentiellement aléatoires, car les nouvelles informations sont instantanément absorbées, rendant les prix futurs imprévisibles. Les marches aléatoires peuvent être utilisées pour modéliser les changements de prix des actions au fil du temps, illustrant comment les prix fluctuent sans un chemin prévisible.

Mathématiques

En mathématiques pures, les marches aléatoires fournissent des solutions à des problèmes complexes. Par exemple, elles sont utiles pour résoudre l’équation de Laplace, analyser les réseaux et explorer la combinatoire.

Physique et chimie

Dans les sciences physiques, les marches aléatoires sont cruciales pour modéliser les processus de diffusion, comme la manière dont les molécules se propagent à travers un milieu. Le mouvement brownien, où des particules en suspension dans un fluide se déplacent de manière imprévisible en raison de collisions avec les molécules environnantes, est un exemple classique qui peut être précisément simulé à l’aide de marches aléatoires. C’est en fait ainsi que j’ai appris pour la première fois les marches aléatoires.

Biologie

Les marches aléatoires sont précieuses en écologie pour étudier les schémas de mouvement des animaux. Les animaux à la recherche de ressources semblent parfois se déplacer selon une marche aléatoire, parfois orientée vers des régions contenant des ressources connues. D’autres concepts biologiques, tels que la propagation des populations ou des gènes, peuvent souvent être modélisés avec les principes des marches aléatoires, ce qui facilite la compréhension et la prédiction des changements au sein des écosystèmes.

Cas spéciaux et variantes des marches aléatoires

En plus de la marche aléatoire classique, plusieurs variantes avancées étendent le concept pour s’adapter à des applications spécialisées.

Marches auto-évitantes

Une marche auto-évitante est une marche aléatoire dans laquelle le chemin ne revisite pas les positions déjà franchies. Cette variante est particulièrement utile dans des domaines comme la chimie des polymères, où elle peut modéliser la façon dont les chaînes de polymères se forment sans se croiser. Parce que chaque pas évite les points visités précédemment, les marches auto-évitantes sont plus contraignantes que les marches aléatoires traditionnelles. Cela signifie qu’elles sont un défi computationnel mais utiles pour comprendre les chemins non superposés dans des espaces confinés.

Branchement

Dans les marches aléatoires ramifiées, le chemin peut se diviser en plusieurs branches, chaque branche suivant une marche aléatoire. Ce type de marche est essentiel pour modéliser des processus de ramification tels que la division cellulaire ou la propagation de l’information à travers les réseaux. Chaque « branche » représente un chemin aléatoire indépendant qui provient d’une source commune.

Marches corrélées

Les marches corrélées poussent ce concept un peu plus loin, où la direction de chaque pas est partiellement influencée par le pas précédent. Cette variante est utile pour modéliser l’inertie dans les systèmes où les changements se produisent progressivement plutôt que de manière aléatoire. Les marches corrélées sont souvent appliquées en finance pour simuler les tendances des prix ou en écologie du mouvement pour comprendre comment les animaux naviguent dans leur environnement avec une certaine mémoire de leur direction passée.

Marches effaçant les boucles

Une marche effaçant les boucles est une variante où les boucles, ou les chemins qui se croisent, sont supprimées au fur et à mesure de leur formation. Chaque fois qu’un pas revisite une position, la boucle intermédiaire est effacée, laissant un chemin optimisé et non répétitif. Les marches effaçant les boucles sont couramment utilisées dans l’analyse de réseaux et les algorithmes de génération de labyrinthes car elles créent des chemins qui évitent la redondance.

Implémentation de marches aléatoires en Python

Essayons d’implémenter une marche aléatoire en Python. Pour commencer, assurez-vous d’avoir Python installé (nous utiliserons Python 3.10) et les bibliothèques nécessaires disponibles. Vous pouvez installer les bibliothèques manquantes en utilisant pip. Voici ce que nous allons utiliser :

import numpy as np # pour les opérations numériques et la génération de pas aléatoires import matplotlib.pyplot as plt # pour tracer et visualiser les marches aléatoires

Marche aléatoire 1D

Nous commencerons par une simple marche aléatoire unidimensionnelle, où chaque pas est soit +1 soit -1, choisi aléatoirement.

# Paramètres n_steps = 100 # Nombre de pas # Générer des pas aléatoires : +1 ou -1 steps = np.random.choice([-1, 1], size=n_steps) # Calculer les positions positions = np.cumsum(steps) # Tracer la marche aléatoire plt.figure(figsize=(10, 6)) plt.plot(positions, marker='o', linestyle='-', markersize=4) plt.title("1D Random Walk") plt.xlabel("Step") plt.ylabel("Position") plt.grid(True) plt.show()

Cela génère une simple marche aléatoire et visualise la progression au fil du temps. Voici la sortie lorsque j’exécute ce code :

Maintenant, rappelez-vous, nous exécutons un modèle stochastique. Cela signifie qu’à chaque fois que nous l’exécutons, la sortie aura un aspect légèrement différent.

Marche aléatoire en 2D

Maintenant, étendons la marche aléatoire à deux dimensions. À chaque étape, la direction sera choisie au hasard.

# Paramètres n_steps = 500 # Générer des pas aléatoires dans les directions x et y x_steps = np.random.choice([-1, 1], size=n_steps) y_steps = np.random.choice([-1, 1], size=n_steps) # Calculer les positions x_positions = np.cumsum(x_steps) y_positions = np.cumsum(y_steps) # Tracer la marche aléatoire en 2D plt.figure(figsize=(8, 8)) plt.plot(x_positions, y_positions, marker='o', linestyle='-', markersize=2, label='Random Walk') plt.plot(x_positions[0], y_positions[0], 'ro', markersize=8, label='Start') # Point rouge pour le départ plt.plot(x_positions[-1], y_positions[-1], 'ko', markersize=8, label='End') # Point noir pour l'arrêt plt.title("2D Random Walk") plt.xlabel("X Position") plt.ylabel("Y Position") plt.grid(True) plt.axis('equal') # Assure un même échelonnement pour les deux axes plt.legend() plt.show()

Ce code crée un chemin visuellement engageant en deux dimensions.

Ce type de marche aléatoire en deux dimensions pourrait être modifié pour s’adapter à des applications telles que le mouvement des particules ou la modélisation spatiale.

Marche aléatoire biaisée

Enfin, examinons un exemple légèrement plus complexe : une marche aléatoire biaisée. Pour introduire un biais, nous pouvons ajuster les probabilités de chaque direction de pas. Par exemple, nous pourrions rendre les pas vers le haut plus probables.

# Paramètres n_steps = 100 bias = 0.7 # Probabilité de faire un pas de +1 # Générer des pas aléatoires biaisés dans les directions x et y x_steps = np.random.choice([-1, 1], size=n_steps, p=[1-bias, bias]) y_steps = np.random.choice([-1, 1], size=n_steps, p=[1-bias, bias]) # Calculer les positions x_positions = np.cumsum(x_steps) y_positions = np.cumsum(y_steps) # Tracer la marche aléatoire 2D biaisée plt.figure(figsize=(8, 8)) plt.plot(x_positions, y_positions, marker='o', linestyle='-', markersize=2, label='Random Walk') plt.plot(x_positions[0], y_positions[0], 'ro', markersize=8, label='Start') # Point rouge pour le début plt.plot(x_positions[-1], y_positions[-1], 'ko', markersize=8, label='End') # Point noir pour la fin plt.title("Biased 2D Random Walk") plt.xlabel("X Position") plt.ylabel("Y Position") plt.grid(True) plt.axis('equal') # Assure une mise à l'échelle égale pour les deux axes plt.legend() plt.show()

En modifiant le biais, vous pouvez observer comment la marche a tendance à favoriser une direction particulière, simulant des scénarios réels tels que la dérive des prix des actions ou les modèles de migration animale.

Si nous modifions le paramètre de biais à 0,55, nous pouvons constater une différence significative dans le comportement du modèle. Bien qu’il ait toujours un biais à la hausse, le biais n’est pas aussi fort, ce qui entraîne plus de boucles et de détours.

Conclusion

Les marches aléatoires sont un outil de modélisation précieux pour les data scientists, applicables dans des domaines allant de la physique à la finance et au-delà. Leur capacité à modéliser des processus complexes et stochastiques les rend indispensables dans de nombreux scénarios du monde réel.

Envie de plus ? Découvrez la suite de cours de probabilité et de statistiques de DataCamp. Vous trouverez toutes sortes de super cours en Python et en R. Si vous êtes intéressé par du contenu plus avancé, jetez un œil au cours de DataCamp sur la simulation statistique en Python et au tutoriel Introduction à l’apprentissage automatique. Ou si vous êtes prêt à tester vos connaissances, relevez quelques-uns de ces casse-têtes de probabilité.

Source:
https://www.datacamp.com/tutorial/random-walk