@chanvee
2014-07-23T13:59:54.000000Z
字数 1463
阅读 2942
趋势预测
按着上周组会老师们给的一些建议,我将Movielens(10M)数据集电影按着类别进行了分类,以此来分析不同类别的电影是否有不同的流行趋势,比如某些电影会流行的久一点,而有些电影会流行的短一点。但是由上图发现,除了纪录片这类电影比较奇葩外,其他电影的平均流行趋势其实是相差不多的;另外他们的流行趋势其实是呈现一定的周期性规律的,其表现在第四个季度即年末的时候大部分商品(电影)流行趋势都会得到提高,这可能是由于贺岁片啊、圣诞大片这种节日氛围的影响。此外,由以前的一些结果也可知,一般来说top流行的商品会一直流行(当然排名可能会下降),所以可能从电影分类这个角度来思考趋势预测可能不太容易进行。
这一周自己设计尝试了6种方法,并在Movielens-10M数据集上进行了测试,该数据集包含10681部电影和71567名用户共10000054条打分记录,其时间的跨度为从1995-01-09至2009-01-05,但是在打分的记录当中有的电影和用户并没有记录,所以事实上只有10677名有效用户和69863部有效电影,此外由于在1995至1996年之间总共只有3次评分记录,因此我们将这三次评分记录当做噪声去掉,即只剩下10000051条记录,但是总的有效用户数和有效电影数保持不变。然后我们将Movielens数据集从1996年至2009年按季度划分,形成了56个时间段,我们的目的则是在第i个时间点预测第i+1个时间点的top N 流行商品(i<55)。
Current-Rank是根据当前时间段商品的流行度来预测下一个时间段会流行的商品,这种方法的优点是准确率高,但是无法预测出新晋流行的商品。
Recent-Rank是根据商品最近的增长趋势来进行预测,即根据第i-1个时间段到第i个时间段商品增长的度来预测第i+1个时间段流行的商品,
History-Rank是根据商品的历史流行度来预测下一个时间段会流行的商品。
RS-UCF是根据当前这个时间段的评分记录构建评分矩阵,运用推荐算法(UCF)进行推荐,若推荐算法推荐某一商品给某个用户则该商品的流行度加1,最后根据此流行度的排序来预测下一个时间段会流行的top商品。
Hybrid-Add是将Current-Rank和RS-UCF混合的一种方法,它是将根据RS-UCF方法得到的流行度累加到当前商品的流行度上,这样在一定程度上解决了Current-Rank不能预测新晋商品的问题,但是准确率也会有一点程度的降低。
Hybrid-Rank也是将Current-Rank和RS-UCF混合的一种方法,但是它不是根据两种方法流行度的累加,而是对两种方法得到的排名进行耦合,其公式为: