前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >prophet Multiplicative Seasonality乘法季节性

prophet Multiplicative Seasonality乘法季节性

作者头像
lovelife110
发布2021-01-14 14:39:49
8900
发布2021-01-14 14:39:49
举报
文章被收录于专栏:爱生活爱编程

例子代码

https://github.com/lilihongjava/prophet_demo/tree/master/multiplicative_seasonality

代码语言:javascript
复制
# encoding: utf-8
"""
@author: lee
@time: 2019/8/6 8:55
@file: main.py
@desc: 
"""
from fbprophet import Prophet
import pandas as pd


def main():
    df = pd.read_csv('./data/example_air_passengers.csv')
    m = Prophet()
    m.fit(df)
    future = m.make_future_dataframe(50, freq='MS')
    forecast = m.predict(future)
    fig = m.plot(forecast)
    fig.show()

    m = Prophet(seasonality_mode='multiplicative')
    m.fit(df)
    forecast = m.predict(future)
    fig = m.plot(forecast)
    fig.show()

    fig = m.plot_components(forecast)
    fig.show()

    m = Prophet(seasonality_mode='multiplicative')
    m.add_seasonality('quarterly', period=91.25, fourier_order=8, mode='additive')
    m.add_regressor('regressor', mode='additive')


if __name__ == "__main__":
    main()

默认情况下,Prophet是加法季节性,论文中公式为y(t) = g(t) + s(t) + h(t),这意味着季节性的影响是以加法的方法加到趋势中以获得预测。下面预测航空旅客数量的时间序列是加法季节性不起作用的一个例子:

代码语言:javascript
复制
# Python
df = pd.read_csv('../examples/example_air_passengers.csv')
m = Prophet()
m.fit(df)
future = m.make_future_dataframe(50, freq='MS')
forecast = m.predict(future)
fig = m.plot(forecast)

这个时间序列有一个明显的年度周期,但预测的季节性在时间序列开始时太大而在结束时太小。在上面这个时间序列里,季节性不是prophet所假设的恒定加性因子,而是随着趋势而增长。这是乘法季节性的一个案例。

prophet可以通过设置seasonality_mode='multiplicative'参数来建模乘法季节性,公式为y(t) = g(t) *s(t) * h(t):

以下组件图显示季节性占趋势的百分比:

设置了seasonality_mode='multiplicative',假日效应也将被建模为乘法。任何添加的季节性或额外的回归量将默认使用seasonality_mode设置的内容,但可以通过指定mode='additive'mode='multiplicative'作为参数来覆盖seasonality_mode设置的内容

例如,以下内置季节性设置为乘法,但是可以把季节性quarterly和额外回归量regressor设置为加法:

代码语言:javascript
复制
# Python
m = Prophet(seasonality_mode='multiplicative')
m.add_seasonality('quarterly', period=91.25, fourier_order=8, mode='additive')
m.add_regressor('regressor', mode='additive')

加法和乘法额外回归量将显示在组件图的单独面板中。

参考资料:

https://facebook.github.io/prophet/docs/multiplicative_seasonality.html

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2019/08/06 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 例子代码
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档