Rumah >pembangunan bahagian belakang >Tutorial Python >Django Prophet: Membina aplikasi analisis siri masa dari pemula hingga lanjutan

Django Prophet: Membina aplikasi analisis siri masa dari pemula hingga lanjutan

PHPz
PHPzasal
2023-09-26 13:36:162131semak imbas

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

Django Prophet: Dari kemasukan ke lanjutan, membina aplikasi analisis siri masa memerlukan contoh kod khusus

Analisis siri masa adalah penting Analisis statistik kaedah yang digunakan untuk mengkaji arah aliran yang berubah, berkala, bermusim dan terpencil data siri masa. Dengan perkembangan sains data dan pembelajaran mesin, analisis siri masa telah menjadi semakin penting dalam bidang seperti ramalan dan mengkaji arah aliran pasaran dan penunjuk ekonomi.

Django Prophet ialah alat analisis siri masa berasaskan Python yang menggabungkan kaedah statistik dan teknologi pembelajaran mesin untuk menyediakan fungsi ramalan siri masa yang mudah digunakan dan sangat disesuaikan. Artikel ini akan memperkenalkan cara menggunakan Django Prophet untuk membina aplikasi analisis siri masa dan memberikan contoh kod khusus.

  1. Pasang Django Nabi

Pertama, kita perlu memasang Django Nabi. Buka terminal atau command prompt dan jalankan arahan berikut:

pip install django-prophet
  1. Buat projek Django

Seterusnya, kita perlu mencipta projek Django . Jalankan arahan berikut dalam baris arahan:

django-admin startproject timeseries_app
cd timeseries_app
  1. Buat aplikasi Django

Jalankan arahan berikut dalam direktori timeseries_app untuk mencipta fail bernama timeseries Django application:

python manage.py startapp timeseries

Kemudian tambahkan 'timeseries' dalam senarai INSTALLED_APPS dalam fail settings.py seperti ini:

INSTALLED_APPS = [
    ...
    'timeseries',
    ...
]
  1. Cipta Model siri masa# 🎜🎜#
Buat fail models.py dalam direktori siri masa dan tentukan kelas model bernama TimeSeries, seperti ditunjukkan di bawah:

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

Kelas model ini mengandungi Terdapat dua medan : cap masa dan nilai, yang masing-masing mewakili cap masa dan nilai yang sepadan.

    Penyediaan data
Dalam projek Django, kami biasanya menggunakan latar belakang pengurusan Django untuk mengurus data. Tulis kod berikut dalam fail admin.py dalam direktori siri masa untuk dapat menambah dan mengurus data model TimeSeries dalam latar belakang pengurusan:

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

admin.site.register(TimeSeries)

    Muat naik data
  1. # 🎜🎜 #
  2. Mulakan pelayan pembangunan Django dan log masuk ke latar belakang pengurusan untuk memuat naik data siri masa. Masukkan URL berikut dalam penyemak imbas:
http://localhost:8000/admin

Kemudian log masuk dengan akaun pentadbir, klik pautan "Siri masa", dan klik butang "TAMBAH" di penjuru kanan sebelah atas halaman untuk menambah objek siri masa.

Analisis Siri Masa
  1. Seterusnya, kami akan menulis kod dalam fungsi paparan untuk menganalisis dan meramal data siri masa yang dimuat naik. Buka fail timesseries/views.py dan tambah kod berikut:
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)

Dalam kod di atas, kami mula-mula mendapatkan semua data siri masa daripada pangkalan data dan menyusunnya ke dalam format yang diperlukan oleh Django Prophet . Kemudian buat contoh Nabi untuk menyesuaikan dan meramalkan data. Akhirnya, keputusan analisis dihantar ke templat.

Reka bentuk templat
  1. Buat fail templat bernama analyze_time_series.html untuk memaparkan hasil analisis siri masa. Tulis kod HTML berikut:
<!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>

Dalam templat di atas, kami menggunakan enjin templat yang disediakan oleh Django untuk memaparkan data siri masa dan hasil ramalan.

Konfigurasi URL
  1. Langkah terakhir ialah mengkonfigurasi penghalaan URL supaya kita boleh mengakses halaman analisis melalui penyemak imbas. Tambahkan kod berikut dalam fail urls.py di bawah direktori 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),
]

Jalankan aplikasi
  1. Kini anda boleh menjalankan aplikasi Django dan lihat hasil analisis siri masa. Jalankan arahan berikut dalam baris arahan:
python manage.py runserver

Kemudian masukkan URL berikut dalam penyemak imbas:

http://localhost:8000/analyze

Anda akan melihat halaman data siri masa dan hasil ramalan.

Di atas adalah mengenai penggunaan Django Prophet untuk membina aplikasi analisis siri masa dari kemasukan ke lanjutan. Mudah-mudahan artikel ini akan memberikan anda contoh kod praktikal tentang analisis siri masa dan Nabi Django, dan membantu anda menerokai dunia analisis siri masa.

Atas ialah kandungan terperinci Django Prophet: Membina aplikasi analisis siri masa dari pemula hingga lanjutan. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn