Facebook Prophet 是一个流行的时间序列预测库,它特别适用于具有强烈季节性模式的数据。以下是如何使用 Prophet 进行月度预测的步骤:
确保你的数据集包含两列:ds
(日期)和y
(观测值)。
import pandas as pd
# 示例数据
data = {
'ds': pd.date_range(start='1/1/2020', periods=24, freq='M'),
'y': [10, 12, 13, 15, 17, 20, 22, 25, 27, 30, 32, 35,
37, 40, 42, 45, 47, 50, 52, 55, 57, 60, 62, 65]
}
df = pd.DataFrame(data)
使用 Prophet 库拟合模型。
from prophet import Prophet
model = Prophet()
model.fit(df)
为了进行预测,需要创建一个包含未来日期的数据框。
future = model.make_future_dataframe(periods=12, freq='M')
使用拟合好的模型进行未来值的预测。
forecast = model.predict(future)
Prophet 提供了方便的绘图功能来查看预测结果。
fig = model.plot(forecast)
seasonality_mode
(加性或乘性)。add_seasonality
方法添加自定义季节性。model.add_seasonality(name='monthly', period=30.5, fourier_order=5)
from prophet.diagnostics import cross_validation
df_cv = cross_validation(model, initial='730 days', period='180 days', horizon='365 days')
通过以上步骤和方法,你可以有效地使用 Prophet 进行月度时间序列预测。
领取专属 10元无门槛券
手把手带您无忧上云