La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

1 Time Series Séries Chronologiques Georges GARDARIN.

Présentations similaires


Présentation au sujet: "1 Time Series Séries Chronologiques Georges GARDARIN."— Transcription de la présentation:

1 1 Time Series Séries Chronologiques Georges GARDARIN

2 2 PLAN Définition Définition Objectifs Objectifs Opérations de base Opérations de base Opérations avancées Opérations avancées Codage Codage Application Application

3 3 Importance de la dimension temporelle La périodicité de la série nimporte pas 1. Définition Lanalyse des séries temporelles sintéresse à la « dynamique » dune variable Lanalyse des séries temporelles sintéresse à la « dynamique » dune variable La suite dobservations (yt, tЄT) dune variable y à différentes dates t est appelée série temporelle. Habituellement T est dénombrable, de sorte que t=1…T. La suite dobservations (yt, tЄT) dune variable y à différentes dates t est appelée série temporelle. Habituellement T est dénombrable, de sorte que t=1…T.

4 4 D'après Wikipedia Une série temporelle est une suite de valeurs numériques représentant l'évolution d'une quantité spécifique au cours du temps. Une série temporelle est une suite de valeurs numériques représentant l'évolution d'une quantité spécifique au cours du temps.valeurs numériquesévolutionquantitétempsvaleurs numériquesévolutionquantité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. 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. mathématiquement comportementpassée futur mathématiquement comportementpassée futur Une telle transposition mathématique utilise le plus souvent des concepts de probabilités et de statistique. Une telle transposition mathématique utilise le plus souvent des concepts de probabilités et de statistique.transpositionconceptsprobabilitésstatistiquetranspositionconceptsprobabilitésstatistique

5 5 Exemples Une série temporelle est donc toute suite dobservations, à des instants plus ou moins réguliers, correspondant à la même variable Une série temporelle est donc toute suite dobservations, à des instants plus ou moins réguliers, correspondant à la même variable Exemples Exemples Economie : ventes dune entreprise, Nombres demployés, Revenus dun individu Economie : ventes dune entreprise, Nombres demployés, Revenus dun individu Finance : cours d'une action, volume vendu, moyenne des ventes, options Finance : cours d'une action, volume vendu, moyenne des ventes, options Ecologie : Températures, pressions, pluviométrie, Heures de soleil, vitesse du vent Ecologie : Températures, pressions, pluviométrie, Heures de soleil, vitesse du vent Automobiles : trajectoires, vitesses, angles, capteurs Automobiles : trajectoires, vitesses, angles, capteurs

6 6 Une série simple Temps Temps de i = 1 à N de i = 1 à N Variable Variable Y = f(t) Y = f(t) Il est possible d'avoir des variables numériques bien sûr; mais aussi booléennes, textuelles, etc. Il est possible d'avoir des variables numériques bien sûr; mais aussi booléennes, textuelles, etc. TEMPS VARIABLE

7 7 Représentation graphique

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

9 9 De manière plus précise Trouver des tendances Trouver des tendances Linéaire : y = a*t + b [+ ] Linéaire : y = a*t + b [+ ] Exponentielle : y = k*a**t [+ ] Exponentielle : y = k*a**t [+ ] Logistique : y = k / (1+e**(b-at)) [+ ] Logistique : y = k / (1+e**(b-at)) [+ ] Hyperbolique : y k/t [+ ] Hyperbolique : y k/t [+ ] [+ ] est l'écart (variation accidentelle) [+ ] est l'écart (variation accidentelle) Comparer deux time series Comparer deux time series Définir des distances significatives Définir des distances significatives Conserver les patterns Conserver les patterns

10 10 Les tâches du Data Mining Trouver des séries similaires Trouver des séries similaires Trouver en base la série la plus proche d'une série donnée 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 automatiquement en N groupes de séries similaires Classer dans des classes prédéfinies par un expert 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<

11 11 3. Opérations de base Changement d'unité de temps Changement d'unité de temps rollup ($group_size, $map_function ) rollup ($group_size, $map_function ) extend ($group_size) extend ($group_size) Opérations arithmétiques Opérations arithmétiques substract(TimeSeries $sub) substract(TimeSeries $sub) add(TimeSeries $sub) add(TimeSeries $sub) multiply(TimeSeries $sub) multiply(TimeSeries $sub) Map($map_function) Map($map_function) Opérations scalaires Opérations scalaires Scale(float k) Scale(float k) Plus(float k) Plus(float k)

