149

猫眼电影李明辉:机器学习在票房预估中的实战

 6 years ago
source link: http://developer.51cto.com/art/201710/553959.htm
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

【51CTO.com原创稿件】近几年我国票房市场成倍增长,2011 年近 150 亿,2016 年 450 亿,预计 2020 年前后会达千亿规模。但这样的市场规模仅接近美国市场的一半左右,原因在于中国电影主要收入来源于电影票房本身,而美国电影衍生品的收入高达电影相关产业总收入的 70%,中国在这块却几乎空白。所以说,中国电影市场未来还有很大的成长空间。

诚然,机遇与风险并存,票房市场呈暴增趋势,问题也随之显现。当下,我国投入发行上映的电影有很多,每周都有近十部电影上映,但大部分电影不赚钱,赔本成常态。

高风险且投资回报率难以预测,很多时候大投入未必有大产出。在电影票房方面,预测工具的缺失,导致电影票房预测处于一个真空地带。

票房预测的意义、难点及影响票房的因素

票房预测的意义

票房预测非常重要,在每个阶段,都会起到很关键的作用:

  • 电影上映前,此时投资方准备投放一部电影,如可提前预估投资回报率,就能够有效控制风险。
  • 电影发行期,对电影进行广告和营销,如可依据电影票房规模制订不同营销方案,就能够控制成本。
  • 电影上映期,可根据票房预估结果,进行智能排片,趋近利益最大化的目标。

票房预测的难点

目前,票房预测达不到预期效果,是因为面临如下几大难点:

  • 中国电影正处于野蛮生长期,市场不够成熟。
  • 可使用的数据和参考的信息非常庞大,噪音却很多,想从互联网、搜索引擎、社交网络等渠道获得的大量电影信息中,挖掘对票房有用的数据很难。
  • 可供参考和学习的样本比较少,这是利用机器学习解决票房预测时遇到的最大问题。如若没有样本和数据,再好的方法、再高级的模型,也难以应用。
  • 有些感性特征难以量化,如通常凭借口碑来评价一部电影的好坏,但口碑如何来度量?如国庆、暑假对电影上映的影响,又如何度量?

影响票房的因素

票房高低,会受到很多方面的影响。如下,是一些关键因素:

  • 题材。这部电影是动画片、文艺片、动作片、还是国际好莱坞大片,题材不同导致受众范围不同,直接影响票房高低。
  • 卡司阵容。演员、导演的阵容,会形成粉丝群范围,不排除有些电影质量、内容不是很好,但因为有一些比较有号召力的演员参演,带来可观票房的现象。
  • 影片质量。影片的质量、口碑,大家公认较好,且在社交上传播广泛,也会带来票房的增量。
  • 档期。受到同期上映电影的竞争,会影响某部电影的票房。
  • 宣传力度。营销用多少成本,广告花费多少,电影上映时候投入票补多少,也会影响票房。
  • 非市场因素。比如官方因素,前期给某部电影设立出售目标或出现国家较反对的内容,买、偷票房数据等因素都会影响票房。

猫眼票房预测的整体技术体系

从最早期 1915 年前后的电影胶片时代到现在,在票房预测的整个发展过程中,我们经历了三大阶段,涉及到很多预测方式,具体细节见下图:

2013 年之后,当前的电影票房预测涉及全国实时票房、影院级实时票房、天极票房和总票房等部分。猫眼目前重点关注上映前一天、上映第一天以及上映当周周末这几个重要时间点的票房效果。

如下图,是猫眼票房预测的整体技术体系:

机器学习在票房预估中的实战
  • 实时票房,是每部电影在上映阶段,当天产生的票房。还有排片、人次、平均票价等各种细密度数据。
  • 天级票房,是预测每部影片在全国放映次日的票房,目前猫眼能做到在前一日 17 点、21 点预测第二天的票房。
  • 总票房,是指每部影片在整个上映周期的全国票房预测,以首映日、首周末日为时间节点。
  • 实时票房、天极票房和总票房三者之间存在一定的关系。实时票房提供实时和未来预测的数据,为天级票房提供数据的基础。天极票房预测某一天的票房,为总票房预测提供数据的基础。

