prophet使用系列之实战(2)

prophet使用系列之实战(2)

本系列在官方文档内容基础上增加了一些概念性的东西,可以和官方文档互补学习。

教程中使用的数据集可在 Prophet 的 github 主页 中的 examples 文件夹 内下载得到。

本系列只讨论python来实现,R语言请参考官方文档:https://facebook.github.io/prophet/docs/quick_start.html

默认情况下, Prophet 使用线性模型进行预测。当预测增长情况时,通常会存在可到达的最大极限值,例如:总市场规模、总人口数等等。这被称做承载能力,那么预测时就应当在接近该值时趋于饱和。

Prophet 可使用 logistic 增长 趋势模型进行预测,同时指定承载能力。下面使用 R 语言的维基百科主页 访问量(取对数)的实例来进行说明。

首先,读入数据。

# Python
import pandas as pd
import numpy as np
from fbprophet import Prophet
df = pd.read_csv('./examples/example_wp_R.csv')
df['y'] = np.log(df['y'])

新建一列 cap 来指定承载能力的大小。本实例中假设取某个特定的值,通常情况下这个值应当通过市场规模的数据或专业知识来决定。

# Python
df['cap'] = 8.5

值得注意的是数据框的每行都必须指定 cap 的值,但并非需要是恒定值。如果市场规模在不断地增长,那么 cap 也可以是不断增长的序列。

如之前教程所述来拟合模型,并且通过一个新增的参数来指定采用 logistic 增长:

# Python
m = Prophet(growth='logistic')
m.fit(df)

如前所述,我们可以创建一个数据框来预测未来值,不过这里要指定未来的承载能力。我们将未来的承载能力设定得和历史数据一样,并且预测未来 3 年的数据。

# Python
future = m.make_future_dataframe(periods=1826)
future['cap'] = 8.5
fcst = m.predict(future)
m.plot(fcst);

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值