Maison >développement back-end >Tutoriel Python >Django Prophet : Création d'applications d'analyse de séries chronologiques du niveau débutant au niveau avancé
Django Prophet : De l'entrée à la création avancée d'applications d'analyse de séries chronologiques, des exemples de code spécifiques sont nécessaires
L'analyse des séries chronologiques est une méthode d'analyse statistique importante, utilisée pour étudier les tendances changeantes, la périodicité, la saisonnalité et les valeurs aberrantes, etc. . Avec le développement de la science des données et de l’apprentissage automatique, l’analyse des séries chronologiques est devenue de plus en plus importante dans des domaines tels que la prévision et l’étude des tendances du marché et des indicateurs économiques.
Django Prophet est un outil d'analyse de séries chronologiques basé sur Python qui combine des méthodes statistiques et une technologie d'apprentissage automatique pour fournir des fonctions de prévision de séries chronologiques faciles à utiliser et hautement personnalisables. Cet article expliquera comment utiliser Django Prophet pour créer une application d'analyse de séries chronologiques et fournira des exemples de code spécifiques.
Tout d'abord, nous devons installer Django Prophet. Ouvrez un terminal ou une invite de commande et exécutez la commande suivante :
pip install django-prophet
Ensuite, nous devons créer un projet Django. Exécutez la commande suivante dans la ligne de commande :
django-admin startproject timeseries_app cd timeseries_app
Exécutez la commande suivante dans le répertoire timeseries_app pour créer une application Django nommée timeseries :
python manage.py startapp timeseries
Puis dans la liste INSTALLED_APPS du fichier settings.py Ajoutez 'timeseries' comme suit :
INSTALLED_APPS = [ ... 'timeseries', ... ]
Créez un fichier models.py dans le répertoire timeseries et définissez une classe de modèle nommée TimeSeries comme suit :
from django.db import models class TimeSeries(models.Model): timestamp = models.DateTimeField() value = models.FloatField() def __str__(self): return self.timestamp.strftime('%Y-%m-%d %H:%M:%S')
Ce modèle La classe contient deux champs : horodatage et valeur, qui représentent respectivement l'horodatage et la valeur correspondante.
Dans les projets Django, nous utilisons généralement l'expérience de gestion Django pour gérer les données. Écrivez le code suivant dans le fichier admin.py du répertoire timeseries pour pouvoir ajouter et gérer les données du modèle TimeSeries en arrière-plan de gestion :
from django.contrib import admin from timeseries.models import TimeSeries admin.site.register(TimeSeries)
Démarrez le serveur de développement Django et connectez-vous à l'arrière-plan de gestion pour télécharger les données de la série chronologique. Saisissez l'URL suivante dans le navigateur :
http://localhost:8000/admin
Connectez-vous ensuite avec le compte administrateur, cliquez sur le lien "Séries temporelles", puis cliquez sur le bouton "AJOUTER" dans le coin supérieur droit de la page pour ajouter un objet de série temporelle.
Ensuite, nous écrirons du code dans la fonction d'affichage pour analyser et prédire les données de séries chronologiques téléchargées. Ouvrez le fichier timeseries/views.py et ajoutez le code suivant :
from django.shortcuts import render from timeseries.models import TimeSeries def analyze_time_series(request): time_series = TimeSeries.objects.all() # 将时间序列数据整理为Prophet所需的格式 data = [] for ts in time_series: data.append({'ds': ts.timestamp, 'y': ts.value}) # 使用Django Prophet进行时间序列分析和预测 from prophet import Prophet model = Prophet() model.fit(data) future = model.make_future_dataframe(periods=365) forecast = model.predict(future) # 将分析结果传递到模板中进行展示 context = { 'time_series': time_series, 'forecast': forecast, } return render(request, 'analyze_time_series.html', context)
Dans le code ci-dessus, nous récupérons d'abord toutes les données de séries chronologiques de la base de données et les organisons dans le format requis par Django Prophet. Créez ensuite une instance Prophet pour ajuster et prédire les données. Enfin, les résultats de l'analyse sont transmis au modèle.
Créez un fichier modèle nommé analyse_time_series.html pour afficher les résultats d'analyse des séries chronologiques. Écrivez le code HTML suivant :
<!DOCTYPE html> <html> <head> <title>Analyze Time Series</title> </head> <body> <h1>Time Series Data</h1> <ul> {% for ts in time_series %} <li>{{ ts }}</li> {% empty %} <li>No time series data available.</li> {% endfor %} </ul> <h1>Forecast</h1> <table> <tr> <th>Timestamp</th> <th>Predicted Value</th> <th>Lower Bound</th> <th>Upper Bound</th> </tr> {% for row in forecast.iterrows %} <tr> <td>{{ row.ds }}</td> <td>{{ row.yhat }}</td> <td>{{ row.yhat_lower }}</td> <td>{{ row.yhat_upper }}</td> </tr> {% endfor %} </table> </body> </html>
Dans le modèle ci-dessus, nous utilisons le moteur de modèle fourni par Django pour afficher les données de séries chronologiques et les résultats de prédiction.
La dernière étape consiste à configurer le routage des URL afin que nous puissions accéder à la page d'analyse via le navigateur. Ajoutez le code suivant au fichier urls.py dans le répertoire timeseries_app :
from django.contrib import admin from django.urls import path from timeseries.views import analyze_time_series urlpatterns = [ path('admin/', admin.site.urls), path('analyze/', analyze_time_series), ]
Vous pouvez maintenant exécuter l'application Django et afficher les résultats de l'analyse des séries chronologiques. Exécutez la commande suivante dans la ligne de commande :
python manage.py runserver
Saisissez ensuite l'URL suivante dans le navigateur :
http://localhost:8000/analyze
Vous verrez la page des données de séries chronologiques et des résultats des prévisions.
Ce qui précède consiste à utiliser Django Prophet pour créer des applications d'analyse de séries chronologiques, de l'entrée à l'avancée. Espérons que cet article vous fournira des exemples de code pratiques sur l’analyse des séries chronologiques et Django Prophet, et vous aidera à explorer davantage le monde de l’analyse des séries chronologiques.
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!