如下图,是基础数据、预测服务和猫眼专业版三个子模块的相关关系:

机器学习在票房预估中的实战

如图中所示,基于合作影院售票数据、猫眼售票平台交易数据等这些基础数据,可对全国实时票房及每个影院的实时票房进行预测,当然获得的数据还需要进行一些降噪处理。

得到全国每个影院的实时票房后,可以做到城市地区实时票房的预测。重点是天级票房和总票房的预测,需要相对复杂的方法来做,处理后的数据都会展示在猫眼专业版,提供给电影从业者,影院经理、片方等进行参考。

如下图,是猫眼工具首页:

机器学习在票房预估中的实战

工具首页显示的是实时票房,点击进入就会看到天级票房和总票房的预测结果。当然,在这些数据背后,也会存在一些问题和解决方法,下面我们从实时票房开始,依次分析天极票房、总票房背后分别有哪些技术在支撑。

实时票房数据对于电影从业者很重要,通过猫眼工具可看到电影在所有影院里的排片、分布和实时票房数据。如果没有这样的工具,这些数据只能等待第二天国家电影票房的公布。

我们与 90% 的电影院合作、对接 18 种售票系统、详细的影院场次及座位数据等等,这些是猫眼做实时票房的优势。用猫眼买过票的人,一定对下图所示 UI 很熟悉。

机器学习在票房预估中的实战

在购票过程中,红色不能卖,那是不是说把全国所有影院红色数据加起来,就趋近实时票房了?

看起来是这样一个简单的道理,但事实上,红色数据并不代表全部销售,像电影院预留的电影票,想留一些好座位或自己售卖获得更高收益,也会呈现红色。

给这个问题定义就是已知猫眼合作影院(占全国约 90%)每部电影、每个场次的实时座位图数据,如何准确预测每部电影在全国全部影院的实时票房总和。这里难点有两个:

  • 位置图中状态不明确,导致数据噪音大。
  • 不是全部影院,数据不完备。

针对这两个问题,猫眼的解决方案是进行数据抽样,以部分样本为基础,估计全量。

如下图,是实时票房的统计模型:

机器学习在票房预估中的实战

有很多影院与猫眼合作,设共有 n 个场次,从这些影院中抽样出“高质量”的影院,设共有m个场次。

什么是高质量呢?就是看到的红色位置数据和第二天上报的数据相接近。统计 m 场次的售票数量,设为 X。通过右上角红色框内的公式,可得到全国的售票总量,其中X、m、n 抽取高质量影院的数据是确定的,只有 α 是未知。

这时,可使用前一天或历史的 α 值来模拟今天的 α 值。带入如图中的公式,就可得出当天的预估值,这是票房最核心的统计模型。

如下,是实时票房整个的框架图:

机器学习在票房预估中的实战

为了可以很好的提供实时服务,面对庞大的计算量,可以把计算分为离线和在线两部分。

α 值相对稳定,采用离线计算的方式即可。在线部分需要做数据清洗、票价处理,以及实时票数、票房的计算等。影院、地区实时票房计算是另一个相对独立的部分,算法也比较类似,这里不再详细介绍。

基于在线售票系统可获得直接交易的数据,预售票房、排片场次等细粒度数据和精准的实时票房为天级票房预测提供可靠的特征,这是猫眼在天级票房预测方面的优势。

天级票房是指预测未来某一天的票房,猫眼目前可以达到提前一天预测第二天票房,如下图是《速度与激情 8》首映票房走势:

机器学习在票房预估中的实战

从图中可以看到前一天 21 点预测票房,比例约占全天的 30% 左右的份额。猫眼在 30% 左右的售出情况下预测整体,难度系数很高,因为每部电影占比不同。

一个基本假设为票房 = 票价*人次 = 票价*场次*场均人次,可以看出很多特征均是乘积关系的。

做对数变换后,特征与目标之间就有了线性关系,可以利用线性模型来解决这个问题,如下是方程式:

log(票房) = log(票价)+log(场次)+log(场均人次)

y=w1*x1+w2*x2+...

如下是对数特征与目标之间的关系图:

