考虑竞争的电影首映日票房集成预测模型研究*

2021-01-28 07:43唐中君吴凡倪浪
科技促进发展 2020年10期
关键词:堆栈电影票房竞争

■ 唐中君 吴凡 倪浪

北京工业大学经济与管理学院 北京 100124

0 引言

电影是典型的短生命周期无形体验品。随着社会经济的发展,体验经济越来越重要。国家自然科学基金委管理学部批准了面上项目“基于类比推理的短生命周期无形体验品需求预测”。本文以电影为例,研究电影首映日票房集成预测模型,是该面上项目的部分成果,在该项目中起到了重要作用。

电影首映日票房影响着电影院线首映日后的排片计划,直接影响后续放映日票房,对总票房有重要影响[1]。没有准确的首映日票房预测,电影院线难以对首映日进行合理排片,易于出现当日高空座率或座位不足,进而影响总票房。映前一周是首映日票房预测和依据预测结果排片的重要时点。因此,提出适合于映前一周的首映日票房预测模型具有重要现实意义。

与映后电影票房预测不同,电影映前未产生票房实际数据,也没有观众口碑信息。这两类数据是近几年映后电影票房预测方法中最常用的数据。相对而言,映前票房预测可使用的信息类别远少于映后预测,增加了预测难度。与此同时,电影在短期内市场总量一定,同档期电影间存在高度竞争[2],尤其是同档期高票房电影、同类型电影会对新上映电影票房产生重要影响。然而,以往研究主要探索了口碑,电影类型和排片等单一竞争因素的影响,尚未发现较为全面地考虑竞争因素对首映日票房影响的研究。

图1 模型构建流程

由于缺乏票房和口碑数据,截至2019年,以时间序列为代表的映后票房预测方法难以适用于映前预测[3]。以多元线性回归模型为代表的、可用于映前的单一票房预测方法普遍存在预测准确性不足,稳定性差等问题[4]。集成模型(Ensemble Model)是近几年来在kaggle数据科学竞赛中获得广泛使用的、较为先进的一类方法。以堆栈泛化(Stacking Generalization)为代表的堆栈集成模型相比单一预测模型,拥有更好的预测精度、稳健性和泛化能力[5]。因此,在预测信息类别少,数据缺失较多的电影首映日票房预测环境下,可应用集成模型以提高预测准确性。然而,未曾发现这样的研究。

本文将分析电影映前7天可获取的与首映日票房有关的信息,构建包括档期内竞争、消费意图等的预测变量集;使用多元线性回归,支持向量回归,Lasso 回归和XGBoost 算法构建基学习器;在此基础上,进一步构建基于XGBoost 算法的首映日票房集成预测模型。通过对比实验,验证本文构建的首映日票房预测模型的有效性。

1 文献综述

本节从预测所用信息和方法两方面进行综述。

就预测所用信息而言,映后预测使用的一些信息在映前已经产生,可以为映前预测所用。这些信息包括电影基本信息和观众期待。

最早研究电影票房预测的Barry 在构建多元回归电影票房预测模型时,利用的电影基本信息有电影类型,导演及演员影响力,是否续集等变量。此后众多学者在这些基本信息的基础上,增加了演员获得或提名奥斯卡“最佳演员奖”[6]、专业影评人早期对预告片的评论[7]、投资总额[8]等预测变量。

对观众期待的刻画主要利用社交网络中电影预告片或电影海报的热度等信息。例如,Mestyán[9]发现,电影映前一个月内在维基百科上的页面浏览量和用户参与编辑数对票房有积极影响。Oh[10]研究发现,预告片在社交网络上的评论量和分享量都对票房有显著影响。类似的观众期待变量还有针对电影脚本内容的社交网络热度、社交媒体的期待指数等。