12 12 Opérations relationnelles filter($comparator, $value) filter($comparator, $value) série de bits en résultat (bitmap) série de bits en résultat (bitmap) map($fun) map($fun) Projection généralisée Projection généralisée union ($NTS), intersection, difference union ($NTS), intersection, difference De bitmaps ou de multi-séries De bitmaps ou de multi-séries join ($NTS) join ($NTS) S'applique aux multi-séries S'applique aux multi-séries

13 13 Multi-séries Multi-séries Multi-séries Jointure de

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

15 15 4. Opérations statistiques moment($window) moment($window) Calcul de la série variation sur N jour d'une série en relatif % (Momentum) Calcul de la série variation sur N jour d'une série en relatif % (Momentum) centrer() centrer() Calcul de la série centrée autour de 0 à partir d'une série Calcul de la série centrée autour de 0 à partir d'une série reduire() reduire() Calcul de la série réduite par écart type Calcul de la série réduite par écart type normer() = centrer() + réduire() normer() = centrer() + réduire() Elimine le facteur d'échelle pour comparer Elimine le facteur d'échelle pour comparer

16 16 Moyennes mobiles – Maverage($window) Donne une tendance Donne une tendance Exemple : MM 30 en bourse Exemple : MM 30 en bourse Moyenne mobile exponentielle Moyenne mobile exponentielle Privilégie les dernières valeurs Privilégie les dernières valeurs En pondérant par (1- )**n, n étant le n° jour précédent En pondérant par (1- )**n, n étant le n° jour précédent MM ,51313,51414,5118,58,57,5 MM ,51212,614, ,6108,68,16 TEMPS VARIABLE

17 17 Operation sur Windows Fenêtre de taille $Win Fenêtre de taille $Win Exemples : Exemples : Relative Strength Index Relative Strength Index Rsi = hausse /(hausse+baisse) Rsi = hausse /(hausse+baisse) Momentum Momentum Mom = delta[j] – delta[j-$win] / valeur[$j] Mom = delta[j] – delta[j-$win] / valeur[$j] Tendance linéaire Tendance linéaire Trend = pente droite moindres carrés Trend = pente droite moindres carrés Moyenne Mobile Exponentielle Moyenne Mobile Exponentielle Xavg = moyenne avec poids (1-α) **N pour jours (j-N) Xavg = moyenne avec poids (1-α) **N pour jours (j-N)

18 18 Time Series (Sequence) avec XQuery 1.1 TEMPS Variable , 4, 6 Tumbling 8, 10, 1214, 8, 910,... Sliding 2, 4, 6 4, 6, 8 8, 10, 12 6, 8, 10 …………….

19 19 Exemple de TS en XML

20 20 Les variables de fenêtres [W3C] Window-variable: Bound to the sequence of items from the binding sequence that comprise the window. Window-variable: Bound to the sequence of items from the binding sequence that comprise the window.binding sequencebinding sequence Start-item: (Optional) Bound to the first item in 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-item-position: (Optional) Bound to the ordinal position of the first window item in the binding sequence.binding sequencebinding 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-previous-item: (Optional) Bound to the item in the binding sequence that precedes the first item in the window (empty sequence if none).binding sequencebinding sequence Start-next-item: (Optional) Bound to the item in the binding sequence that follows the first item in the window (empty sequence if none). Start-next-item: (Optional) Bound to the item in the binding sequence that follows the first item in the window (empty sequence if none).binding sequencebinding sequence End-item: (Optional) Bound to the last item in the window. 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-item-position: (Optional) Bound to the ordinal position of the last window item in the binding sequence.binding sequencebinding 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-previous-item: (Optional) Bound to the item in the binding sequence that precedes the last item in the window (empty sequence if none).binding sequencebinding sequence End-next-item: (Optional) Bound to the item in the binding sequence that follows the last item in the window (empty sequence if none). End-next-item: (Optional) Bound to the item in the binding sequence that follows the last item in the window (empty sequence if none).binding sequencebinding sequence

21 21 Exemple de XQuery tumbling Window [W3C] for tumbling window $w in //closing start $first next $second when $first/price $beyond/price return {fn:data($first/date)} {fn:data($first/price)} {fn:data($last/date)} {fn:data($last/price)} for tumbling window $w in //closing start $first next $second when $first/price $beyond/price return {fn:data($first/date)} {fn:data($first/price)} {fn:data($last/date)} {fn:data($last/price)}

