Maison >développement back-end >Tutoriel Python >Exemples d'analyse de séries chronologiques en Python
Python est un langage de programmation populaire dont les puissantes capacités de traitement et de visualisation des données le rendent largement utilisé dans le domaine de la science des données. En termes d'analyse de séries chronologiques, Python fournit une multitude d'outils et de bibliothèques pour nous aider à traiter et analyser les données de séries chronologiques. Cet article présentera quelques exemples d'analyse de séries chronologiques en Python.
1. Acquisition de données
Dans l'analyse de séries chronologiques, les types de données les plus couramment utilisés sont les objets d'horodatage et de date. Le module datetime intégré de Python peut facilement gérer ce type de données. Lors de l'obtention de données de séries chronologiques, nous pouvons utiliser les fonctions de lecture de données fournies par la bibliothèque Python pandas, telles que read_csv(), read_excel() et read_sql().
Voici un exemple de code pour lire les données de séries chronologiques à partir d'un fichier CSV :
importer des pandas en tant que pd
importer matplotlib.pyplot en tant que plt
df = pd.read_csv('data.csv', parse_dates=['Date' ], index_col='Date')
print(df.head())
Dans cet exemple, nous utilisons la fonction read_csv() pour lire le fichier CSV et définissons le paramètre parse_dates sur la liste ['Date'], ainsi Convertissez les horodatages des données en objets de date Python. De plus, nous avons également spécifié le paramètre index_col comme « Date » pour utiliser la colonne de date comme index des données.
2. Visualisation de séries chronologiques
Python fournit une variété d'outils de visualisation de données, dont le plus couramment utilisé est la bibliothèque matplotlib. Nous pouvons utiliser la fonction plot() de matplotlib pour tracer des données de séries chronologiques et définir l'axe des x sur la série chronologique. Voici un exemple de code :
plt.plot(df.index, df['Value'])
plt.xlabel('Date')
plt.ylabel('Value')
plt.title('Time Series' )
plt.show()
Ce code utilise la série chronologique dans les données de série chronologique df comme axe des x, la colonne de données comme axe des y, et définit les étiquettes et les titres des axes horizontal et vertical du graphique avant dessin.
3. Test de stationnarité des séries chronologiques
Dans l'analyse des séries chronologiques, il est généralement nécessaire de tester la stationnarité des données. La moyenne et la variance d'une série chronologique stationnaire ne changent pas avec le temps, ce qui nous permet d'utiliser certaines méthodes d'analyse robustes, telles que les modèles autorégressifs (AR) et les modèles à moyenne mobile (MA).
Nous pouvons utiliser les modèles de statistiques de la bibliothèque statistique de Python pour effectuer le test de stationnarité. La bibliothèque fournit la fonction adfuller(), qui peut utiliser la méthode de test Dickey-Fuller pour tester la stationnarité des données de séries chronologiques. Voici un exemple de code :
from statsmodels.tsa.stattools import adfuller
result = adfuller(df['Value'])
print('ADF Statistic: %f' % result[0])
print('p -value : %f' % result[1])
print('Valeurs critiques :')
pour la clé, valeur dans le résultat[4].items():
print(' %s: %.3f' % (key , valeur))
Dans cet exemple, nous utilisons la valeur de df['Value'] comme données de série chronologique qui doivent être testées. La fonction adfuller() renvoie les résultats des tests et les statistiques clés, que nous imprimons pour analyse.
4. Décomposition saisonnière des séries chronologiques
Dans l'analyse des séries chronologiques, la décomposition saisonnière est une méthode d'analyse importante. Nous pouvons effectuer une décomposition saisonnière des données de séries chronologiques à l'aide de la fonction season_decompose() fournie par la bibliothèque Python statsmodels. Voici un exemple de code :
from statsmodels.tsa.seasonal import season_decompose
result = season_decompose(df['Value'], model='multiplicative', period=12)
result.plot()
plt.show( )
Dans cet exemple, nous utilisons la valeur de df['Value'] comme données de série chronologique qui doivent être décomposées, et définissons les paramètres model='multiplicative' et period=12, qui indiquent respectivement l'utilisation du modèle multiplicatif pour la décomposition et annuelle Se produit périodiquement tous les 12 mois. Enfin, les résultats de la décomposition sont tracés et affichés.
Conclusion
Cet article présente quelques exemples classiques de Python utilisés pour l'analyse de séries chronologiques, notamment l'acquisition de données, la visualisation de séries chronologiques, les tests de stationnarité et la décomposition saisonnière. Les méthodes ci-dessus ne sont que la pointe de l'iceberg de l'analyse des séries chronologiques en Python. Grâce à un apprentissage et à une pratique continus, nous pouvons mieux maîtriser diverses méthodes d'analyse des séries chronologiques et obtenir de meilleurs résultats.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!