Trend prediction in temporal bipartite networks: the case of Movielens, Netflix, and Digg笔记

文章在进行流行性预测的方法主要是通过时序商品-用户二部图和社交网络,对每个item预测流行性分数,最后根据商品流行性分数进行排序。数据集:Netflix、Movielens和Digg(前两个随机选取rating超过20的user,保留其所有ratings。3分以上定为喜欢)。评价指标:Top 100商品的准确率(Pn)和Top 100商品的新颖商品预测准确率(Qn)。

QQ截图20150416150536表示t之前的时间窗口Tp时间内,item alpha所得到的所有度。

基于流行度预测

由于流行性既跟到t时刻的累计流行度有关,又跟距离t时刻最近的某段时间的增量有关,于是文章首先将流行性分数定义与这两个量相关。于是定义流行性分数s为QQ截图20150416152034

当lambda为0时,流行性分数只跟alpha的累计度有关,当lambda为1时,只跟时间t*之前的Tp时间内得到的度有关。根据这个公式进行实验,用以预测的将来时间段Tf=90d和10h内item将要得到的评分数量,结果如下:QQ截图20150416152735方块:Tp=30d和10h;圆形:Tp=60d和20h;三角:Tp=90d和30h。最后一列散点图,Tp=Tf=60d和10h,虚线的第一象限到第四象限分别是:过去流行将来流行商品,过去不流行将来流行商品,过去不流行将来不流行商品和过去流行将来不流行商品(如商品在流行度Top100则视为流行)。绿色实心方块为利用上述公式,lambda取0.9时的预测结果为流行的item。

上图的top和mid展示了当lambda为0.9时movielens和netflix的准确率和新颖准确率最优。对于Digg来说,因为其演化速度较快,受到最近item的影响较大,所以新颖准确率单调递减,而准确率单调递增。

然后研究了lambda根据Tf的变化,其预测结果准确率和新颖准确率的变化趋势。

QQ截图20150416154932蓝方块:lambda=0;红圈:lambda=0.9;绿三角:lambda=1。

根据上图得到,利用流行性增量得到的预测结果更好;但其结果递减的更快。这也说明利用流行性总量预测更加稳定,总得来说,lambda=0.9的效果最好。但对于Digg来说,纯利用增量的结果最好,但其斜度在三个数据集来说也最陡峭。

给用户加权重: Weighted Popularity Predictor(WPP)

在进行movielens和netflix的预测时,考虑到有些用户可能在预测流行度的时候更加重要。所以可以为每个用户的打分附一个权重,权重即为用户的度,即用户打过分的商品越多,其打分的在预测时就越重要。得到式子:QQ截图20150416190256即用户在t*到t*-Tp这段时间内给商品是否有打分,若打分则打分乘以该用户的度的gamma次方得到该用户对该商品的流行性贡献值。把所有给本商品在这段时间内进行打分的用户的贡献值进行累加即为该商品的流行性分数。当gamma为0就退化成根据过去的流行性增量来进行预测。

用来进行预测的结果如图:QQ截图20150416190846

在gamma为0时,movielens和netflix的Pn和Qn达到最优值,而Digg则在gamma>0时,能大幅提高P和Q,也就意味着,这种方法能有效提高新颖准确度和准确度,特别是在Digg中。

社交网络:Influence-Based Predictor(IBP)

因为Digg中有社交网络数据,所以单列出来。在Digg中,如果一个人dig(即我们说的rating)一个item,则他的所有粉丝会看到这条消息。所以为follow-follow关系建立一个矩阵,若i follow了j,则Gij=1。与上面的式子类似,为item近期的每条rating行为加个权重,如式子:QQ截图20150416193309与式子3一样,这个eta也是一个可调参数。其中的I为权重,此处叫用户影响力。可以有以下几种形式:

1. i在社交网络中的所有粉丝。即在矩阵G中i列的所有值加和。将此种方法称为IBP-IN。

2. PageRank。称为IBP-PR

3. LeaderRank。称为IBP-LR

利用这种公式得出的结果如下图:

QQ截图20150416195008红圈:IBP-IN;绿三角:IBP-PR;橙菱形:IBP-LR。横线为直接用delta K得到的值。

结果发现利用社交网络能够提高预测的P和Q。特别是IBP-PR和IBP-LR,比单纯的入度更好。特别是,通过IBP预测的结果,很多都不能通过流行性增量或累计流行度预测出来。所以,IBP能够更好的预测出新颖的item。

结论

文章主要通过2种方法进行流行性预测:

1.通过给t*到t*-Tp期间的流行性增量和之前的累计流行性加参数,综合利用两个变量进行预测。

2.给每个rating加不同的权重,权重由其打分的用户决定,权重可以为:

①直接用用户打分的数据,用户打分越多权重越大

②辅以社交网络数据,利用用户的粉丝数(或进行PageRank、LeaderRank)进行主要节点的发掘,节点越重要,权重越大。

PrintEvernoteQQFacebookTwitterGoogle+分享