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

Time Series Séries Chronologiques Georges GARDARIN.

Présentations similaires


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

1 Time Series Séries Chronologiques Georges GARDARIN

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

3 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

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. 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 mathématique utilise le plus souvent des concepts de probabilités et de statistique .

5 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

6 Une série simple Temps Variable
1 2 3 4 5 6 7 8 9 10 VARIABLE 11 15 12 16 13 Temps <ti> 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.

7 Représentation graphique

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

10 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<<N) Détecter des événements (saisons, accidents, nouvelles, etc.)

11 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)

12 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

13 Multi-séries Multi-séries Jointure de 1 20 2 45 3 55 4 32 5 30 6 19 7
10 2 20 3 17 4 16 5 15 6 11 7 1 10 20 2 45 3 17 55 4 16 32 5 15 30 6 11 19 7 Jointure de 1 20 2 45 3 55 4 32 5 30 6 19 7 15

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

15 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

16 Moyennes mobiles – Maverage($window)
TEMPS 1 2 3 4 5 6 7 8 9 10 VARIABLE 11 15 12 16 13 MM 1 10 11,5 13 13,5 14 14,5 11 8,5 7,5 MM 3 10,5 12 12,6 14,3 13.6 8,6 8,16 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

17 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)

18 Time Series (Sequence) avec XQuery 1.1
TEMPS 1 2 3 4 5 6 7 8 9 10 Variable 12 14 2, 4, 6 8, 10, 12 14, 8, 9 10, ... Tumbling Sliding 2, 4, 6 4, 6, 8 6, 8, 10 8, 10, 12 …………….

19 Exemple de TS en XML <stock>
<closing> <date> </date> <price>105</price> </closing > <closing> <date> </date> <price>101</price> </closing> <closing> <date> </date> <price>102</price> <closing> <date> </date> <price>103</price> <closing> <date> </date> <price>102</price> <closing> <date> </date> <price>104</price> </closing> </stock>

20 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 that follows the first item in the window (empty sequence if none). 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 that follows the last item in the window (empty sequence if none).

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

22 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

23 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 CN =>CN Algorithmes efficaces pour calculer la DFT Amplitude et Phase des sinusoîdes

24 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(εt2)) = σ2 3. E(εt * εt)) = 0 Cas particulier : modèle régression linéaire i = 0 pour i>1

25 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)

26 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

27 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

28 Actions : information fondamentales
NOM varchar(20) Désignation CODE char(5) Code caractères COURS decimal(7,2) Dernier cours ajusté PER decimal(5,2) Price Earning Ratio BNA Bénéfice Net par Action BNA1 Bénéfice Net par Action année +1 RECO Recommandation des analystes de 0 à 5 REND Rendement distribué DETTA Dette par action FONPA Fonds propres par action

29 Cours : données journalières
CODE char(8) Code de l’action DATE date Date d’observation OPEN decimal(7,2) Cours d’ouverture HIGH Cours le plus haut LOW Cours le plus bas CLOSE Cours de fermeture (dernier) VOL int Volume AJUSTE Cours ajusté (div.s)

30

31 Indicateurs : données techniques
CODE char(5) Code de l’action MOM5 int Momentum 5 = Variation relative sur 5 jours MM20 decimal(7,2) Moyenne mobile 20 MM50 Moyenne mobile 50 MACD Ecart entre moyennes mobiles RSI14 100-(100/(1+RS)) avec RS = Σgains hausse/Σperte baisse ADV10 Σ (Volume * % avancée – volume % déclin) ROC10 (Cour0– Cours10)/Cours10

32 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é …

33 Exemples de variables de décision
CODE CHAR(5) PRIMARY KEY REFERENCES ACTIONS, PER_NO NUMERIC(7,2) , /* PER réduit normé */ REND_NO NUMERIC(7,2) , /* Rendement N réduit normé */ ROI_NO NUMERIC(7,2) , /* 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 /* MACD normé */ ADV10_NO /* ADV10 normé */ ROC10_NO /* ROC10 normé */

34 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

35 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

36 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


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

Présentations similaires


Annonces Google