[PYTHON] Analyse des séries chronologiques 1 Principes de base

Aidemy 2020/10/

introduction

Bonjour, c'est Yope! Je suis une école littéraire croustillante, mais j'étais intéressé par les possibilités de l'IA, alors je suis allé à l'école spécialisée en IA "Aidemy" pour étudier. Je voudrais partager les connaissances acquises ici avec vous, et je les ai résumées dans Qiita. Je suis très heureux que de nombreuses personnes aient lu l'article de synthèse précédent. Merci! Ceci est le premier article de la prochaine analyse de la série. Ravi de vous rencontrer.

Quoi apprendre cette fois ・ À propos de l'analyse des séries chronologiques ・ Types de données de séries chronologiques ・ Statistiques des données de séries chronologiques

À propos de l'analyse des séries chronologiques

Que sont les données de séries chronologiques?

-Les données chronologiques font référence aux données __ dont la valeur change avec le temps __. Par exemple, la température horaire, les ventes, le prix des actions, etc. sont applicables. ・ En particulier, il s'agit d'une analyse importante dans les affaires, comme la prévision des ventes de produits et la prévision du nombre de visiteurs. -L'analyse des séries temporelles est implémentée à l'aide de StatsModels de python.

(Revue) Affichage des données de séries chronologiques

-Pour l'analyse des séries chronologiques, il est indispensable de représenter graphiquement les données des séries chronologiques. Utilisez Matplotlib pour le traçage. Ci-dessous, je vais passer en revue le plt qui apparaît cette fois.

-Création d'un graphique: __plt.plot (x, y) __ -Affichage graphique: __plt.show () __ -Définissez la plage d'affichage de l'axe x: __plt.xlim ([,]) __ (ylim pour l'axe y) -Titre du graphique: __plt.title ("") __ -Titre de l'axe X: __plt.xlabel ("") __ (ylabel pour l'axe y)

Modèle de données de série chronologique

-Il existe les trois modèles suivants dans les données de séries chronologiques. Les données de séries chronologiques sont constituées d'une combinaison de ces trois modèles. · __ Tendance : Tendances des données à long terme. Si la valeur augmente, on parle de "tendance positive", et si elle diminue, on parle de "tendance négative". - Fluctuation périodique __: La valeur des données se répète en montant et en descendant avec le temps. En particulier, la fluctuation périodique sur un an est appelée __ fluctuation saisonnière . - Fluctuation irrégulière __: La valeur des données fluctue indépendamment du passage du temps.

la modélisation

-__ La modélisation __ consiste à formuler des données de séries chronologiques (__ modèle de construction __). ・ L'analyse des séries chronologiques consiste à utiliser ce modèle pour faire des prédictions et analyser les relations entre les données.

Types de données de séries chronologiques

-Les données de séries chronologiques comprennent __ "série originale" __ qui sont les données elles-mêmes avant le traitement. Le but de l'analyse des séries chronologiques est d'analyser les propriétés de cette série originale, mais la majeure partie de l'analyse réelle concerne les données après traitement. -Les données traitées comprennent __ «séries log», «séries de différences» et «séries désaisonnalisées» __. Nous examinerons chacun de plus près ci-dessous.

Série de journaux

-Pour les données avec de grandes fluctuations de valeur parmi les données de séries chronologiques, rendre le changement doux est appelé conversion logarithmique, et les données qui ont subi une conversion logarithmique sont appelées série logarithmique.

-Pour effectuer une conversion logarithmique, exécutez ce qui suit. __np.log (données DataFrame) __

Série de différence de plancher

-Sur les données de la série chronologique, le traitement en prenant la différence par rapport à la valeur précédente est appelé scale difference series. -En convertissant en une série de différences, __trends (tendances à long terme) peut être supprimé __. -En supprimant la tendance, il peut être possible de créer un processus stationnaire qui indique que «la valeur de la série chronologique ne change pas lorsqu'elle est considérée comme un tout quel que soit le passage du temps». Le processus stationnaire sera décrit plus loin.

