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 : Création d'applications d'analyse de séries chronologiques du niveau débutant au niveau avancé

PHPz
PHPzoriginal
2023-09-26 13:36:162175parcourir

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

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

INSTALLED_APPS = [
    ...
    'timeseries',
    ...
]
  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')

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

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)

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 :

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

  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),
]
  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

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!

Déclaration:
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