除电影基本信息和观众观影期待之外,同档期电影之间的竞争是影响票房的重要因素。而现有文献对该因素的考虑主要集中在映后预测中,并且只考虑了该因素的某一方面。例如,贺凯彬[11]研究了竞争电影口碑对票房的影响。结果表明,电影票房不仅与该电影口碑相关,还与同档期内该电影与最高口碑电影的口碑差距有关,差距越大,电影票房越低,档期热度和该档期内上映电影数对这种负向作用具有调节效应。类似地,Yeung[12]通过关注竞争因素中的口碑竞争,发现竞争对手评分越低,越有利于竞争电影取得具有垄断性的票房。此外,张伦[13]探讨了不同类别电影的票房竞合关系。结果表明,在电影安排档期时应考虑电影类型间的竞争合作关系。总之,以往研究主要探索了竞争环境中的口碑,电影类型和排片等单一竞争因素的影响,尚未发现较为全面地考虑竞争因素对首映日票房影响的研究。

众多预测方法与预测工具都曾应用于电影票房预测[14],如BP 神经网络[15],机器学习算法等[16]。以往研究多利用单一模型,但单一模型的预测稳健性和准确性往往不佳,采用集成模型可以有效解决这一问题。

集成模型主要有装袋算法(Bagging)、提升算法(Boosting)和堆栈集成(Stacking)3 类。Stacking 利用堆栈泛化方法集合不同类型的基学习器,以此构建的模型称为堆栈集成模型。堆栈集成模型的实质是构建两层或以上的学习器网络;第一层学习器称为基学习器(Base-Learner),与Boosting 等集成方法不同,堆栈集成中的基学习器可由多个不同类型的算法组成。第二层学习器称为元学习器(Meta-Learner)。元学习器以基学习器的输出作为输入,通常以降低基学习器偏差为准则选取元学习器。因而,可将堆栈集成模型视为一个多层感知机:基学习器作为隐藏层神经元,元模型作为输出层,以提高预测精度,同时获得更优的泛化性能和稳健性。

堆栈集成可有效提高预测精度,降低泛化误差[17],在所有集成模型中具有最优的泛化性能。文献[18]以数理证明的形式证明了堆栈集成模型的有效性。随着机器学习算法的不断发展,更多高效的算法可用作集成模型的基学习器,进一步提高了堆栈集成模型的泛化性能、稳健性和预测精度。例如,Pernía[19]在零件生产质量预测中,运用人工神经网络(Artificial Neural Network,ANN),邻近算法(K-NearestNeighbor,KNN)等作为基学习器,使用ANN 作为元学习器,结果表明堆栈集成模型的均方根误差低于单一预测模型。Zhai[20]使用自适应提升算法(Adaboost)、XGBoost和Lasso回归等算法作为基学习器,使用SVR 作为元学习器预测空气质量,证明堆栈集成模型在泛化性能和预测精度方面均优于单一预测模型。然而,未曾发现将堆栈集成模型应用于电影首映日票房预测的研究。

表1 解释变量及来源

2 首映日票房预测集成模型构建

2.1 模型构建流程

模型构建流程如图1所示,主要包括数据抽取和堆栈集成两个阶段。

在数据抽取阶段,从社交网络和各专业电影网站爬取相应数据后,集合以往研究和数据分析,得到源数据。随后对源数据进行数据清洗,得到可以用来训练和验证基学习器的候选解释变量数据集。

在堆栈集成阶段,使用多元线性回归,支持向量回归,Lasso 回归和XGBoost 作为基学习器,并使用XG‐Boost 作为元学习器构建堆栈集成预测模型。首先用数据抽取阶段得到的训练集与验证集来训练和验证基学习器,训练之后采用十折交叉验证的方式,以获得最稳定的训练结果。随后以基学习器的输出作为元学习器的输入进行预测,得到最终的预测结果。同时利用XG‐Boost的输出结果进行进行特征重要性分析。

2.2 数据抽取

数据抽取的主要工作是爬取文献研究数据、电影首映日数据和电影竞争环境数据,得到可用于训练和验证基学习器的源数据。该阶段的核心是如何选择变量。

通过参考已有文献中的研究及对电影竞争环境的识别,结合电影首映日前能够获取的数据情况。初步分析后得到如表1所示的34 个解释变量,分为竞争环境、观众期待、电影基本信息和市场基本面4 类。解释变量的选取秉持以下原则:(1)尽可能多的识别票房影响因素;(2)该变量必须是电影上映前可收集到的信息;(3)变量数据必须是可以以较低时间成本获取的。

图2 模型训练步骤图

图3 特征重要性分析图(纵轴变量的含义见表3)

