Page 56 - 《软件学报》2020年第11期
P. 56

3372                                Journal of Software  软件学报 Vol.31, No.11, November 2020

                 著缩小机型选择空间的可能性.



                                           机型数量






                                                      时长比例(time share)
                                 Fig.2    Number of device models covering X% time share of game apps
                                       图 2   覆盖游戏类应用 X%时长比例需要的机型数量

                    由于应用上线之前没有足够的用户数据,无法根据应用自身的历史信息预测未来的情况,运用协同过滤思
                 想,使用相似应用的用户数据来预测目标应用的用户数据.根据具有相同特征的应用中不同机型用户的接受度
                 分布,预测该应用的用户接受度分布情况.具体而言,对于应用 A,选取同类别的 K−1 个应用,根据在这 K−1 个应
                 用中不同机型用户接受度的分布情况预测应用 A 的 N 个主要机型,采用 K 折交叉验证(此处等同于留一验证                               [39] )
                 算法验证预测效果.在 K 个应用中,选择某个应用作为应用 A,对其余的 K−1 个应用,将同一机型的在线使用时长
                 进行加总,计算出不同机型的在线使用时长,并选取排名前 N 的机型,预测其为应用 A 的主要机型.以机型命中
                 数、时长覆盖率、平均精准度作为评价指标,其中,机型命中数表示在实际的 N 种主要机型中命中的数量,时长
                 覆盖率表示预测出的 N 种机型的在线使用时长占实际时长的比例,平均精准度(average precision)则同时考虑了
                 N 种机型的排序情况.每次选取不同的应用,将这一过程重复 K 次,并对以上 3 种评价指标进行统计.选定
                 K=100,N=10,对豌豆荚数据集中包含的 14 类应用实验结果见表 1,其中,指标分别为机型命中数的中位数、时长
                 覆盖率的中位数和平均精准度的平均数(mean average precision).

                               Table 1    Prediction results of main device models for different app categories
                                             表 1   不同类别应用主要机型预测结果
                                  机型命中数(中位数)              时长覆盖率(中位数)               平均精准度(平均数)
                     应用类别
                               算法 1    算法 2    算法 3    算法 1    算法 2    算法 3    算法 1    算法 2    算法 3
                       商务        5       4       5     82.52   69.01   74.29    0.49    0.29    0.40
                       媒体        8       5      6.5     96.7   77.84   90.85    0.72    0.39    0.54
                       购物        7       5       5     91.68   76.44   85.64    0.62    0.33    0.47
                       通讯        6       5       5     85.92   73.31   81.71    0.53    0.33    0.44
                       母婴        5       4       5     76.81   62.87   73.24    0.47    0.27    0.41
                       社交        7       5       5     91.61   71.84   83.65    0.61    0.33    0.45
                       财务        7       5       6     90.58   77.11   84.43    0.63    0.38    0.49
                       新闻        7       4       5     90.31   73.13   79.14    0.58    0.32    0.43
                       工具        7       5       6     92.09    78.4   87.23    0.55    0.35    0.48
                       游戏        8       5       7     97.35   76.36   92.09    0.75    0.39    0.62
                       效率       4.5      4       4     61.05   57.62   60.75    0.40    0.27    0.36
                       旅行        8       5       6     94.77   80.59   88.34    0.69    0.41    0.50
                       生活        7       5       6     93.30   80.18   87.90    0.61    0.40    0.48
                       教育        7       5       6     93.20   73.43   85.70    0.65    0.38    0.52
                    作为对比,将上述预测算法计作算法 1,同时选用两种基于市场占有率的机型预测方法,分别计作算法 2 和
                 算法 3,同样计算 3 项指标.其中,算法 2 选用 AppBrain 在同一季度的 Android 设备销量排名前 10 的机型,对每
                 款应用均以此 10 种机型预测其排名前 10 的机型,即对任一应用 A,预测其排名前 10 的机型依次是 AppBrain 公
                 布的销量排名前 10 的机型.算法 3 则使用豌豆荚数据集统计出的市场占有率排名前 10 的机型,以消除数据集
                 不同带来的影响.同样,对每款应用均以此 10 种机型进行预测.
   51   52   53   54   55   56   57   58   59   60   61