-Pour effectuer la série de différences, exécutez ce qui suit. __DataFrame données .diff () __

Série désaisonnalisée

・ Bien que la fluctuation périodique d'un an soit appelée fluctuation saisonnière, il est difficile «d'analyser des données qui ne sont pas un modèle de fluctuation saisonnière» comme c'est le cas pour les données avec des fluctuations saisonnières. Afin de faire face à de tels cas, un traitement pour supprimer les fluctuations saisonnières peut être effectué, et les données obtenues par ce traitement sont appelées __ séries désaisonnalisées__.

-Pour réaliser une série désaisonnalisée, procédez comme suit: (Sm représente les modèles de statistiques) __sm.tsa.seasonal_decompose (données) __

・ Code![Capture d'écran 2020-10-29 13.23.57.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/698700/0cc42af4-cdae-2551- b768-f33da02e8d90.png)

・ Résultat![Capture d'écran 2020-10-29 13.24.06.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/698700/80c2e264-d78c-b4e9- 769f-8f0e7d8322fd.png)

Statistiques des données de séries chronologiques

Valeur attendue (moyenne)

-La valeur moyenne de chaque donnée de série chronologique est appelée Expectation. -La valeur moyenne peut être calculée par __np.mean () __.

Dispersion / écart type

-La valeur indiquant dans quelle mesure les données de chaque série temporelle s'écartent de la valeur attendue est Distributed. ・ La variance est calculée par __ (chaque valeur attendue des données) ^ 2 __, et cette racine carrée est appelée __ écart type __. ・ Dans le monde des actions et de l'investissement, l'écart de temps standard est un indice important pour la mesure du risque.

Coefficient d'auto-covariance / d'autocorrélation

-__ Auto-co-distribution __ signifie la co-distribution __ des mêmes données dans différentes séries chronologiques. ・ Lorsque les séries temporelles sont séparées par k, elle est appelée auto-covariance d'ordre k et est calculée comme suit. __ (Chaque valeur attendue des données) (Données séparées par la valeur attendue k) __ -L'équation ci-dessus vue comme une fonction pour k est appelée __fonction d'auto-co-distribution __.

-Le __ coefficient d'autocorrélation __ est une conversion de cette auto-covariance afin qu'elle puisse être comparée à différentes valeurs. -Le coefficient d'autocorrélation indique __ à quel point il est similaire à la valeur passée __. ・ Le coefficient d'autocorrélation est calculé comme suit. __ Auto-covariant / (écart type des données) (écart type des données séparées par k) ___ -La formule ci-dessus qui est considérée comme une fonction pour k est appelée __ fonction d'autocorrélation __, et le graphique de celle-ci est appelé __chologram __.

Sortie de la fonction d'autocorrélation

・ La fonction d'autocorrélation Représenté par __sm.tsa.stattools.acf (data, nlags) __. ・ Graphique (cholérogramme) Il est représenté par __sm.graphics.tsa.plot_acf (données, décalages) __.

-L'argument "lag" est __ "la valeur de la série temporelle décalée k" __. ・ On peut dire que plus le coefficient de corrélation est proche de 1,0, plus la corrélation positive est forte, et plus elle est proche de -1,0, plus la corrélation négative est forte.

・ Code![Capture d'écran 2020-10-29 13.23.02.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/698700/a61008fc-e9ec-3c69- dd58-a5f40dae509f.png)

・ Résultat![Capture d'écran 2020-10-29 13.23.25.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/698700/32d7d822-abad-bae7- 25f4-86cc625b2c80.png)

Sommaire

-Les données chronologiques font référence aux données dont la valeur change au fil du temps. -Il existe trois modèles dans les données de séries chronologiques. La tendance à long terme de la valeur à monter et descendre est "tendance", la montée et la descente répétées de la valeur avec le passage du temps sont des "fluctuations périodiques", et la valeur change avec le passage du temps est une "fluctuation irrégulière". ・ Les statistiques pour l'analyse des séries chronologiques incluent les valeurs attendues (moyennes), les variances et les écarts types. En outre, il existe une auto-covariance et un coefficient d'autocorrélation calculés à l'aide de ceux-ci, et en calculant le coefficient d'autocorrélation, la similitude des données à ce moment-là avec le passé peut être comprise.

Cette fois, c'est fini. Merci d'avoir lu jusqu'à la fin.

Recommended Posts

Analyse des séries chronologiques 1 Principes de base
Analyse des séries chronologiques RNN_LSTM1
Analyse des séries chronologiques partie 4 VAR
Analyse de séries chronologiques Partie 3 Prévisions
Analyse de séries chronologiques Partie 1 Autocorrélation
Python: analyse des séries chronologiques: prétraitement des données des séries chronologiques
Analyse des séries chronologiques
Analyse des séries chronologiques 3 Prétraitement des données des séries chronologiques
Analyse des séries chronologiques 2 Stabilité, modèle ARMA / ARIMA
J'ai essayé l'analyse de séries chronologiques! (Modèle AR)
Analyse des séries chronologiques Partie 2 AR / MA / ARMA
Analyse des séries chronologiques 4 Construction du modèle SARIMA
Analyse des séries chronologiques n ° 6 Faux retour et partie républicaine
Python: analyse des séries temporelles: création d'un modèle SARIMA
Python: Analyse des séries temporelles: Constantity, modèle ARMA / ARIMA
Bases de l'analyse de régression
Afficher les séries chronologiques TOPIX
Diagramme de séries chronologiques / Matplotlib
Python 3.4 Créer un environnement Windows7-64bit (pour l'analyse des séries chronologiques financières)
J'ai essayé d'implémenter "Bases de l'analyse des séries temporelles et du modèle d'espace d'état" (Hayamoto) avec pystan
[Python] Tracer des données de séries chronologiques
Défi des prévisions de ventes futures: ② Analyse des séries chronologiques à l'aide de PyFlux
Une méthode d'étude pour les débutants pour apprendre l'analyse des séries chronologiques
[Comprendre au plus court] Principes de base de Python pour l'analyse des données
Défi des prévisions de ventes futures: ⑤ Analyse des séries chronologiques par Prophet
Défi pour les prévisions de ventes futures: ① Qu'est-ce que l'analyse des séries chronologiques?
Calcul de la fidélité des clients dans les séries chronologiques
Comment extraire des fonctionnalités de données de séries chronologiques avec les bases de PySpark
L'intrigue de séries temporelles a commencé ~ édition python ~
À propos des données de séries chronologiques et du surentraînement
[Statistiques] [Analyse des séries chronologiques] Tracez le modèle ARMA et saisissez la tendance.
Différenciation des données de séries chronologiques (discrètes)
Statistiques de mouvement pour la prédiction de séries chronologiques
LSTM (1) pour la prédiction de séries chronologiques (pour les débutants)
Puissance des méthodes de prédiction dans l'analyse de données chronologiques Semi-optimisation (SARIMA) [Memo]
Illustrez instantanément la période prédominante dans les données de séries chronologiques à l'aide de l'analyse spectrale
Prédiction des données de séries chronologiques par projection simplex
Prédire les données de séries chronologiques avec un réseau neuronal
Comment comparer des données de séries chronologiques - Dérivée DTW, DTW-
[Python] Accélère le chargement du fichier CSV de séries chronologiques
Détection d'anomalies de données chronologiques pour les débutants
matplotlib Ecrire du texte dans un graphique de séries chronologiques
Comment gérer les données de séries chronologiques (mise en œuvre)
Lecture des données de séries chronologiques OpenFOAM et des ensembles de données
Introduction à l'analyse des séries temporelles ~ Modèle d'ajustement saisonnier ~ Implémenté en R et Python
Défi des prévisions de ventes futures: ④ Analyse des séries chronologiques en tenant compte de la saisonnalité par Stats Models