我应该如何处理音乐播放数据

数据挖掘 机器学习 数据挖掘 预测建模 时间序列
2022-03-05 14:53:19

我有按每首曲目播放的日期组织的音乐播放数据,从 2015 年 3 月 1 日到 2015 年 8 月 30 日。数据集包含播放歌曲的每一天的计数数据。我想预测从 2015 年 9 月 1 日到 2015 年 9 月 30 日的超时窗口中每首曲目的播放次数。

数据详情

数据来自阿里巴巴天池大赛

动作表(mars_tianchi_user_actions) 在此处输入图像描述

任何用户对歌曲的操作数据都由唯一的行指示

歌曲表(mars_tianchi_songs) 在此处输入图像描述

结果集

参与者需要预测艺术家在接下来的两个月(20150901-20151030)的播放数据。

参与者成绩表 (mars_tianchi_artist_plays_predict) 在此处输入图像描述

对于歌曲 ID daa234f183aee2373d20987b247cd768(所有歌曲 ID 都是哈希值)。游戏剧情是:

在此处输入图像描述

如您所见,该曲目每天播放的差异很大。

我还有关于谁播放每首曲目的数据,每个用户 ID 都表示为一个哈希值。

我想要一些关于我可以在这里使用哪种分析方法的指导。我正在考虑时间序列分析。

1个回答

有趣的问题。您当然可以为此使用时间序列方法,但您应该考虑您是否认为歌曲播放遵循时间模式具有面部有效性。从您上面的情节中,我看不到变体中的任何结构,但也许算法可以找到一些东西。一个好的起点是 R 的auto.arima自回归综合移动平均 (ARIMA) 函数。ARIMA 方法在别处有更全面的描述(例如,这里),但这种方法的一个有趣的扩展可能是在您的模型中使用外生预测变量。例如,是否下雨会影响播放某些歌曲的可能性吗?我的猜测是肯定的(我喜欢在下雨天听后摇滚乐队),但也许不是每个人都这样。这种对 ARIMA 的扩展在文献中称为 ARIMAX。可以在Rob Hyndman 的博客上找到关于如何在您的分析类型中处理协变量的非常好的细分。

第二个想法是,在有足够的计算资源的情况下,这里有一个有趣的隐马尔可夫模型 ( HMM ) 问题。您可以对从一首歌曲到另一首歌曲的转换概率进行建模。据推测,从给定唱片的曲目 1 转换到曲目 2 的可能性很高,但有时人们可能会在听完专辑中最喜欢的曲目后切换到不同的唱片。对于不同的音轨,这在多大程度上是正确的,这可能是该分析的一部分,您可以尝试对激励听众留在唱片中或转向新唱片的隐藏的潜在状态进行建模。