结合因果推断的时序预测
Last updated
Last updated
目前,已经有很多成熟的方法和工具可以进行时序预测,虽然进一步降低预测的精度是一件有意义的事情,但对于很多场景而言,只知道未来的预测值产生的价值比较有限,更重要的是知道哪些因素对未来的预测会产生影响,甚至知道如果将某些因素进行改变会对未来产生多大的效益。 比如,在我们的游戏场景中,给游戏策划一些重要指标的预测值对他们而言产生的价值有限,他们更看重的是一些干预策略的调整带来的变化,也就是更看重因果推断。
在这个课题中,我们将游戏的更新公告作为干预(intervention),结合因果推断的方式来更好地进行未来指标的预测,并且可以预测一些反事实的结果,进而进行有价值的分析。 例如改变某一种干预行为,分析产生的效益如何。如图1所示,通过历史的干预数据,我们可以分析出在到时刻指标的提升是因为周年庆主题活动的开开展,接下来因为服务器的合并导致了暂时一段时间(到)的指标下降,在未来时刻,我们如果采取不同的玩法更新策略,对后续一段时间的指标会产生多大的预估效益。
后续可以根据这个方案进行活动模拟,为游戏方提供最佳的干预策略。
给定任意一个游戏在t时刻(包括)之前的状态信息(包括一些静态信息和动态信息,动态信息包括玩家日在线时长、游戏在线人数、游戏的次日留存率等),公告更新信息,以及t时刻之前的目标值(比如流水),预测后续(可以是下一个时刻或者未来多个时刻)的目标值。 用公式形式化为:
本课题主要存在以下挑战:
由于干预是以文本的形式展示,且存在层次化的干预形式,需要对干预进行量化以适应于因果推断建模
序列预测中的因果推断存在time-dependent confounder,这些时序关联的混杂因子会对推断产生bias,需要去除这部分的影响
数据集只有可观测的(事实)的结果,没有反事实的结果,无法对反事实预测的有效性进行评估
主要从定量指标上进行评估:预测未来的事实结果的准确率,可以用回归指标如MSE,RMSE,MAE等进行评估; 但同时我们可以进行case study,通过分析预测的反事实结果与真实结果的差距来看改变某一种干预变量产生的影响。
游戏状态的一些特征,主要包括以下五个方面:
游戏信息
game_age_d
string
游戏年龄
用户活跃
avg_online_time_d
float
日玩家平均在线时长
DAOT
float
日均使用时长
DAU_MAU
float
DAU/MAU,用户每月活跃天数,反映游戏人气、用户粘性
new_sign_in_role_num_d
int
日新增人数
用户留存
retention_rate_d
float
次日留存率
retention_rate_7d
float
7日留存率
retention_rate_30d
float
30日留存率
用户流失
DCR
float
日留失率
用户付费
payment_rate_d
float
付费率
预测目标暂定为游戏收入。
实际预测中,会对游戏收入数据进行数值归一处理,例如normalized zero-mean或者min-max法
如有任何问题,请联系wurunze1@corp.netease.com,wangguifeng@corp.netease.com