使用时间序列数据预测《Apex英雄》的玩家活跃数据-

在处理单变量时间序列数据时,我们预测的一个最主要的方面是所有之前的数据都对未来的值有一定的影响。这使

在处理单变量时间序列数据时,我们预测的一个很重要的方面是,所有以前的数据对未来的值都有一定的影响。这使得传统的机器学习方法(如训练/数据分割和交叉验证)变得棘手。

本文使用《Apex英雄》年分析的玩家活动时间模式,预测其增长或下降。我们的数据来自https://steamdb.info,是一个CSV文件。

为了评估模型的性能,我们将使用均方根误差(RMSE)和平均绝对误差(MAE)作为指标来评估我们的回归模型。RMSE会给我们一个数据差的标准差,也就是数据点和最佳拟合线之间的距离。MAE测量是指观察值和真实值之间的差异,这将有助于确定模型的准确性。

EDA

拿到数据后,第一个操作肯定是EDA。在处理时间序列数据时,数据探索性分析的主要目的是发现以下特征:

季节性趋势季节性趋势平稳除此之外,我们还可以计算各种平均值:

简单移动平均线指数移动平均线自2019年2月《Apex英雄》首次发布以来的统计汇总。玩家数量显示,Apex英雄平均玩家数量约为17.9万人。

这是一条简单的均线趋势线。

这是指数移动平均线。

简单移动平均线显示6月份玩家活动略有下降趋势。趋势的斜率为11,考虑到玩家在100k到300k之间波动,这在统计上并不显著。所以可以说6月玩家的活动相当稳定。

这是按周计算的演奏者日常活动的小提琴图表。

这是一张玩家每天的活动时间分布图。

violin graph不仅可以显示一些汇总统计数据,如最大值、最小值和中值,还可以直观地显示分布情况。我们可以观察到周末比工作日分布更均匀,尤其是周六日。

以及6月份玩家和twitch观众的活动模式。

从上图可以看出,单变量时间序列是有一定规律的。一天中可预测的涨跌。这在以后讨论模型预测的时候会非常重要。

观察值=趋势季节性残差

我们需要确认的一个假设是,时间序列是平稳的,也就是说,均值和方差基本不会发生变化,这对于自回归模型是非常重要的。

但是很难从视觉上判断平均值和差值是否在变化,我们需要一种方法来检查这个问题。虽然从移动平均来看,我们可以看到在大多数情况下变化并不大,但我们需要确保使用统计检验具有统计显著性。

Dicky-Fuller检验是一种假设检验,通过它我们可以知道时间序列是否稳定。该检验的无效假设是时间序列是非平稳的。所以我们需要p值小于0.05,这样才能拒绝零假设。可以看到下面的p值小于0.05,所以我们确实可以拒绝零假设,它是非平稳的,说我们的数据确实有一个稳定的均值和方差。(代码见最后一个地址)

测试统计量:-7。36860 . 67868686861

p值:6.254742639140234e-11

建模

本文测试了三种不同的模型:Naive、FB Prophet和自回归。并对这三种模型的性能进行了比较。

使用单变量数据创建训练集和验证集不同于典型的表格数据。所以sklearn的TimeSeriesSplit函数可以帮助我们完成这项工作,将单变量数据拆分四次,进行交叉验证。分割后,应用模型并计算每个分割的评价指标(RMSE和MAPE)。对均方根误差(RMSE)和均方根误差(MAPE)进行平均。

def eval_model_perf(df: pdDataFrame,model: Callable[[pd。数据框架,pd。DataFrame],List[any]]) - None:' ' '使用RMSE和MAPE评估模型的性能。Args:df (DataFrame):输入DataFrame.model (DataFrame,List):正在评估的模型的预测值。'' RMSE _ metrics=[]mape _ metrics=[]tscv=timeseries split(n _ split=4)for train _ index,test _ index in tscv . split(df):cv _ train=df . iloc[train _ index]cv _ test=df . iloc[test _ index]preds=model(cv _ train,cv_test)rmse_eval=rmse(cv_test,preds)Naive _ eval=mean _ absolute _ percentage _ error(cv _ test,preds)rmse_metrics.append

Naive将前一个值预测为下一个值。这个在实践中没有任何意义。我们在这里只是作为比较。如果其他模型的结果没有它好,那么其他模型就没有存在的价值。

结果如下

2、FB先知

