最近公众号的粉丝数一直在上升,令人欣喜。当然,作为一个有上进心(钓鱼)的公众号博主,当然要追求更大的目标。我想知道公众号一个月能达到多少粉丝,以此来加强公众号的宣传手段。无独有偶,Facebook开源了一个名为“先知”的模型,可以基于加法模型预测时间序列数据,其非线性趋势与年、周、日、节假日效应的季节性一致。它对缺失数据和趋势变化也很稳健,并且通常可以很好地处理异常值。我们将通过Python实战宝典中最近60天注意力的变化趋势来预测未来30天的注意力大小。1.安装fbprophet现在,让我们试试吧!首先是安装fbprophet。这里的前提是大家都安装了Python。如果不会,推荐阅读:python超详细安装指南。如果按照官方教程安装,你会发现TM什么都装不上。第一步,我们需要安装fbprophet的依赖PyStan:pipinstallpystan第二步,使用conda命令安装(需要安装anaconda,直接搜索anaconda官网安装):condainstall-cconda-forgefbprophetpip安装fbprophet2。导出公众号数据是时候用F12的方法了。在当前用户分析页面空白处右键—勾选,或者直接按F12打开开发者工具。然后选择最近两个月的数据,找到useranalysis的数据包,点击找到我们需要的数据。将这段json数据保存为data.json文件,如下图所示。3、处理数据,加载json数据:importjsonf=open('./data.json','r',encoding='utf-8')json_data=json.load(f)f.close()print(json_data)现在您需要将日期及其相应的粉丝总数提取到pandas数据框中。如果你还没有安装pandas,请在cmd/Terminal输入pipinstallpandas安装成功。importpandasaspd#将日期和对应的总粉丝数提取到一个pandasdataframelist_number=json_data['category_list'][0]['list']df=pd.DataFrame(list_number)print(df)效果:可以看到dataframe有点像字典和列表的集合,接下来就是开始预测了!4.预测未来30天的数据接下来需要生成一个prophet对象,调用预测函数,预测未来30天的数据变化:fromfbprophetimportProphet#在prophet里面,需要设置date列为ds,预测值为ydf.rename(columns={'date':'ds','cumulate_user':'y'},inplace=True)print(df)#调用“prophet”生成对象m=Prophet()#使用“先知对象”来预测m.fit(df)#获取未来30天的数据future=m.make_future_dataframe(periods=30)forecast=m.predict(future)print(forecast[['ds','yhat','yhat_lower','yhat_upper']].tail())效果如下:我们来看看效果。表中yhat为预测平均值,yhat_lower为预测最小值,yhat_upper为预测最大值。根据《预言家》的预测,未来30天,我们的粉丝数将增加到529人,增长16%。这个预测的数值其实还是比较客观的,一个月后就能看出来效果如何。关注下方公众号,回复“粉丝预测”获取全部源码和数据。这是我们文章的结尾。如果你今天想要我们的Python教程,请继续关注我们。如果对您有帮助,请在下方点赞或观看。如果您有任何问题,可以在下方留言区留言。我们会耐心解答!Python实战宝典(pythondict.com)不仅仅是一个集合。欢迎关注公众号:Python实战宝典原文来自Python实战宝典:Python先知模型
