帝游网提供最新手游APP下载和游戏攻略!

基于Python的开源预测工具的实践

发布时间:2024-10-15浏览:80

最近又发现一个很有意思的工具——facebook开源的大规模预测框架Prophet,据说它生成的预测结果足以和专业数据分析师媲美。

从查阅的资料来看,Prophet开源时日不久,难怪网上很少有以实际应用来介绍的资料。就跟当初在baidu上查不到pandas资料那时候一样,米哥打算小试一把,用tushare网站过去的真实访问流量做一个未来预测,以简单的用法将facebook这个工具推荐给大家,希望对大家有一个启发。更牛逼的应用期待大家更加深入的研究和实践。

介绍

根据facebook公开的白皮书介绍,Prophet实质上是一个可加性回归模型(additive regression model),主要由四个核心构成:

分段线性或者 logistic 增长曲线趋势,Prophet可以通过从数据选择变化点,自动探测变化趋势。

按年为周期使用傅里叶级数(Fourier series)建模。

按周为周期使用虚变量(dummy variables)建模。

支持用户提供的重要节假日列表。

Prophet 针对的是商业预测任务,适用于具备以下特征的场景:

针对每小时、每天或每星期的观察频次,有至少数月(理想情况的一年)的历史记录。

多重显著的“人类层级”周期性:星期X以及年份。

日期间隔不规则的重要节日,需要事先得知。

观察缺失或是异常值在合理范围内。

历史趋势变化,比如产品发布或者改写记录(logging changes)。

符合非线性增长曲线的趋势,有天然上、下限或者饱和点。

对于以上官方的套话,米哥看的似懂非懂,反正经过一番折腾后,米哥用一句话总结一下它的优点吧:使用过程令人发指的简单!如果预测结果相对可靠,那简直就是逆天了。

安装

Prophet的安装很简单,一行代码搞定。

pip install fbprophet

但是!Prophet严重依赖pystan包,在安装之前必须先安装好这个包,虽然同样也是一行pip来安装,但是在windows上安装pystan + prophet就是一种心灵折磨,各种坑爹的坑。为了让大家少躺坑,如果您打算在windows上尝试的话,米哥这里提示几点:

1、最好选用winows7系统

2、使用Python3.5+ (用Anaconda发行版)

3、确认已安装Visual C++ Build Tools 2015

4、Prophet最好通过clone源代码来setup install

数据准备

本实验通过tushare在cnzz上的pv流量统计数据来做一个实例,下载了从2016年1月1日至今的流量数据,原始数据格式如下:

以此来预测未来一年tushare的访问流量,数据经过整理存储在一个csv文件里并通过pandas读取数据。

对pv值进行对数处理,然后查看过去一年的趋势情况。

有一点值得注意的是,Prophet对输入数据的格式有要求,时间列需命名ds,数值命名为y。

预测实现

首先需要初始Prophet对象,并将pandas的DataFrame数据传入给prophet,数据装载过程很简单也相对较快。

然后我们告诉预测模型我们需要预测未来多久的结果,这里设定一年(即365天)并执行预测命令。

预测的结果依然是一个DataFrame格式的数据,结果值列名为yhat,同时给出了最大和最小值。

通过绘图功能,我们来看一下预测效果。

通过weekly函数我们看一下,周末两天访问量最少。

m.plot_weekly(forecast)

m.plot_trend(forecast)

用户评论

败类

这款基于Python的开源预测工具看起来很有潜力,不知道实际使用起来怎么样?

    有6位网友表示赞同!

轨迹!

我喜欢开源的东西,但不太懂编程,这样的工具对新手友好吗?

    有13位网友表示赞同!

半梦半醒i

这个预测工具是不是只能用于特定的游戏类型呢?

    有15位网友表示赞同!

那伤。眞美

听说这个工具可以自动分析游戏数据,真是太方便了!

    有17位网友表示赞同!

迁心

想了解下,它是如何处理大数据量的?性能会怎样?

    有10位网友表示赞同!

夏至离别

能否分享一下具体的应用场景和效果案例?

    有5位网友表示赞同!

←极§速

如果需要安装额外的库或者框架,那对于不熟悉的人来说可能会有点难度。

    有8位网友表示赞同!

有一种中毒叫上瘾成咆哮i

有没有可能与其他的数据可视化工具兼容呢?

    有17位网友表示赞同!

冷嘲热讽i

能够支持多平台的游戏数据分析吗?比如PC、手机、主机等。

    有18位网友表示赞同!

情字何解ヘ

是否有详细的文档和使用教程?这对于初学者来说很重要。

    有14位网友表示赞同!

青衫故人

我觉得一个优秀的预测工具应该具有实时性,它能做到吗?

    有18位网友表示赞同!

堕落爱人!

希望这个工具能有一些社区支持,遇到问题有人解答。

    有20位网友表示赞同!

(り。薆情海

开发团队更新维护得怎么样?经常有新功能添加吗?

    有16位网友表示赞同!

闷骚闷出味道了

这种类型的工具在比赛或者竞技游戏中应用广泛吗?

    有11位网友表示赞同!

聽風

如果有高级用户接口(UI),那么操作体验一定会更好。

    有19位网友表示赞同!

矜暮

这种工具是否能在多人在线游戏中进行精准的玩家行为分析?

    有17位网友表示赞同!

巷口酒肆

它是否能根据玩家的历史表现来提供个性化的策略建议?

    有16位网友表示赞同!

你是梦遥不可及

想要知道这个工具的市场接受度如何?有没有其他开发者或公司在使用它?

    有9位网友表示赞同!

我一个人

是否有计划在未来加入更多的高级功能或者算法优化?

    有7位网友表示赞同!

巴黎盛开的樱花

它的准确率是多少?这对我来说是选择的关键因素之一。

    有16位网友表示赞同!

疯人疯语疯人愿

在安全性和隐私保护方面做得怎么样?毕竟涉及到大量用户数据。

    有12位网友表示赞同!

摩天轮的依恋

我对这个预测工具有很高的期待,希望能早点看到正式版发布!

    有17位网友表示赞同!

热点资讯