22 22 5. Modèles de Time Series Permettent des classifications et des recherches de patterns plus efficaces 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, …) Sont munis d'une fonction de distance significative (borne min, préservation de similarité, structure, …) Plusieurs techniques proposées Plusieurs techniques proposées Discrete Fourier Transform Discrete Fourier Transform Discrete Wavelet Transform Discrete Wavelet Transform Picewise Linear Model Picewise Linear Model Picewise Constant Model Picewise Constant Model Symbolic Representation Symbolic Representation Autoregressive Model Autoregressive Model

23 23 Transformation de Fourier discrète (DFT) Transforme le domaine du temps en fréquence Transforme le domaine du temps en fréquence La série est vue comme une fonction discrétisée somme de sinusoïde 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 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 Conserve de bonnes propriétés de distance : transfo. linéaire de C N =>C N Algorithmes efficaces pour calculer la DFT Algorithmes efficaces pour calculer la DFT Amplitude et Phase des sinusoîdes

24 24 Modèles auto-régressifs d'ordre p - AR(p) Représentation générale AR(p) : Représentation générale AR(p) : εt est une source d'aléatoire appelé bruit blanc. εt est une source d'aléatoire appelé bruit blanc. Propriétés : Propriétés : 1. E(εt) = 0 1. E(εt) = 0 2. E(εt 2 )) = σ 2 2. E(εt 2 )) = σ 2 3. E(εt * εt)) = 0 3. E(εt * εt)) = 0 Cas particulier : modèle régression linéaire Cas particulier : modèle régression linéaire i = 0 pour i>1 i = 0 pour i>1

25 25 Modèle à pas constants (PAA) Approximation par découpage en périodes de temps fixe Approximation par découpage en périodes de temps fixe Réduction de N points à w par approximation linéaire 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 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) (Lin et. al. = modèle SAX)

26 26 Distance / Similarité entre TS Vecteurs de dimensions élevées Vecteurs de dimensions élevées Réduire les dimensions Réduire les dimensions Techniques classiques (seuils, Latence, …) Techniques classiques (seuils, Latence, …) Fenêtres : réduire à des fenêtres "sautantes" Fenêtres : réduire à des fenêtres "sautantes" Utiliser un modèle (ex: premiers coefs de DFT) Utiliser un modèle (ex: premiers coefs de DFT) Comparer des symboles (ex: +, -, =) Comparer des symboles (ex: +, -, =) Permet l'application des techniques classiques Permet l'application des techniques classiques Classification supervisée ou non Classification supervisée ou non

27 27 6. Application Bourse Aider l'investisseur à choisir Aider l'investisseur à choisir Trouver des actions similaires ou différentes Trouver des actions similaires ou différentes Définir et valider des stratégies Définir et valider des stratégies Calculer des indicateurs Calculer des indicateurs Analyser les dépêches Analyser les dépêches

28 28 Actions : information fondamentales NOMvarchar(20)Désignation CODEchar(5) Code caractères COURSdecimal(7,2) Dernier cours ajusté PERdecimal(5,2) Price Earning Ratio BNAdecimal(5,2) Bénéfice Net par Action BNA1decimal(5,2) Bénéfice Net par Action année +1 RECOdecimal(5,2) Recommandation des analystes de 0 à 5 RENDdecimal(5,2) Rendement distribué DETTAdecimal(7,2) Dette par action FONPAdecimal(7,2) Fonds propres par action

29 29 Cours : données journalières CODEchar(8) Code de laction DATEdate Date dobservation OPENdecimal(7,2) Cours douverture HIGHdecimal(7,2) Cours le plus haut LOWdecimal(7,2) Cours le plus bas CLOSEdecimal(7,2) Cours de fermeture (dernier) VOLintVolume AJUSTEdecimal(7,2) Cours ajusté (div.s)

30 30

31 31 Indicateurs : données techniques CODEchar(5) Code de laction MOM5int Momentum 5 = Variation relative sur 5 jours MM20decimal(7,2) Moyenne mobile 20 MM50decimal(7,2) Moyenne mobile 50 MACDdecimal(7,2) Ecart entre moyennes mobiles RSI14decimal(7,2) 100-(100/(1+RS)) avec RS = Σgains hausse/Σperte baisse ADV10decimal(7,2) Σ (Volume * % avancée – volume % déclin) ROC10decimal(7,2) (Cour0– Cours10)/Cours10

