ホームページ >バックエンド開発 >Python チュートリアル >Django Prophet: 初心者から上級者まで時系列分析アプリケーションを構築する

Django Prophet: 初心者から上級者まで時系列分析アプリケーションを構築する

PHPz
PHPzオリジナル
2023-09-26 13:36:162133ブラウズ

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

Django Prophet: 入門から上級まで、時系列分析アプリケーションの構築には特定のコード例が必要です

時系列分析は重要な統計分析手法です。時系列データの変化する傾向、周期性、季節性、外れ値を研究します。データサイエンスや機械学習の発展に伴い、市場動向や経済指標の予測・検討などの分野で時系列分析の重要性が高まっています。

Django Prophet は、統計手法と機械学習テクノロジーを組み合わせて、使いやすく高度にカスタマイズ可能な時系列予測機能を提供する Python ベースの時系列分析ツールです。この記事では、Django Prophet を使用して時系列分析アプリケーションを構築する方法を紹介し、具体的なコード例を示します。

  1. Django Prophet のインストール

まず、Django Prophet をインストールする必要があります。ターミナルまたはコマンド プロンプトを開き、次のコマンドを実行します。

pip install django-prophet
  1. Django プロジェクトの作成

次に、Django プロジェクトを作成する必要があります。コマンド ラインで次のコマンドを実行します。

django-admin startproject timeseries_app
cd timeseries_app
  1. Django アプリケーションの作成

timeseries_app ディレクトリで次のコマンドを実行して、timeseries という名前の Django アプリケーションを作成します。

python manage.py startapp timeseries

次に、次のように settings.py ファイルの INSTALLED_APPS リストに「timeseries」を追加します。

INSTALLED_APPS = [
    ...
    'timeseries',
    ...
]
  1. 時系列モデルを作成します

In Create a

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

このモデル クラスには、タイムスタンプと値の 2 つのフィールドが含まれており、それぞれタイムスタンプと対応する値を表します。

  1. データの準備

Django プロジェクトでは、通常、Django 管理のバックグラウンドを使用してデータを管理します。 timeseries ディレクトリの admin.py ファイルに次のコードを記述して、管理バックグラウンドで TimeSeries モデル データを追加および管理できるようにします:

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

admin.site.register(TimeSeries)
  1. データ アップロード

Start Django はサーバーを開発し、管理バックグラウンドにログインして時系列データをアップロードします。ブラウザに次の URL を入力します:

http://localhost:8000/admin

次に、管理者アカウントでログインし、[時系列] リンクをクリックし、ページの右上隅にある [追加] ボタンをクリックして時刻を追加します。シリーズオブジェクト。

  1. 時系列分析

次に、アップロードされた時系列データを分析および予測するためのコードを view 関数に記述します。 timeseries/views.py ファイルを開いて、次のコードを追加します。

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)

上記のコードでは、まずデータベースからすべての時系列データを取得し、Django Prophet が必要とする形式に整理します。次に、データを適合および予測するための Prophet インスタンスを作成します。最後に、分析結果がテンプレートに渡されます。

  1. テンプレート設計

時系列の分析結果を表示するために、analyze_time_series.html という名前のテンプレート ファイルを作成します。次の HTML コードを記述します。

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

上記のテンプレートでは、Django が提供するテンプレート エンジンを使用して、時系列データと予測結果を表示します。

  1. URL 構成

最後のステップは、ブラウザーを通じて分析ページにアクセスできるように URL ルーティングを構成することです。次のコードを timeseries_app ディレクトリの urls.py ファイルに追加します。

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. アプリケーションの実行

これで、Django アプリケーションを実行して時系列分析を表示できるようになります。結果。コマンド ラインで次のコマンドを実行します。

python manage.py runserver

次に、ブラウザに次の URL を入力します。

http://localhost:8000/analyze

時系列データと予測結果のページが表示されます。

上記は、Django Prophet を使用して入門から上級までの時系列分析アプリケーションを構築する方法についてのすべてです。この記事が時系列分析と Django Prophet に関する実践的なコード例を提供し、時系列分析の世界をさらに探求するのに役立つことを願っています。

以上がDjango Prophet: 初心者から上級者まで時系列分析アプリケーションを構築するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。