Django Prophet : Création d'applications d'analyse de séries chronologiques du niveau débutant au niveau avancé

PHPz
Libérer: 2023-09-26 13:36:16
original
2043 Les gens l'ont consulté

Django Prophet: 从入门到高级,打造时间序列分析应用程序

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.

  1. Installer Django Prophet

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
Copier après la connexion
  1. Créer un projet Django

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
Copier après la connexion
  1. Créez une application Django

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
Copier après la connexion

Puis dans la liste INSTALLED_APPS du fichier settings.py Ajoutez 'timeseries' comme suit :

INSTALLED_APPS = [ ... 'timeseries', ... ]
Copier après la connexion
  1. Créez un modèle de série chronologique

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')
Copier après la connexion

Ce modèle La classe contient deux champs : horodatage et valeur, qui représentent respectivement l'horodatage et la valeur correspondante.

  1. Préparation des données

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)
Copier après la connexion
  1. Téléchargement de données

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
Copier après la connexion

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.

  1. Analyse des séries chronologiques

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)
Copier après la connexion

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.

  1. Conception de modèles

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 :

   Analyze Time Series 
  

Time Series Data

    {% for ts in time_series %}
  • {{ ts }}
  • {% empty %}
  • No time series data available.
  • {% endfor %}

Forecast

{% for row in forecast.iterrows %} {% endfor %}
Timestamp Predicted Value Lower Bound Upper Bound
{{ row.ds }} {{ row.yhat }} {{ row.yhat_lower }} {{ row.yhat_upper }}
Copier après la connexion

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.

  1. Configuration de l'URL

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), ]
Copier après la connexion
  1. Exécutez l'application

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
Copier après la connexion

Saisissez ensuite l'URL suivante dans le navigateur :

http://localhost:8000/analyze
Copier après la connexion

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!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!