■ 唐中君 吳凡 倪浪
北京工業(yè)大學經(jīng)濟與管理學院 北京 100124
電影是典型的短生命周期無形體驗品。隨著社會經(jīng)濟的發(fā)展,體驗經(jīng)濟越來越重要。國家自然科學基金委管理學部批準了面上項目“基于類比推理的短生命周期無形體驗品需求預測”。本文以電影為例,研究電影首映日票房集成預測模型,是該面上項目的部分成果,在該項目中起到了重要作用。
電影首映日票房影響著電影院線首映日后的排片計劃,直接影響后續(xù)放映日票房,對總票房有重要影響[1]。沒有準確的首映日票房預測,電影院線難以對首映日進行合理排片,易于出現(xiàn)當日高空座率或座位不足,進而影響總票房。映前一周是首映日票房預測和依據(jù)預測結果排片的重要時點。因此,提出適合于映前一周的首映日票房預測模型具有重要現(xiàn)實意義。
與映后電影票房預測不同,電影映前未產(chǎn)生票房實際數(shù)據(jù),也沒有觀眾口碑信息。這兩類數(shù)據(jù)是近幾年映后電影票房預測方法中最常用的數(shù)據(jù)。相對而言,映前票房預測可使用的信息類別遠少于映后預測,增加了預測難度。與此同時,電影在短期內市場總量一定,同檔期電影間存在高度競爭[2],尤其是同檔期高票房電影、同類型電影會對新上映電影票房產(chǎn)生重要影響。然而,以往研究主要探索了口碑,電影類型和排片等單一競爭因素的影響,尚未發(fā)現(xiàn)較為全面地考慮競爭因素對首映日票房影響的研究。
圖1 模型構建流程
由于缺乏票房和口碑數(shù)據(jù),截至2019年,以時間序列為代表的映后票房預測方法難以適用于映前預測[3]。以多元線性回歸模型為代表的、可用于映前的單一票房預測方法普遍存在預測準確性不足,穩(wěn)定性差等問題[4]。集成模型(Ensemble Model)是近幾年來在kaggle數(shù)據(jù)科學競賽中獲得廣泛使用的、較為先進的一類方法。以堆棧泛化(Stacking Generalization)為代表的堆棧集成模型相比單一預測模型,擁有更好的預測精度、穩(wěn)健性和泛化能力[5]。因此,在預測信息類別少,數(shù)據(jù)缺失較多的電影首映日票房預測環(huán)境下,可應用集成模型以提高預測準確性。然而,未曾發(fā)現(xiàn)這樣的研究。
本文將分析電影映前7天可獲取的與首映日票房有關的信息,構建包括檔期內競爭、消費意圖等的預測變量集;使用多元線性回歸,支持向量回歸,Lasso 回歸和XGBoost 算法構建基學習器;在此基礎上,進一步構建基于XGBoost 算法的首映日票房集成預測模型。通過對比實驗,驗證本文構建的首映日票房預測模型的有效性。
本節(jié)從預測所用信息和方法兩方面進行綜述。
就預測所用信息而言,映后預測使用的一些信息在映前已經(jīng)產(chǎn)生,可以為映前預測所用。這些信息包括電影基本信息和觀眾期待。
最早研究電影票房預測的Barry 在構建多元回歸電影票房預測模型時,利用的電影基本信息有電影類型,導演及演員影響力,是否續(xù)集等變量。此后眾多學者在這些基本信息的基礎上,增加了演員獲得或提名奧斯卡“最佳演員獎”[6]、專業(yè)影評人早期對預告片的評論[7]、投資總額[8]等預測變量。
對觀眾期待的刻畫主要利用社交網(wǎng)絡中電影預告片或電影海報的熱度等信息。例如,Mestyán[9]發(fā)現(xiàn),電影映前一個月內在維基百科上的頁面瀏覽量和用戶參與編輯數(shù)對票房有積極影響。Oh[10]研究發(fā)現(xiàn),預告片在社交網(wǎng)絡上的評論量和分享量都對票房有顯著影響。類似的觀眾期待變量還有針對電影腳本內容的社交網(wǎng)絡熱度、社交媒體的期待指數(shù)等。
除電影基本信息和觀眾觀影期待之外,同檔期電影之間的競爭是影響票房的重要因素。而現(xiàn)有文獻對該因素的考慮主要集中在映后預測中,并且只考慮了該因素的某一方面。例如,賀凱彬[11]研究了競爭電影口碑對票房的影響。結果表明,電影票房不僅與該電影口碑相關,還與同檔期內該電影與最高口碑電影的口碑差距有關,差距越大,電影票房越低,檔期熱度和該檔期內上映電影數(shù)對這種負向作用具有調節(jié)效應。類似地,Yeung[12]通過關注競爭因素中的口碑競爭,發(fā)現(xiàn)競爭對手評分越低,越有利于競爭電影取得具有壟斷性的票房。此外,張倫[13]探討了不同類別電影的票房競合關系。結果表明,在電影安排檔期時應考慮電影類型間的競爭合作關系??傊酝芯恐饕剿髁烁偁幁h(huán)境中的口碑,電影類型和排片等單一競爭因素的影響,尚未發(fā)現(xiàn)較為全面地考慮競爭因素對首映日票房影響的研究。
眾多預測方法與預測工具都曾應用于電影票房預測[14],如BP 神經(jīng)網(wǎng)絡[15],機器學習算法等[16]。以往研究多利用單一模型,但單一模型的預測穩(wěn)健性和準確性往往不佳,采用集成模型可以有效解決這一問題。
集成模型主要有裝袋算法(Bagging)、提升算法(Boosting)和堆棧集成(Stacking)3 類。Stacking 利用堆棧泛化方法集合不同類型的基學習器,以此構建的模型稱為堆棧集成模型。堆棧集成模型的實質是構建兩層或以上的學習器網(wǎng)絡;第一層學習器稱為基學習器(Base-Learner),與Boosting 等集成方法不同,堆棧集成中的基學習器可由多個不同類型的算法組成。第二層學習器稱為元學習器(Meta-Learner)。元學習器以基學習器的輸出作為輸入,通常以降低基學習器偏差為準則選取元學習器。因而,可將堆棧集成模型視為一個多層感知機:基學習器作為隱藏層神經(jīng)元,元模型作為輸出層,以提高預測精度,同時獲得更優(yōu)的泛化性能和穩(wěn)健性。
堆棧集成可有效提高預測精度,降低泛化誤差[17],在所有集成模型中具有最優(yōu)的泛化性能。文獻[18]以數(shù)理證明的形式證明了堆棧集成模型的有效性。隨著機器學習算法的不斷發(fā)展,更多高效的算法可用作集成模型的基學習器,進一步提高了堆棧集成模型的泛化性能、穩(wěn)健性和預測精度。例如,Pernía[19]在零件生產(chǎn)質量預測中,運用人工神經(jīng)網(wǎng)絡(Artificial Neural Network,ANN),鄰近算法(K-NearestNeighbor,KNN)等作為基學習器,使用ANN 作為元學習器,結果表明堆棧集成模型的均方根誤差低于單一預測模型。Zhai[20]使用自適應提升算法(Adaboost)、XGBoost和Lasso回歸等算法作為基學習器,使用SVR 作為元學習器預測空氣質量,證明堆棧集成模型在泛化性能和預測精度方面均優(yōu)于單一預測模型。然而,未曾發(fā)現(xiàn)將堆棧集成模型應用于電影首映日票房預測的研究。
表1 解釋變量及來源
模型構建流程如圖1所示,主要包括數(shù)據(jù)抽取和堆棧集成兩個階段。
在數(shù)據(jù)抽取階段,從社交網(wǎng)絡和各專業(yè)電影網(wǎng)站爬取相應數(shù)據(jù)后,集合以往研究和數(shù)據(jù)分析,得到源數(shù)據(jù)。隨后對源數(shù)據(jù)進行數(shù)據(jù)清洗,得到可以用來訓練和驗證基學習器的候選解釋變量數(shù)據(jù)集。
在堆棧集成階段,使用多元線性回歸,支持向量回歸,Lasso 回歸和XGBoost 作為基學習器,并使用XG‐Boost 作為元學習器構建堆棧集成預測模型。首先用數(shù)據(jù)抽取階段得到的訓練集與驗證集來訓練和驗證基學習器,訓練之后采用十折交叉驗證的方式,以獲得最穩(wěn)定的訓練結果。隨后以基學習器的輸出作為元學習器的輸入進行預測,得到最終的預測結果。同時利用XG‐Boost的輸出結果進行進行特征重要性分析。
數(shù)據(jù)抽取的主要工作是爬取文獻研究數(shù)據(jù)、電影首映日數(shù)據(jù)和電影競爭環(huán)境數(shù)據(jù),得到可用于訓練和驗證基學習器的源數(shù)據(jù)。該階段的核心是如何選擇變量。
通過參考已有文獻中的研究及對電影競爭環(huán)境的識別,結合電影首映日前能夠獲取的數(shù)據(jù)情況。初步分析后得到如表1所示的34 個解釋變量,分為競爭環(huán)境、觀眾期待、電影基本信息和市場基本面4 類。解釋變量的選取秉持以下原則:(1)盡可能多的識別票房影響因素;(2)該變量必須是電影上映前可收集到的信息;(3)變量數(shù)據(jù)必須是可以以較低時間成本獲取的。
圖2 模型訓練步驟圖
圖3 特征重要性分析圖(縱軸變量的含義見表3)
a.競爭環(huán)境。電影票房不僅與該電影口碑相關,還與同檔期內該電影與最高口碑電影的口碑差距有關,差距越大,電影票房越低,并且檔期熱度和該檔期內上映電影數(shù)對這種負向作用具有調節(jié)效應[21]。本文對競爭環(huán)境的量化主要考慮兩個方面。(1)高票房競爭對手。由于市場總量在短時期內基本固定,所以對高票房競爭對手的考量是有必要的。綜合考慮口碑效應及可獲得數(shù)據(jù),本文選取預測電影上映前一周首要競爭對手的票房數(shù)據(jù)及前三名競爭對手的座位數(shù)等數(shù)據(jù),來度量高票房競爭對手;(2)同類型電影的競爭對手??紤]到不同類型的電影可能面向不同的目標觀眾,本文選取同檔期內的同類型電影上映數(shù)量、上映時長等作為競爭環(huán)境變量。
b.觀眾期待。社交網(wǎng)絡數(shù)據(jù)被廣泛運用于需求預測。相較于預告片評論量等社交網(wǎng)絡數(shù)據(jù),預告片在社交網(wǎng)絡的分享數(shù)對票房具有更顯著影響[22]。本文使用社交網(wǎng)站如微博和優(yōu)酷視頻網(wǎng)站的用戶對目標電影預告片的轉發(fā)與評論數(shù),以及百度搜索指數(shù)和豆瓣“想看”的人數(shù)等變量來量化觀眾對電影的期待程度。
c.電影基本信息。電影的基本信息是指電影導演、演員等內在信息,是用于票房預測的最主要信息,并且多種電影基本信息都得到了較為深入的研究[23]。因此,本文從文獻直接選取這類變量。包括電影類型,電影投資額,觀眾熟悉程度(是否為續(xù)集電影),卡司陣容等。
d.市場基本面。該類變量用于探索一定時期內市場總量對電影票房的影響。本文選取電影上映前12 個月內的中國內地電影市場票房等數(shù)據(jù)來量化這類變量。
本文擬構建一個以多元線性回歸(MLR)、Lasso 回歸、支持向量回歸(SVR)和XGBoost(Extreme Gradient Boosting)算法作為基學習器,使用XGBoost作為元學習器的堆棧集成模型。在基學習器模型中,使用訓練集對每一基學習器進行訓練。訓練之后,利用類似于十折交叉驗證的方式,輸出預測結果。隨后,元學習器(XG‐Boost)利用基學習器預測結果作為輸入來進行最終的預測。
多元線性回歸是研究不確定性關系的有效統(tǒng)計方法,也是近二十年來票房預測中應用最早與最廣的方法之一[24];Lasso 是一種回歸分析方法,可同時實現(xiàn)變量選擇和正則化,廣泛應用于統(tǒng)計學和機器學習領域。Lasso回歸能夠保持對高維變量的計算可行性,并且容易產(chǎn)生可解釋的稀疏解,是電影票房預測的一種常用方法[25];SVR 是支持向量機在回歸問題上的應用,方法較為成熟,可將SVR 算法用于電影票房預測研究;XGBoost 算法屬于集成方法中的同源集成,是Boosting方法的一種,同時也是一種靈活可擴展的梯度提升方法。具有結果可解釋性強,對缺失值不敏感,支持列抽樣等優(yōu)點,在預測研究中具有良好的適用性[26]?;谏鲜鲈颍疚臄M選取MLR、Lasso 回歸、SVR 和XGBoost 算法作為基學習器。
基于堆棧泛化的集成模型的訓練步驟如圖2所示。
第一步,將解釋變量數(shù)據(jù)集分割為訓練子集和驗證子集。
第二步,對每一個基學習器模型,使用訓練子集和驗證子集進行訓練和驗證。
第三步,將驗證子集的預測結果作為輸入變量訓練元模型,然后進行預測。
第四步,重復步驟1—3,直至所有數(shù)據(jù)均被用于訓練和預測。
本節(jié)首先選取均方根誤差(RMSE)與平均絕對百分比誤差(MAPE)作為評價指標,對首映日票房單一預測模型和集成預測模型進行評價,然后利用XGBoost 的特征權重值對加入競爭變量的數(shù)據(jù)集進行特征重要性分析。
表2 模型驗證結果
如表2所示,對于多元線性回歸、Lasso 回歸和SVR這3 種單一模型,基于測試集數(shù)據(jù)經(jīng)十折交叉驗證后的RMSE 分別為8.91,10.42 和14.65,表現(xiàn)出較差的預測準確性和穩(wěn)定性。對比這3種模型的訓練集和測試集結果可以發(fā)現(xiàn),模型存在過擬合風險。與這3 種單一模型相比,XGBoost 單一模型的訓練集和測試集結果均取得了較優(yōu)的預測精度,且具有更優(yōu)的穩(wěn)定性。
對比所有單一模型和以XGBoost 作為元學習器的堆棧集成模型的預測結果,可以看出,對于訓練集,集成模型較單一模型至少有20%以上的預測準確性提升;對于測試集,集成模型比表現(xiàn)最優(yōu)的單一模型仍有預測準確性和穩(wěn)定性的提升,顯示出集成模型更優(yōu)的預測性能和泛化能力。
XGBoost 可以分別根據(jù)權重、增益和覆蓋度參數(shù)輸出具有可解釋性的特征重要性指標。其中,權重參數(shù)具有直觀,區(qū)別性強的特點,被廣泛使用于特征重要性分析,因此本文使用該參數(shù)。在具體操作中,利用Python的XGBoost 包,使用Feature_important 函數(shù)來輸出特征重要性指標并排序。結果如圖,橫坐標表示特征在所有樹中作為劃分屬性的次數(shù),縱坐標表示變量名稱。
表3 預測變量表
根據(jù)特征重要性排序結果知。首先,在競爭變量中,首要競爭對手熒幕占比、首要競爭對手的座位數(shù)、首要競爭對手的豆瓣評分、前三競爭對手的映日總座位數(shù)、前三競爭對手中與目標電影接近評分的電影數(shù)量等這些變量在特征重要性中排名前列,說明電影競爭環(huán)境尤其是其首要競爭者對首映日電影的票房影響巨大。競爭對票房的重要影響顯示了檔期的重要性,對上映電影來說,選擇合適的上映檔期,尤其是避開那些具有極大票房號召力的電影可以帶來更好的開映票房成績。
其次,首要競爭對手微博話題轉發(fā)量、首要競爭對手微博話題評論數(shù)、前三競爭對手的同類型電影微博評論等變量對首映日票房的影響不容小覷。因而,電影宣傳發(fā)行團隊應關注電影檔期內具有票房優(yōu)勢的競爭者,尤其是最高票房競爭對手的社交網(wǎng)絡影響力。并在社交網(wǎng)絡中,針對首要競爭對手采取針對性的宣傳措施,以提升首映日票房成績。
最后,同類型競爭對手的電影總場次、平均場次、以及電影數(shù)量的特征重要性較高,對首映日票房的影響較大。因而電影發(fā)行方在確定開映日期時,應盡量避免電影檔期內出現(xiàn)同類型電影,尤其是具有高票房號召力的同類型電影。以此更能幫助取得更好的開映票房成績。
映前預測缺乏票房、口碑等信息,可用預測變量類別少,傳統(tǒng)預測方法缺乏穩(wěn)定性和可泛化性。據(jù)此本文構建了以多元線性回歸、支持向量回歸等模型為基學習器,以XGBoost 為元學習器的堆棧集成模型。實驗結果表明,集成預測模型具有對首映日票房預測的適用性和有效性?;诙褩<傻募深A測模型很好地結合了基預測模型的優(yōu)點,相比較于單一預測模型有更高的預測精度和更好的泛化性能。在首映日票房預測中,集成模型在訓練集和測試集中準確性均高于80%,比較單一預測模型有較顯著的預測準確性提升。同時,訓練集與測試集中表現(xiàn)較為接近也顯示出集成模型具有突出的泛化性能和穩(wěn)健性,比較單一預測模型對首映日票房預測更穩(wěn)定,因此集成預測模型更適用于首映日票房預測。
特征重要性結果表明,本文構建的考慮競爭的映前電影票房數(shù)據(jù)集適用于電影首映日票房預測。其中,競爭環(huán)境對電影開映票房的影響十分顯著,最主要表現(xiàn)在市場中最高票房的電影和檔期內同類型電影的上映會搶占有限的電影票房。因而電影發(fā)行方需認真考量當前電影競爭環(huán)境,合理選擇檔期,以取得最佳電影開映票房成績。
本研究尚存在以下局限:僅使用2017年電影數(shù)據(jù)展開實驗,有必要利用更多數(shù)據(jù)進行驗證,以進一步探索集成模型的泛化能力;對票房影響因素的分析有待深入,需進一步探索具有顯著影響因素的現(xiàn)實意義。