a.竞争环境。电影票房不仅与该电影口碑相关,还与同档期内该电影与最高口碑电影的口碑差距有关,差距越大,电影票房越低,并且档期热度和该档期内上映电影数对这种负向作用具有调节效应[21]。本文对竞争环境的量化主要考虑两个方面。(1)高票房竞争对手。由于市场总量在短时期内基本固定,所以对高票房竞争对手的考量是有必要的。综合考虑口碑效应及可获得数据,本文选取预测电影上映前一周首要竞争对手的票房数据及前三名竞争对手的座位数等数据,来度量高票房竞争对手;(2)同类型电影的竞争对手。考虑到不同类型的电影可能面向不同的目标观众,本文选取同档期内的同类型电影上映数量、上映时长等作为竞争环境变量。

b.观众期待。社交网络数据被广泛运用于需求预测。相较于预告片评论量等社交网络数据,预告片在社交网络的分享数对票房具有更显著影响[22]。本文使用社交网站如微博和优酷视频网站的用户对目标电影预告片的转发与评论数,以及百度搜索指数和豆瓣“想看”的人数等变量来量化观众对电影的期待程度。

c.电影基本信息。电影的基本信息是指电影导演、演员等内在信息,是用于票房预测的最主要信息,并且多种电影基本信息都得到了较为深入的研究[23]。因此,本文从文献直接选取这类变量。包括电影类型,电影投资额,观众熟悉程度(是否为续集电影),卡司阵容等。

d.市场基本面。该类变量用于探索一定时期内市场总量对电影票房的影响。本文选取电影上映前12 个月内的中国内地电影市场票房等数据来量化这类变量。

2.3 堆栈集成

本文拟构建一个以多元线性回归(MLR)、Lasso 回归、支持向量回归(SVR)和XGBoost(Extreme Gradient Boosting)算法作为基学习器,使用XGBoost作为元学习器的堆栈集成模型。在基学习器模型中,使用训练集对每一基学习器进行训练。训练之后,利用类似于十折交叉验证的方式,输出预测结果。随后,元学习器(XG‐Boost)利用基学习器预测结果作为输入来进行最终的预测。

多元线性回归是研究不确定性关系的有效统计方法,也是近二十年来票房预测中应用最早与最广的方法之一[24];Lasso 是一种回归分析方法,可同时实现变量选择和正则化,广泛应用于统计学和机器学习领域。Lasso回归能够保持对高维变量的计算可行性,并且容易产生可解释的稀疏解,是电影票房预测的一种常用方法[25];SVR 是支持向量机在回归问题上的应用,方法较为成熟,可将SVR 算法用于电影票房预测研究;XGBoost 算法属于集成方法中的同源集成,是Boosting方法的一种,同时也是一种灵活可扩展的梯度提升方法。具有结果可解释性强,对缺失值不敏感,支持列抽样等优点,在预测研究中具有良好的适用性[26]。基于上述原因,本文拟选取MLR、Lasso 回归、SVR 和XGBoost 算法作为基学习器。

基于堆栈泛化的集成模型的训练步骤如图2所示。

第一步,将解释变量数据集分割为训练子集和验证子集。

第二步,对每一个基学习器模型,使用训练子集和验证子集进行训练和验证。

第三步,将验证子集的预测结果作为输入变量训练元模型,然后进行预测。

第四步,重复步骤1—3,直至所有数据均被用于训练和预测。

3 模型验证结果与特征重要性分析

本节首先选取均方根误差(RMSE)与平均绝对百分比误差(MAPE)作为评价指标,对首映日票房单一预测模型和集成预测模型进行评价,然后利用XGBoost 的特征权重值对加入竞争变量的数据集进行特征重要性分析。

表2 模型验证结果

3.1 模型验证

如表2所示,对于多元线性回归、Lasso 回归和SVR这3 种单一模型,基于测试集数据经十折交叉验证后的RMSE 分别为8.91,10.42 和14.65,表现出较差的预测准确性和稳定性。对比这3种模型的训练集和测试集结果可以发现,模型存在过拟合风险。与这3 种单一模型相比,XGBoost 单一模型的训练集和测试集结果均取得了较优的预测精度,且具有更优的稳定性。

