Transcript 6.Séries temporelles
Time Series Séries Chronologiques
Georges GARDARIN 1
PLAN
Définition Objectifs Opérations de base Opérations avancées Codage Application 2
1. Définition
L’analyse des séries temporelles s’intéresse à la « dynamique » d’une variable La suite d’observations (yt, tЄT) d’une variable y à différentes dates t est appelée série temporelle. Habituellement T est dénombrable, de sorte que t=1…T.
Importance de la dimension temporelle La périodicité de la série n’importe pas 3
D'après Wikipedia
Une
série temporelle
numériques est une suite de représentant l' évolution valeurs d'une quantité spécifique au cours du temps . De telles suites de valeurs peuvent être exprimées mathématiquement afin d'en analyser le comportement , généralement pour comprendre son évolution passée et pour en prévoir le comportement futur . Une telle transposition souvent des concepts mathématique utilise le plus de probabilités et de statistique .
4
Exemples
Une série temporelle est donc toute suite d’observations, à des instants plus ou moins réguliers, correspondant à la même variable Exemples Economie : ventes d’une entreprise, Nombres d’employés, Revenus d’un individu Finance : cours d'une action, volume vendu, moyenne des ventes, options Ecologie : Températures, pressions, pluviométrie, Heures de soleil, vitesse du vent Automobiles : trajectoires, vitesses, angles, capteurs 5
Une série simple
TEMPS VARIABLE 1 10 2 11 3 15 4 12 5 16 6 13 7 9 8 8 9 9 10 6 Temps
6
Représentation graphique
7
2. Objectifs
Prévoir les valeurs futures Relier les variables Déterminer la causalité Étudier des anticipations des agents Repérer les tendances et cycles Corriger des variations saisonnières Détecter les chocs structurels Contrôler les processus 8
De manière plus précise
Trouver des tendances Linéaire : y = a*t + b [+ e ] Exponentielle : y = k*a**t [+ e ] Logistique : y = k / (1+e**(b-at)) [+ e ] Hyperbolique : y k/t [+ e ] [+ e ] est l'écart (variation accidentelle) Comparer deux time series Définir des distances significatives Conserver les patterns 9
Les tâches du Data Mining
Trouver des séries similaires Trouver en base la série la plus proche d'une série donnée Classer automatiquement en N groupes de séries similaires Classer dans des classes prédéfinies par un expert Résumer des séries de N points (N très grand) en n points (n< Changement d'unité de temps rollup ($group_size, $map_function ) extend ($group_size) Opérations arithmétiques substract(TimeSeries $sub) add(TimeSeries $sub) multiply(TimeSeries $sub) Map($map_function) Opérations scalaires Scale(float k) Plus(float k) 11 filter($comparator, $value) série de bits en résultat (bitmap) map($fun) Projection généralisée union ($NTS), intersection, difference De bitmaps ou de multi séries join ($NTS) S'applique aux multi séries 12 Multi séries 1 2 3 4 5 6 7 10 20 17 16 15 11 10 20 45 55 32 30 19 15 Jointure de 1 2 3 4 5 6 7 1 2 3 4 5 6 7 10 20 17 16 15 11 10 20 45 55 32 30 19 15 13 1 2 3 4 {10, 20, 50} {} {17, 18} {16} 5 7 {} 6 {10, 11, 15, 11} {10} Similaires aux séquences … 14 moment($window) Calcul de la série variation sur N jour d'une série en relatif % (Momentum) centrer() Calcul de la série centrée autour de 0 à partir d'une série reduire() Calcul de la série réduite par écart type normer() = centrer() + réduire() Elimine le facteur d'échelle pour comparer 15 TEMPS VARIABLE 1 10 MM 1 MM 3 2 11 10 10 11,5 10,5 3 15 4 12 5 16 6 13 7 9 13 12 13,5 12,6 14 14,3 14,5 13.6 11 12,6 8 8 8,5 10 Donne une tendance Exemple : MM 30 en bourse Moyenne mobile exponentielle Privilégie les dernières valeurs En pondérant par (1 )**n, n étant le n° jour précédent 9 9 10 6 8,5 8,6 7,5 8,16 16 Fenêtre de taille $Win Exemples : Relative Strength Index Rsi = hausse /(hausse+baisse) Momentum Mom = delta[j] – delta[j-$win] / valeur[$j] Tendance linéaire Trend = pente droite moindres carrés Moyenne Mobile Exponentielle Xavg = moyenne avec poids (1 α) **N pour jours (j-N) 17 TEMPS Variable 1 2 Tumbling 2 4 2, 4, 6 3 6 Sliding 4 5 6 7 8 8 10 12 14 8, 10, 12 8 14, 8, 9 9 9 10 6 10, ... 2, 4, 6 4, 6, 8 6, 8, 10 8, 10, 12 ……………. 18 Window-variable: Bound to the sequence of items from the binding sequence that comprise the window. Start-item: (Optional) Bound to the first item in the window. Start-item-position: (Optional) Bound to the ordinal position of the first window item in the binding sequence . Start-previous-item: (Optional) Bound to the item in the binding sequence that precedes the first item in the window (empty sequence if none). Start-next-item: (Optional) Bound to the item in the binding sequence follows the first item in the window (empty sequence if none). that End-item: (Optional) Bound to the last item in the window. End-item-position: (Optional) Bound to the ordinal position of the last window item in the binding sequence . End-previous-item: (Optional) Bound to the item in the binding sequence that precedes the last item in the window (empty sequence if none). End-next-item: (Optional) Bound to the item in the binding sequence follows the last item in the window (empty sequence if none). that 20 for tumbling window $w in //closing start $first next $second when $first/price < $second/price end $last next $beyond when $last/price > $beyond/price return Permettent des classifications et des recherches de patterns plus efficaces Sont munis d'une fonction de distance significative (borne min, préservation de similarité, structure, …) Plusieurs techniques proposées Discrete Fourier Transform Discrete Wavelet Transform Picewise Linear Model Picewise Constant Model Symbolic Representation Autoregressive Model 22 Transforme le domaine du temps en fréquence La série est vue comme une fonction discrétisée somme de sinusoïde Remplace la série de N points par K coefficients avec K très inférieur à N Conserve de bonnes propriétés de distance : transfo. linéaire de C N =>C N Algorithmes efficaces pour calculer la DFT Amplitude et Phase des sinusoîdes 23 Représentation générale AR(p) : ε t est une source d'aléatoire appelé bruit blanc. Propriétés : 1. E( εt) = 0 2. E( εt 2 )) = σ 2 3. E( εt * εt)) = 0 Cas particulier : modèle régression linéaire i = 0 pour i>1 24 Approximation par découpage en périodes de temps fixe Réduction de N points à w par approximation linéaire Possibilité de mapper les coefficients Ci sur des lettres a, b, c, … en divisant la variable y centrée-réduite en intervalles équi-probables (Lin et. al. = modèle SAX) 25 Vecteurs de dimensions élevées Réduire les dimensions Techniques classiques (seuils, Latence, …) Fenêtres : réduire à des fenêtres "sautantes" Utiliser un modèle (ex: premiers coefs de DFT) Comparer des symboles (ex: +, -, =) Permet l'application des techniques classiques Classification supervisée ou non 26 Aider l'investisseur à choisir Trouver des actions similaires ou différentes Définir et valider des stratégies Calculer des indicateurs Analyser les dépêches 27 NOM CODE COURS PER BNA BNA1 RECO REND DETTA FONPA varchar(20) char(5) decimal(7,2) decimal(5,2) decimal(5,2) decimal(5,2) decimal(5,2) decimal(5,2) decimal(7,2) decimal(7,2) Désignation Code caractères Dernier cours ajusté Price Earning Ratio Bénéfice Net par Action Bénéfice Net par Action année +1 Recommandation des analystes de 0 à 5 Rendement distribué Dette par action Fonds propres par action 28 CODE DATE OPEN HIGH LOW CLOSE char(8) date decimal(7,2) decimal(7,2) decimal(7,2) decimal(7,2) VOL AJUSTE int decimal(7,2) Code de l’action Date d’observation Cours d’ouverture Cours le plus haut Cours le plus bas Cours de fermeture (dernier) Volume Cours ajusté (div.s) 29 30 CODE MOM5 MM20 MM50 MACD RSI14 ADV10 ROC10 char(5) int decimal(7,2) decimal(7,2) decimal(7,2) decimal(7,2) decimal(7,2) decimal(7,2) Code de l’action Momentum 5 = Variation relative sur 5 jours Moyenne mobile 20 Moyenne mobile 50 Ecart entre moyennes mobiles 100-(100/(1+RS)) avec RS = Σgains hausse/ Σperte baisse Σ (Volume * % avancée – volume % déclin) (Cour0 – Cours10)/Cours10 31 Décision dans un espace à N dimensions Données fondamentales (résultats) Données techniques (ambiance) Caractériser chaque dimension par une variable Issue des données précédentes Centrer réduire chaque variable pour rendre comparable x’ = (x - AVG (x)) / STDDEV(x) Attribuer un score à chaque action par combinaison des variables Exemples : combinaison linéaire Score = Σ pi * x’i Réseaux de neurones Score = Ñ (x’0 … x’n) Réglage des pi ou neurones sur le passé … 32 CODE CHAR(5) PRIMARY KEY REFERENCES ACTIONS, PER_NO NUMERIC(7,2) , REND_NO NUMERIC(7,2) , ROI_NO NUMERIC(7,2) , /* PER réduit normé */ /* Rendement N réduit normé */ /* Rendement/Cours réduit normé */ CROIS_NO NUMERIC(7,2) , /* Croissance rendement réduite normée */ DETFP_NO NUMERIC(7,2) , /* Dette sur fonds propres normés */ RECO_NO NUMERIC(7,2), /* Recommandation des analystes normée */ DELTA_NO NUMERIC(7,2), /* Ecart cours à moyenne mobile normée */ RSI_NO NUMERIC(7,2) /* RSI réduit normé */ MACD_NO ADV10_NO ROC10_NO /* MACD normé */ /* ADV10 normé */ /* ROC10 normé */ 33 Fenêtre de taille $Win Exemples : Rsi = hausse /(hausse+baisse) Mom = delta[j] – delta[j $win] / valeur[$j] Trend = pente droite moindres carrés Xavg = moyenne mobile exponentielle Interface TimeSeriesStats 34 Import() TS simple ou multiple alculée par une requête SQL à 1 ou N attributs Support des agrégats intéressant : MIN, Max, AVG … Export() Faire persister en base une Time Series 35 Une approche intéressante pour beaucoup de phénomènes naturels ou économiques Solides fondations mathématiques Modélisation Distances Extensions possibles Multi séries Séries imbriquées Localisation temporelle 363. Opérations de base
Opérations relationnelles
Multi-séries
Séries imbriquées
4. Opérations statistiques
Moyennes mobiles – Maverage($window)
Operation sur Windows
Time Series (Sequence) avec XQuery 1.1
Exemple de TS en XML
Les variables de fenêtres [W3C]
Exemple de XQuery tumbling Window [W3C]
5. Modèles de Time Series
Transformation de Fourier discrète (DFT)
Modèles auto-régressifs d'ordre p - AR(p)
Modèle à pas constants (PAA)
Distance / Similarité entre TS
6. Application Bourse
Actions : information fondamentales
Cours : données journalières
Indicateurs : données techniques
Calcul des variables de décisions
Exemples de variables de décision
Operation sur Windows
Pont avec la BD relationnelle
7. Conclusion