Heim >Backend-Entwicklung >Python-Tutorial >Django Prophet: Erstellen von Anwendungen zur Zeitreihenanalyse vom Anfänger bis zum Fortgeschrittenen
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.
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
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
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', ... ]
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.
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)
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.
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.
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.
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), ]
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!