Introduction aux séries temporelles

Quand on veut prédire ou juste analyser l’évolution d’une certaine quantité dans le temps, (Le cours de la bourse par exemple) on est très vite confronté un type de données assez particulier : Les séries temporelles. D’après Wikipédia, une série temporelle est une suite de valeurs numériques représentant l’évolution d’une quantité dans le temps. Pourquoi ce type de données est-il important ? Qu’est-ce qu’il a de spécial ?

Intérêt de séries temporelles

L’importance des séries temporelles vient de son omniprésence. En effet, dans presque tous les domaines on les retrouve. Que ce soit en finance, en marketing, en traitement du signal, en physiques, etc on peut avoir affaire à des SE.

De plus, il est intéressant de regarder les séries temporelles de prêt car elles sont sujettes à bon nombres de théories mathématiques, statistiques et, plus récemment d’intelligence artificielle. Toutes ces théories nous offrent une panoplie d’armes pour attaquer sereinement les problèmes faisant intervenir les séries temporelles.

Exemples de problèmes

Bourse

L’exemple le plus célèbre est sans doute la prédiction du cours de la bourse. On connaît la valeur d’une action en temps réel (ainsi qu’un enregistrement des  valeurs précédentes) et on veut prédire la valeur qu’aura l’action dans le futur. Si on arrivait à prédire assez sûrement l’évolution du cours des actions de la bourse (qui est très aléatoire), on pourrait se faire gros paquet de frique tout simplement 😉 .

Vente – Production – Distribution

Supposons que nous sommes une boulangerie. Nous avons un enregistrement sur un an de nos ventes journalières et nous voulons savoir combien il faut produire de baguettes pour les différentes périodes de la nouvelle année afin de minimiser les pertes. Pour cela, nous allons analyser notre enregistrement et implémenter un modèle de prédiction sur la série temporelle « Vente en fonction du temps ».

À quoi ressemble une série temporelle ?

Il existe plein d’outils Pythons qui facilitent la manipulation de séries temporelles. Regardons comment on peut en créer une.

# Import des modules utiles
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt

# Génération de série aléatoire
# On génère une série de 100 nombres ayant pour moyenne 10 et pour écart-type 5
distrib = np.random.randn(100)*5+10

# On construit la série en fournissant distrib au constructeur Series
st = pd.Series(distrib)
print("Moyenne = {}".format(st.mean()))
print("Écart-type = {}".format(st.std()))

# Graph
plt.plot(st)
plt.xlabel("Unité de temps")
plt.ylabel("Quantité étudiée")
plt.title("Série temporelle")
plt.show()

On obtient le graphe suivant :

 

Vous l’aurez compris, on peut créer une série temporelle avec Pandas à partir de n’importe quel suite de valeurs numériques.

Caractéristiques d’une série temporelle

Lorsqu’on a affaire à une série temporelle, il est important de s’attarder sur son comportement en se posant ces questions :

  • Y-t-il une tendance (trend en anglais) ? C’est-à-dire est-ce que la série temps à croître ou à décroître. Exemple :
  • Y a-t-il une saisonnalité ? Observe-t-on une sorte de répétition d’une certaine forme ? Exemple :

  • Y a-t-il des outliers (Valeurs aberrantes) ? Y a-t-il de points très éloignés de la distribution ?

Prédiction sur les séries temporelles

Il y a plusieurs manières d’approcher le problème de prédiction de séries temporelles. En effet, on peut voir la série temporelle comme un processus stochastique, comme un signal dont on peut faire l’étude spectrale ou même faire du Machine Learning.

Dans la suite de la série on introduira différents modèles pour faire de la prédiction sur les séries temporelles.

 

1 réflexion sur “Introduction aux séries temporelles”

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.