对比所有单一模型和以XGBoost 作为元学习器的堆栈集成模型的预测结果,可以看出,对于训练集,集成模型较单一模型至少有20%以上的预测准确性提升;对于测试集,集成模型比表现最优的单一模型仍有预测准确性和稳定性的提升,显示出集成模型更优的预测性能和泛化能力。

3.2 竞争变量的特征重要性分析

XGBoost 可以分别根据权重、增益和覆盖度参数输出具有可解释性的特征重要性指标。其中,权重参数具有直观,区别性强的特点,被广泛使用于特征重要性分析,因此本文使用该参数。在具体操作中,利用Python的XGBoost 包,使用Feature_important 函数来输出特征重要性指标并排序。结果如图,横坐标表示特征在所有树中作为划分属性的次数,纵坐标表示变量名称。

表3 预测变量表

根据特征重要性排序结果知。首先,在竞争变量中,首要竞争对手荧幕占比、首要竞争对手的座位数、首要竞争对手的豆瓣评分、前三竞争对手的映日总座位数、前三竞争对手中与目标电影接近评分的电影数量等这些变量在特征重要性中排名前列,说明电影竞争环境尤其是其首要竞争者对首映日电影的票房影响巨大。竞争对票房的重要影响显示了档期的重要性,对上映电影来说,选择合适的上映档期,尤其是避开那些具有极大票房号召力的电影可以带来更好的开映票房成绩。

其次,首要竞争对手微博话题转发量、首要竞争对手微博话题评论数、前三竞争对手的同类型电影微博评论等变量对首映日票房的影响不容小觑。因而,电影宣传发行团队应关注电影档期内具有票房优势的竞争者,尤其是最高票房竞争对手的社交网络影响力。并在社交网络中,针对首要竞争对手采取针对性的宣传措施,以提升首映日票房成绩。

最后,同类型竞争对手的电影总场次、平均场次、以及电影数量的特征重要性较高,对首映日票房的影响较大。因而电影发行方在确定开映日期时,应尽量避免电影档期内出现同类型电影,尤其是具有高票房号召力的同类型电影。以此更能帮助取得更好的开映票房成绩。

4 结论与展望

映前预测缺乏票房、口碑等信息,可用预测变量类别少,传统预测方法缺乏稳定性和可泛化性。据此本文构建了以多元线性回归、支持向量回归等模型为基学习器,以XGBoost 为元学习器的堆栈集成模型。实验结果表明,集成预测模型具有对首映日票房预测的适用性和有效性。基于堆栈集成的集成预测模型很好地结合了基预测模型的优点,相比较于单一预测模型有更高的预测精度和更好的泛化性能。在首映日票房预测中,集成模型在训练集和测试集中准确性均高于80%,比较单一预测模型有较显著的预测准确性提升。同时,训练集与测试集中表现较为接近也显示出集成模型具有突出的泛化性能和稳健性,比较单一预测模型对首映日票房预测更稳定,因此集成预测模型更适用于首映日票房预测。

特征重要性结果表明,本文构建的考虑竞争的映前电影票房数据集适用于电影首映日票房预测。其中,竞争环境对电影开映票房的影响十分显著,最主要表现在市场中最高票房的电影和档期内同类型电影的上映会抢占有限的电影票房。因而电影发行方需认真考量当前电影竞争环境,合理选择档期,以取得最佳电影开映票房成绩。

本研究尚存在以下局限:仅使用2017年电影数据展开实验,有必要利用更多数据进行验证,以进一步探索集成模型的泛化能力;对票房影响因素的分析有待深入,需进一步探索具有显著影响因素的现实意义。

猜你喜欢
堆栈电影票房竞争
基于行为监测的嵌入式操作系统堆栈溢出测试*
新年新气象,元旦来带头 2021年1月电影票房排行榜
打铁还需自身硬 2020年10月电影票房排行榜
意料之中,整体表现平淡 2020年9月电影票房排行榜
暑期档继续“遇冷”2019年7月电影票房排行榜
基于堆栈自编码降维的武器装备体系效能预测
感谢竞争
一种航天器软件进程堆栈使用深度的动态检测方法
儿时不竞争,长大才胜出
竞争