>백엔드 개발 >파이썬 튜토리얼 >Django Prophet: 초급부터 고급까지 시계열 분석 애플리케이션 구축

Django Prophet: 초급부터 고급까지 시계열 분석 애플리케이션 구축

PHPz
PHPz원래의
2023-09-26 13:36:162174검색

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

Django Prophet: 초보부터 고급까지, 시계열 분석 애플리케이션 구축, 특정 코드 예제가 필요함

시계열 분석은 중요한 통계 분석 방법으로 변화하는 추세, 주기성, 계절성 및 이상값 등을 연구하는 데 사용됩니다. . 데이터 과학과 머신러닝의 발전으로 시장 동향, 경제 지표 예측 및 연구 등의 분야에서 시계열 분석이 점점 더 중요해지고 있습니다.

Django Prophet은 통계 방법과 기계 학습 기술을 결합하여 사용하기 쉽고 사용자 정의가 가능한 시계열 예측 기능을 제공하는 Python 기반 시계열 분석 도구입니다. 이 기사에서는 Django Prophet을 사용하여 시계열 분석 애플리케이션을 구축하는 방법을 소개하고 구체적인 코드 예제를 제공합니다.

  1. Django Prophet 설치

먼저 Django Prophet을 설치해야 합니다. 터미널이나 명령 프롬프트를 열고 다음 명령을 실행하세요:

pip install django-prophet
  1. Create Django Project

다음으로 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. 시계열 모델을 생성합니다.

timeseries 디렉터리에 models.py 파일을 생성하고 다음과 같이 TimeSeries라는 모델 클래스를 정의합니다.

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

이 모델 클래스에는 두 개의 필드가 포함됩니다. : 타임스탬프와 값은 각각 타임스탬프와 해당 값을 나타냅니다.

  1. 데이터 준비

Django 프로젝트에서는 일반적으로 Django 관리 배경을 사용하여 데이터를 관리합니다. 관리 백그라운드에서 TimeSeries 모델 데이터를 추가하고 관리할 수 있도록 timeseries 디렉터리의 admin.py 파일에 다음 코드를 작성합니다.

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

admin.site.register(TimeSeries)
  1. Data upload

Django 개발 서버를 시작하고 관리 백그라운드에 로그인합니다. 시계열 데이터를 업로드합니다. 브라우저에 다음 URL을 입력하세요:

http://localhost:8000/admin

그런 다음 관리자 계정으로 로그인하고 "시계열" 링크를 클릭한 후 페이지 오른쪽 상단에 있는 "추가" 버튼을 클릭하여 시계열 개체를 추가하세요.

  1. 시계열 분석

다음으로 업로드된 시계열 데이터를 분석하고 예측하는 뷰 함수에 코드를 작성해 보겠습니다. 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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.