کتابخانه Prophet، که توسط فیسبوک توسعه داده شده است، ابزاری قدرتمند برای پیشبینی سریهای زمانی است. این کتابخانه بهویژه برای دادههای دارای روند و تغییرات فصلی مناسب است و میتواند نقاط تغییر در دادهها را بهخوبی مدیریت کند.
نصب Prophet
ابتدا باید کتابخانه Prophet را نصب کنید. در پایتون، میتوانید با استفاده از pip آن را نصب کنید:
pip install prophet
برای کاربران لینوکس، ممکن است به نصب برخی پیشنیازها مانند gcc و pystan نیاز باشد:
pip install pystan
pip install prophet
وارد کردن کتابخانهها و آمادهسازی دادهها
ابتدا کتابخانههای موردنیاز را در پایتون ایمپورت میکنیم:
import pandas as pd
from prophet import Prophet
import matplotlib.pyplot as plt
سپس دادههای خود را بارگذاری میکنیم. دادههای ورودی برای Prophet باید شامل دو ستون زیر باشد:
ds: شامل تاریخها (در قالبYYYY-MM-DDیاYYYY-MM-DD HH:MM:SS)y: شامل مقدار مشاهدهشده در هر تاریخ
data = pd.DataFrame({
'ds': pd.date_range(start='2020-01-01', periods=100, freq='D'),
'y': [i + (i**0.5) for i in range(100)]
})
ایجاد مدل و آموزش آن
مدل Prophet را ایجاد کرده و آموزش میدهیم:
model = Prophet()
model.fit(data)
ایجاد پیشبینی
برای پیشبینی دادههای آینده، ابتدا باید یک DataFrame از تاریخهای آینده بسازیم:
future = model.make_future_dataframe(periods=30)
prediction = model.predict(future)
نمایش نتایج پیشبینی
برای رسم نمودار پیشبینی، میتوان از توابع داخلی Prophet استفاده کرد:
fig = model.plot(prediction)
plt.show()
افزودن مولفههای فصلی و تغییر روند
اگر دادههای شما دارای الگوهای فصلی یا تغییرات خاصی در روند هستند، میتوانید آنها را تنظیم کنید:
model = Prophet(seasonality_mode='multiplicative')
model.add_seasonality(name='monthly', period=30.5, fourier_order=5)
model.fit(data)
prediction = model.predict(future)
fig = model.plot(prediction)
plt.show()
نتیجهگیری
کتابخانه Prophet یک ابزار ساده و در عین حال قدرتمند برای پیشبینی سریهای زمانی است. این ابزار میتواند تغییرات روند و فصلی را بهخوبی مدلسازی کند و در بسیاری از کاربردهای دنیای واقعی مانند پیشبینی فروش، ترافیک وبسایت و دادههای مالی مفید باشد.
