Heim >Backend-Entwicklung >Python-Tutorial >Django Prophet: Erstellen von Anwendungen zur Zeitreihenanalyse vom Anfänger bis zum Fortgeschrittenen

Django Prophet: Erstellen von Anwendungen zur Zeitreihenanalyse vom Anfänger bis zum Fortgeschrittenen

PHPz
PHPzOriginal
2023-09-26 13:36:162133Durchsuche

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

Django Prophet: Von Einstiegsanwendungen bis hin zu fortgeschrittenen Anwendungen zur Erstellung von Zeitreihenanalysen sind spezifische Codebeispiele erforderlich.

Die Zeitreihenanalyse ist eine wichtige statistische Analysemethode, die zur Untersuchung sich ändernder Trends, Periodizität, Saisonalität und Ausreißer usw. verwendet wird . Mit der Entwicklung der Datenwissenschaft und des maschinellen Lernens hat die Zeitreihenanalyse in Bereichen wie der Prognose und Untersuchung von Markttrends und Wirtschaftsindikatoren immer mehr an Bedeutung gewonnen.

Django Prophet ist ein Python-basiertes Zeitreihenanalysetool, das statistische Methoden und maschinelle Lerntechnologie kombiniert, um benutzerfreundliche und hochgradig anpassbare Zeitreihenprognosefunktionen bereitzustellen. In diesem Artikel wird erläutert, wie Sie mit Django Prophet eine Anwendung zur Zeitreihenanalyse erstellen, und es werden spezifische Codebeispiele bereitgestellt.

  1. Django Prophet installieren

Zuerst müssen wir Django Prophet installieren. Öffnen Sie ein Terminal oder eine Eingabeaufforderung und führen Sie den folgenden Befehl aus:

pip install django-prophet
  1. Django-Projekt erstellen

Als nächstes müssen wir ein Django-Projekt erstellen. Führen Sie den folgenden Befehl in der Befehlszeile aus:

django-admin startproject timeseries_app
cd timeseries_app
  1. Erstellen Sie eine Django-Anwendung.

Führen Sie den folgenden Befehl im Verzeichnis timeseries_app aus, um eine Django-Anwendung mit dem Namen timeseries zu erstellen:

python manage.py startapp timeseries

Dann in der Liste INSTALLED_APPS in der Datei Settings.py Fügen Sie „timeseries“ wie folgt hinzu:

INSTALLED_APPS = [
    ...
    'timeseries',
    ...
]
  1. Erstellen Sie ein Zeitreihenmodell.

Erstellen Sie eine models.py-Datei im Zeitreihenverzeichnis und definieren Sie eine Modellklasse mit dem Namen TimeSeries wie folgt:

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

Dieses Modell. Die Klasse enthält zwei Felder : Zeitstempel und Wert, die den Zeitstempel bzw. den entsprechenden Wert darstellen.

  1. Datenvorbereitung

In Django-Projekten verwenden wir normalerweise den Django-Management-Hintergrund, um Daten zu verwalten. Schreiben Sie den folgenden Code in die Datei admin.py im Zeitreihenverzeichnis, um TimeSeries-Modelldaten im Verwaltungshintergrund hinzufügen und verwalten zu können:

from django.contrib import admin
from timeseries.models import TimeSeries

admin.site.register(TimeSeries)
  1. Daten-Upload

Starten Sie den Django-Entwicklungsserver und melden Sie sich beim Verwaltungshintergrund an um die Zeitreihendaten hochzuladen. Geben Sie die folgende URL in den Browser ein:

http://localhost:8000/admin

Melden Sie sich dann mit dem Administratorkonto an, klicken Sie auf den Link „Zeitreihe“ und dann auf die Schaltfläche „HINZUFÜGEN“ in der oberen rechten Ecke der Seite, um ein Zeitreihenobjekt hinzuzufügen.

  1. Zeitreihenanalyse

Als nächstes schreiben wir Code in die Ansichtsfunktion, um die hochgeladenen Zeitreihendaten zu analysieren und vorherzusagen. Öffnen Sie die Datei timeseries/views.py und fügen Sie den folgenden Code hinzu:

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)

Im obigen Code rufen wir zunächst alle Zeitreihendaten aus der Datenbank ab und organisieren sie in dem von Django Prophet benötigten Format. Erstellen Sie dann eine Prophet-Instanz, um die Daten anzupassen und vorherzusagen. Abschließend werden die Analyseergebnisse an die Vorlage übergeben.

  1. Vorlagendesign

Erstellen Sie eine Vorlagendatei mit dem Namen „analysate_time_series.html“, um die Analyseergebnisse von Zeitreihen anzuzeigen. Schreiben Sie den folgenden HTML-Code:

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

In der obigen Vorlage verwenden wir die von Django bereitgestellte Vorlagen-Engine, um Zeitreihendaten und Vorhersageergebnisse anzuzeigen.

  1. URL-Konfiguration

Der letzte Schritt besteht darin, das URL-Routing zu konfigurieren, damit wir über den Browser auf die Analyseseite zugreifen können. Fügen Sie den folgenden Code zur Datei urls.py im Verzeichnis timeseries_app hinzu:

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. Führen Sie die Anwendung aus

Jetzt können Sie die Django-Anwendung ausführen und die Ergebnisse der Zeitreihenanalyse anzeigen. Führen Sie den folgenden Befehl in der Befehlszeile aus:

python manage.py runserver

Geben Sie dann die folgende URL in den Browser ein:

http://localhost:8000/analyze

Sie sehen die Seite mit Zeitreihendaten und Prognoseergebnissen.

Oben geht es um die Verwendung von Django Prophet zum Erstellen von Zeitreihenanalyseanwendungen vom Einstieg bis zum Fortgeschrittenen. Wir hoffen, dass dieser Artikel Ihnen praktische Codebeispiele zur Zeitreihenanalyse und Django Prophet liefert und Ihnen dabei hilft, die Welt der Zeitreihenanalyse weiter zu erkunden.

Das obige ist der detaillierte Inhalt vonDjango Prophet: Erstellen von Anwendungen zur Zeitreihenanalyse vom Anfänger bis zum Fortgeschrittenen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn