二、分析思路 1、评分指标分析
提交结果的最终得分根据F值计算。 从计算公式来看,F是各个艺术家的分数相加得到的。 每个艺术家的分数是通过归一化方差计算的。
(西格玛)和
(phi) 是通过相乘得到的。
在
通过当前艺人每天的实际播放量相加并开根得到。 每位艺术家的参数
只有一个固定值,其大小取决于每位艺术家60天内的总播放量。 当艺人的总播放量较大时,
如果变大,F也会变大。 由此可见,60天内总播放量较大的艺人,预测会更加准确,收视率也会较高。 这是提高分数的快速方法。
从公式中看参数
将艺人提交的每日播放量与实际播放量的差值除以实际播放量如何播放量上十万,再平方,取60天的平均值,再开根号得到。 该参数反映了提交结果S与实际播放量T之间的差距,差异越小,预测越准确,(1-
)越大,F越大。当差异过大且超过实际播放音量T时,此时
>1, (1-
) 是一个负数。 此时艺人的评分为负,综合累积F值会更小。 由此可见,如果预测中有某个艺人的结果极其不准确,则F分会下降得更多,所以必须保证所有艺人的平均预测准确率。 也就是说,尝试保持稳定的值,因为突然的值很容易使结果恶化。
2. 规则初步探索
根据题目要求,可以确定这是一道回归预测题。 根据歌曲艺术家及其用户前六个月的记录,预测该艺术家在未来两个月的每日播放量。
建模过程为:
预处理-->提取特征并筛选-->模型(
多个自变量预测一个连续因变量值)-->预测-->评估
数据模式初步探索的目的是提取重要特征作为后续建模的候选样本变量。
发挥你的想象力并研究数据:
实验结果发现:
1. 使用最接近预测时间的时间段作为预测值是一种理想的方法。 因此,在初赛中,尝试绘制50位艺术家8月份播放量的箱线图。 如下图,可以看到8月份各个艺人的日播放值。 从图中可以区分播放量高的艺术家和播放量一般的艺术家。 根据收视指数,如果能够更准确地预测播放量较大的艺人,收视率就会上升。 因此,显然应该更多地关注播放量高的艺术家序列,并且应该进一步研究艺术家序列的分类方法。
2、以下是8月份按性别、语言分类的艺人播放量的箱线图,以及对应类别艺人数据量的柱状图。 由于有些艺人有不同语言的歌曲,因此这里的语言类别是根据艺人最流行的歌曲语言来分类的。 从图中可以大致判断,性别为3的艺人日播放量最低,语言1、4、11的艺人日播放量较高。
以下为各艺人8月30日的播放量值,以语言分类为横坐标,以颜色值区分艺人性别。 发现性别为3的艺人不一定播放量最低,语言为1、4、11的艺人播放量满足8月份播放量相对较高的数据规律,或者高低差距较大播放音量低。 所以你可以尝试按语言对艺术家进行分类。 在初赛中,尝试定义Language=1,4,11来定义高播放密集区域。 对这21位艺术家进行详细研究。 其余29位艺术家直接使用0830作为预测值。 在这21位艺术家中,选取数值较高或时间序列分布相对稳定的规则的重点研究艺术家,最终选出播放量较高的13位艺术家进行艺术家研究预测。
如图所示为8月份Language=1,4,11的艺术家对应的密度曲线。 可以看出,当Language=4,11时,密度曲线有两个峰值,而当Language=1时,主要有一个峰值,右侧有大量数字。 尾巴。 这些信息可以作为区分高产量艺术家和普通艺术家的界限。
3、论坛和群里有人研究了gmt_create的每小时用户记录,但没有发现明显的规律。 但从整体艺人的每周播放量来看,确实存在周期性规律。 以复赛期间播放量最高的100位艺人为例,以下是7月和8月的时间序列图。 除7月初(7月7日)之前外,此后基本稳定。
按每周7天计算的月平均播放量如下。 可以发现,这种分布格局与打工度假格局有关。
根据以往群成员提供的听音乐的年龄分布来看,用户占比最大的是25岁至31岁之间。 这些人大多是上班族,因此日常听音乐的习惯与工作习惯有关,对于上班族来说基本符合以下规律:
根据上图,由于大多数人听音乐是为了放松,也就是说,他们在最累的时候(周三)最需要放松。 此时听音乐的人数急剧增加,节假日周六周日放松活动的选择也很多。 听这首歌的人并不多。 这个可以根据工作日和节假日来区分。 很明显7、8月份每个月都是假期,价格比工作日低:
复赛中,艺人类型较多,不同艺人的周期模式会影响时间序列结果。 因此,周期规则可以作为艺术家分类的依据。
4.观察2015年3月到8月publish_time对应的艺术家时间序列图像。确实,在这个日期点附近有起伏或突然增加。 不过,由于2015年9月和10月的publish_time记录很少,而且这种突然增加很难衡量,所以我们暂时不考虑。 根据publish_time,我们可以发现每年都会有一些艺术家更新。 这类艺术家比较活跃,时间序列上有明显的波动; 部分艺术家已经停止更新,并且停止更新的艺术家的时间序列是稳定的。 这也可以作为对艺术家进行分类的依据。
官网表示song_init_plays包含的音乐大小并不准确,播放音量仅供参考。 由于是3月1日之前的统计,所以暂时不用。
3. 基本模型
建模前期主要关注数据预处理和基础模型建立。
预处理-->提取特征并筛选-->模型(多个自变量预测一个连续因变量值)-->预测-->评估
3.1 预处理
3σ准则:它首先假设一组检测数据仅包含随机误差,对其进行计算处理得到标准差,并按照一定的概率确定一个区间。 人们认为,任何超过这个区间的误差都不是随机误差,而是粗大误差。 包含此错误的数据应被删除。 3σ原理是:
由于艺术家和用户数据是随机采样的且数据量较大,因此大多数艺术家时间序列符合正态分布的密度曲线。 以下是部分艺人8月份日播放量密度曲线。 我们按照2倍标准差(SD)的方法粗略剔除数据。
但这个预测结果并不一定完全正确,因为前提假设需要满足正态分布。 观察后面艺术家的播放量并不一定有异常数据,但使用2sd数据消除异常后,第0天附近的较低播放量就会被消除。
其次,如果回归模型中使用时间作为变量,则需要填写删除的空出时间数据,如下图:
3.2 建立基本模型
在建模初期,根据规律:采用与预测时间越接近的时间段作为预测值越准确。
3.3 线上线下评价
除了每天10点在线提交分数外,线下测试分数可以辅助预测建模结果。 根据评分指标,以3月至6月的线下数据作为测试集,以7月和8月的艺人播放量作为结果集,计算线下评分。 但从实际评估结果来看,不同模型的线上线下评估结果存在诸多差异。
3 分类与预测 3.1 分类
根据规则,可以按照用户和艺术家进行分类。
1)按用户分类
可以看出,用户分为两个层次。 有些用户的浏览量非常少,低于50,而另一些用户的浏览量却很大,超过150。因此,考虑将艺术家用户分为两类:粉丝用户和随机用户。 假设n=35。 此时用户总数为12,7135。 普通用户a有120375,粉丝用户b有6760,此时普通用户a总播放量为617199; 粉丝用户b的总播放量为53,6210,类型2用户的播放量值恰好接近总播放量的一半。 由此可见,普通用户和粉丝用户对艺人播放量价值的贡献均显着。 图为艺人每日播放量(黑线)、普通用户a(蓝线)和粉丝用户b(红线)的播放量。 绿色圆圈清楚地表明两类用户的总播放量混合在一起。 定量序列的时间模式是可区分的。 从图中可以看出,不同用户的点播趋势不同:一般用户增加,粉丝用户减少。
进一步分析,根据公式:
艺人日播放量=艺人日用户数*当日用户平均观看数
分别研究艺人日均用户播放量和日点播用户数
如图所示:粉丝用户的日均播放量(红线)呈二次曲线下降趋势,这可以解释图中粉丝用户的总播放量。 与一般用户日均播放量(蓝线)相比,播放量基本呈平滑正常序列。
如图所示,所有序列都表现出较强的周期性(每周7天特征),一般用户的日活数量(蓝线)呈现上升趋势。 这可以解释一般用户总游戏量的增加; 粉丝用户日活人数(红线)先增后减; 但与普通用户相比,用户数量趋于稳定序列(极端在500人左右)。
总结以上规则,两类用户的日播放量可以分解为日均用户点播量与日用户数的乘积,一般符合以下规则:
1、粉丝用户序列b1:有趋势
2.一般用户序列a1:稳定
1、风机用户序列b2:稳定
2、一般用户序列a2:有趋势
由此发现的一个规律是:
1、对于粉丝用户日均播放量(b1)和普通用户日均用户数(a2),将两个时间序列分开进行线性回归。 将A1和b2替换为均值(平稳序列),然后代入公式:play=a1*a2+b1*b2
2. 期间,根据每日用户数得出。
但由于时间有限以及当时的知识和能力有限,我并没有深入研究。 看了比赛答辩PPT后,我发现这是一个可行的方法,可以深入研究。
2)按艺术家分类
在半决赛中,我们根据每个艺人8月份的平均播放量绘制了散点图。 我们可以清楚地发现,分类分界线是15000,将他们分为2类:高播放量艺术家和低播放量艺术家。 同时,以8月平均值作为60天的实际日播放量,利用评分公式计算预测完全准确时的F值,F值为64296.57135。 其中,播放量高的艺人的总F值为31413.58217,播放量低的艺人的F值为32882.98918,正好是总F值。 一半,说明这两类艺人的收视率不容忽视。
这个分类太粗略了。 研究了top5的防御模型后,我发现需要更细致的分类处理才能达到好的效果。
3.2 建模
初赛是线下进行的,所以可以使用建模软件尝试多种模型。 建模方法包括:
从最终的评分结果来看,这道从前183天预测接下来2个月(共60天)的问题简单地使用了时间序列方法。 由于预测时间跨度过长,结果总是收敛于一条直线。 效果不太理想。
多元线性回归(橙色线)在一些具有较强周期性模式和相对稳定趋势的时间序列中是一个不错的选择,如下图所示,其中自变量包括连续变量天数、星期几和该月的某一天。 它由每个季度的某一天、特殊日期和其他时间模式的虚拟变量组成。
而离线时,可以结合AR时间序列模型修改回归模型(蓝线),如图:
然而,线性回归并不适用于所有艺术家序列。 如图所示,这些预测结果偏差太大。
在线评分结果证实如何播放量上十万,即使是如下所示的预测结果也会降低分数。 预计趋势最终将在某个时刻趋于稳定。 因此,这个模型不能简单地用来适应所有艺术家。 艺术家序列还是有必要做的。 更详细的分类
因此,我们转而研究艺术家时间序列的规律。 图为按播放量从高到低排序的前20名艺术家的时间序列。 蓝线是以8月下半月的中值作为y值绘制的直线。 红线是由月平均值组成的各个A分段函数绘制的直线。 经过观察,时间序列曲线大致分为
半决赛试图利用形状、分形维数、加权周长、月度同比增长率和增长率等时间序列特征对 1000 个艺术家序列进行聚类。 不过,效果并不是很好。 大多数序列都聚集在一个类别中。 ,并不能突出上述分类方法。
由于时间、平台和自身知识的限制,最终大多采用规则模型,结合一些多元线性回归模型作为最佳提交结果。 半决赛得分:493919,排名84/500
4. 总结
这是我第一次玩游戏,我一边学习一边比赛。 在比赛中我也和队友们交上了朋友。 这对我来说是一个挑战,但我也学到了很多教训。 尤其是赛后小组内的交流以及八月份的精彩防守让我受益匪浅。 这里有3点经验:
1、简化思路,从最简单的开始。 模型不是一蹴而就的,而是在基础模型上经过一步步精细化加工得到的。 例如,很多选手最初在比赛过程中使用复杂的模型来预测60天每一天的成绩,但结果不如单分规则值。 这道题最经典的预测技巧就是将60天的预测简化为单点预测。 这可以根据公式推导出来。 除了规则方法外,还可以为此目的建立复杂的模型,例如第13名滑冰运动员。 窗口法。
2、要深入挖掘,必须细化分类。 图为第三名的防守模型。 可以看到,高手们对数据业务进行了详细的分类,然后一步步提高自己的分数。
3、针对这种实际上不完全正态分布的数据的处理技巧:大数惩罚的方法:对数变换
比赛结束后,一群朋友与我们分享,几乎任何模型,或任何基于平均值的规则,都已经假设目标服从正态分布。 如果目标不服从正态分布,则进行对数变换将使其更接近正态分布。 因此,得分很多。
另外,很多人对评价指标进行了深入的数学研究,每个人都有自己独特的想法。 虽然想法不同,但其实只要坚持认真学习,总会有结果的。 我们团队对数据的理解还是太粗略,应该做更精细化的思考。
资源持续更新
深度学习、机器学习、数据分析、Python
搜索公众号添加:datayx
发表评论