log(票房) = log(票价)+log(场次)+log(场均人次)  y=w1*x1+w2*x2+...

通过这两幅图,可以看出前一日预售 VS 次日票房和前一日排片场次 VS 次日票房之间存在很强的线性相关。

特征和目标变量之间的关系是线性的,就可以采用线性回归模型来拟合票房,如下图:

wKiom1nfi2zhq9lZAAA_MuLLMvM637.jpg

左侧图为一元线性回归,右侧为多元线性回归。它们是回归分析预测法中最简单和最常用的方法。目标为平方误差,求解方法有最小二乘法、梯度下降等。这里引入正则化可防止过拟合。

如下图所示,为天级票房预测主要用到的特征:

wKioL1nfiN3DxnbFAAB18PilgRw397.jpg

一方面是实时票房提供的特征,另一方面是猫眼自身售票系统带来的票房相关特征。还有一些其他特征,如节假日、特征的组合等。

因为每天的规律都不相同,采用单一线性回归模型来拟合票房预测效果并不好。所以猫眼采用的方式是找到票房衰减规律,分段建模。

wKioL1nfiQ3Aqq25AABMCvGwUCc639.jpg

根据不同时间单独建模型,对首映日、非首映日,节假日、周几都会进行单独考虑。

先来看一个比较明显的总票房预测对比,如下图:

wKioL1nfiTmBWnXMAABT_TtWKHM924.jpg

图中所示两条曲线,分别是《速度与激情 8》与《摔跤吧!爸爸》的票房走势。

第一张《速度与激情 8》的票房走势是相对正常的,但第二幅《摔跤吧!爸爸》后期因为口碑不断发酵,导致票房曲线不断上扬。这样的情况,前期很难预测票房可以上涨多少。

总票房重点在首映日、首周末两个时间节点来预测票房总量。如下图,是总票房预测的层次模型:

wKiom1nfjBORPyXbAAA8vFmicVw874.jpg

总票房根据预测日的不同进行区别,如首映日、首周末一定要进行拆分。在不同的时间段上映,所用的模型也有所区别,都需要单独建模。

如下图,是总票房预测用到的特征:

wKioL1nfiXqAcM8BAABq2qtEotA295.jpg

总票房特征与天级票房特征差别很大,涉及影片属性、档期、竞争等。

如下图,是总票房预测用到的支持向量回归模型:

机器学习在票房预估中的实战

此模型的优点有三个:

  • 特征维度大于样本数时,仍然适用。
  • 小样本情况下,模型泛化性强。
  • 非线性核函数,可解决非线性的回归问题。

未来工作展望

在票房预测的基础方面,猫眼需要提高效果、提前时间点和进行方法创新。细则有如下几点:

  • 洞察票房内在规律,不断探索新的方法。
  • 正在尝试预测票房走势、预售比。
  • 交互式预测系统:支持总票房、天级票房的预测。
  • 天级票房再提前 1~2 天的小目标。
  • 总票房预测提前 1 个月的大目标。

在应用拓展方面,细则也有如下几点:

  • 影片排片:排片助手=>智能排片。
  • 发行营销:参与营销计划,进行票补的优化。
  • 树立票房预测的行业标杆。

以上内容根据李明辉老师在WOTI全球创新技术峰会——巅峰论坛的演讲内容整理。

机器学习在票房预估中的实战

2016 年加入猫眼大数据部,负责票房预测方向。2007 年毕业于哈尔滨工业大学,并获得计算机应用博士学位,后就职于微软、百度、阿里等互联网公司,研究和工作领域包括自然语言处理、计算广告、机器学习、人工智能等。

wKioL1new4zzKdd6AACSsaar_g4621.jpg

【51CTO原创稿件,合作站点转载请注明原文作者和出处为51CTO.com】

本月热文推荐TOP4

东方金信CTO石棋玲:浅析大数据风险分析与控制应用

民生银行高级数据分析师张丹:用R语言把数据玩出花样

一下科技CTO汤力嘉:技术人的产品创新力

彻底透视CDN痛点,互联网老兵聊聊CDN的那些事儿!


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK