6.Séries temporelles

Download Report

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  de i = 1 à N Variable  Y = f(t) Il est possible d'avoir des variables numériques bien sûr; mais aussi booléennes, textuelles, etc.

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<

3. Opérations de base

   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

Opérations relationnelles

    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

 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

Séries imbriquées

1 2 3 4 {10, 20, 50} {} {17, 18} {16} 5 7 {} 6 {10, 11, 15, 11} {10} Similaires aux séquences … 14

4. Opérations statistiques

    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

Moyennes mobiles – Maverage($window)

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

Operation sur Windows

      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

Time Series (Sequence) avec XQuery 1.1

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

Exemple de TS en XML

             2008-01-01 105 2008-01-02 101 2008-01-03 102 2008-01-04 103 2008-01-05 102 2008-01-06 104 19

Les variables de fenêtres [W3C]

 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

Exemple de XQuery tumbling Window [W3C]

 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 {fn:data($first/date)} {fn:data($first/price)} {fn:data($last/date)} {fn:data($last/price)} 21

5. Modèles de Time Series

   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

Transformation de Fourier discrète (DFT)

     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

Modèles auto-régressifs d'ordre p - AR(p)

 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

Modèle à pas constants (PAA)

    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

Distance / Similarité entre TS

  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

6. Application Bourse

     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

Actions : information fondamentales

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

Cours : données journalières

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

Indicateurs : données techniques

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

Calcul des variables de décisions

    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

Exemples de variables de décision

 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

Operation sur Windows

      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

Pont avec la BD relationnelle

 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

7. Conclusion

  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 36