32 32 Calcul des variables de décisions Décision dans un espace à N dimensions Décision dans un espace à N dimensions Données fondamentales (résultats) Données fondamentales (résultats) Données techniques (ambiance) Données techniques (ambiance) Caractériser chaque dimension par une variable Caractériser chaque dimension par une variable Issue des données précédentes Issue des données précédentes Centrer réduire chaque variable pour rendre comparable Centrer réduire chaque variable pour rendre comparable x = (x - AVG (x)) / STDDEV(x) x = (x - AVG (x)) / STDDEV(x) Attribuer un score à chaque action par combinaison des variables Attribuer un score à chaque action par combinaison des variables Exemples : Exemples : combinaison linéaire Score = Σ pi * xi combinaison linéaire Score = Σ pi * xi Réseaux de neurones Score = Ñ (x0 … xn) Réseaux de neurones Score = Ñ (x0 … xn) Réglage des pi ou neurones sur le passé … Réglage des pi ou neurones sur le passé …

33 33 Exemples de variables de décision CODE CHAR(5) PRIMARY KEY REFERENCES ACTIONS, CODE CHAR(5) PRIMARY KEY REFERENCES ACTIONS, PER_NO NUMERIC(7,2), /* PER réduit normé */ PER_NO NUMERIC(7,2), /* PER réduit normé */ REND_NO NUMERIC(7,2), /* Rendement N réduit normé */ REND_NO NUMERIC(7,2), /* Rendement N réduit normé */ ROI_NO NUMERIC(7,2), /* Rendement/Cours réduit normé */ ROI_NO NUMERIC(7,2), /* Rendement/Cours réduit normé */ CROIS_NO NUMERIC(7,2), /* Croissance rendement réduite normée */ CROIS_NO NUMERIC(7,2), /* Croissance rendement réduite normée */ DETFP_NO NUMERIC(7,2), /* Dette sur fonds propres normés */ DETFP_NO NUMERIC(7,2), /* Dette sur fonds propres normés */ RECO_NO NUMERIC(7,2), /* Recommandation des analystes normée */ RECO_NO NUMERIC(7,2), /* Recommandation des analystes normée */ DELTA_NO NUMERIC(7,2), /* Ecart cours à moyenne mobile normée */ DELTA_NO NUMERIC(7,2), /* Ecart cours à moyenne mobile normée */ RSI_NO NUMERIC(7,2) /* RSI réduit normé */ RSI_NO NUMERIC(7,2) /* RSI réduit normé */ MACD_NO /* MACD normé */ MACD_NO /* MACD normé */ ADV10_NO/* ADV10 normé */ ADV10_NO/* ADV10 normé */ ROC10_NO /* ROC10 normé */ ROC10_NO /* ROC10 normé */

34 34 Operation sur Windows Fenêtre de taille $Win Fenêtre de taille $Win Exemples : Exemples : Rsi = hausse /(hausse+baisse) Rsi = hausse /(hausse+baisse) Mom = delta[j] – delta[j- $win] / valeur[$j] Mom = delta[j] – delta[j- $win] / valeur[$j] Trend = pente droite moindres carrés Trend = pente droite moindres carrés Xavg = moyenne mobile exponentielle Xavg = moyenne mobile exponentielle Interface TimeSeriesStats Interface TimeSeriesStats

35 35 Pont avec la BD relationnelle Import() Import() TS simple ou multiple alculée par une requête SQL à 1 ou N attributs TS simple ou multiple alculée par une requête SQL à 1 ou N attributs Support des agrégats intéressant : MIN, Max, AVG … Support des agrégats intéressant : MIN, Max, AVG … Export() Export() Faire persister en base une Time Series Faire persister en base une Time Series

36 36 7. Conclusion Une approche intéressante pour beaucoup de phénomènes naturels ou économiques Une approche intéressante pour beaucoup de phénomènes naturels ou économiques Solides fondations mathématiques Solides fondations mathématiques Modélisation Modélisation Distances Distances Extensions possibles Extensions possibles Multi-séries Multi-séries Séries imbriquées Séries imbriquées Localisation temporelle Localisation temporelle


Télécharger ppt "1 Time Series Séries Chronologiques Georges GARDARIN."

Présentations similaires


Annonces Google