先知模型使用AM进行预测。

结果如下:

他的优点是:

没有太多参数需要调整。

自动缩放可以很好地缩放数据。

在将数据集发送到模型之前,您不需要了解太多关于数据集的信息。

但他缺点也很明显:

假设模型的季节变化是常数,不随时间变化。

比AR模型更难解释。

3.自回归模型

自回归模型通过前一次预测来预测后一次的值,也就是说后一次的预测值会使用前一次的预测结果。

结果如下:

优势:

您可以灵活地处理各种时间序列模式,并且更容易解释该模型的缺点:

很多参数时间序列数据需要先验信息才能更准确

总结

我们测试了三个模型来预测玩家的活动(实际上是两个有效的模型)。原始模型作为评估其他模型的基线。脸书先知模型是由脸书开发的,我们可以直接使用它。另一个模型是基于已知特征(如趋势和季节性等)的单变量自回归模型。).

在创建这些模型的过程中,最复杂的就是自回归模型,因为它需要大量的探索性数据分析。

FB Prophet不涉及超参数优化,不需要单变量数据特征的先验信息。模型的准确率为87%,RMSE ~19120。facebook Prophet模型的一个明显趋势是对下降趋势的夸大。但这已经很不错了。

FB Prophet模型虽然很好,但是没有打败自回归模型。自回归模型是一种更直观、更容易理解的模型。与线性回归类似,单变量数据被分解成线性组合。因此,模型的一个优点是更容易解释。缺点是虽然这个模型的性能比其他任何模型都好,但是确实需要一些数据知识。

自回归模型的另一个缺点是需要对基础数据有扎实的理解。FB Prophet模型不需要我们理解任何数据。这可能也是FB Prophet模型的一个缺点,因为它使用的是加性模型,解释起来更困难,也没有AR模型灵活。

自回归模型和FB Prophet模型似乎都表明,虽然有轻微的下降趋势,但在统计上并不显著,如假设检验所示。我们也发现我们的时间序列数据是稳定的,这是AR模型的要求。

作者:萨尔曼侯赛因

内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/315789.html

(0)

相关推荐

  • 剑网3指尖江湖怎么升级,剑网3指尖江湖升级攻略

    剑3指尖江湖飞升版是最新上市的玄幻冒险手机游戏,剑3指尖江湖飞升版采用了非常高的游戏画质。 在游戏中,玩家体验到非常多的游戏乐趣,做出丰富的职业选择,不同的职业有不同的玩法,展开自...

    阅读 2022年10月21日
  • 顺丰寄到美国多少钱,国际快递怎么邮寄

    顺丰寄到美国多少钱,国际快递怎么邮寄 1、从中国寄东西到美国的收费标准是什么呢?首先要看物品的属性,不同物品的价格会有所不一样,不同国家的收费标准也会不一样物品分为普通物品、特殊物品和违禁品,普通物品又分为带电物品和

    攻略 2021年10月8日
  • 餐饮微信小程序解决方案(微信餐饮小程序有哪些)

    餐饮小程序是当前很常见的类型,当你到一个餐饮商店,无需再排队点单,只需扫描餐桌上的二维码,就能快速用

    攻略 2021年12月31日
  • 摔碗酒在哪?(酒碗图片)

    摔碗酒在哪?(酒碗图片)原题标:摔碗酒在哪?(酒碗图片)相关推荐西安摔碗酒是啥酒??较近抖音摔碗酒真的超火,不少小伙伴看完都表示想去西安一趟,感受一下这个摔碗酒现场的氛围。其实就算是平时不爱喝酒的小伙伴也可以尝试一下哦,

    营销 2021年10月7日
  • 铂金多少钱一克回收:铂金多少钱一克?

    社区铂金多少钱一克回收:铂金多少钱一克?2016年03月12日,建议你可以到分子珠宝网了解一下,但是保值性不强,有铂金铂金回收报价和铂金回收方面的知识介绍,铂金pt950的回收是根据成色来定价的,一克?18K白金回收钱价

    电商 2021年11月9日
  • “妹说就是零卡”是什么梗?

    点击【热梗百科】关注+设为星标公众号,热梗早知道 图源来自网络,侵联删 【解梗】 “妹说就是零卡”是什么梗? “妹说就是零卡”是什么梗?最近小伙伴在网上冲浪时能看见“妹说就是零卡”...

    阅读 2022年5月2日