吳正清 曹暉 崔澤宇
關鍵詞:票房預測;隨機森林;特征權重;BP神經(jīng)網(wǎng)絡
電影票房在電影產(chǎn)業(yè)中占有舉足輕重的地位,因此,在電影發(fā)行當天對電影票房做出準確的預估,可以幫助制片人控制風險,幫助影院制定排片計劃,并引導影院和制片人制定市場戰(zhàn)略。在前期對電影票房的影響因子及票房預估的探討中,研究者著重于電影上映之前所確立的靜態(tài)影響因子,如主演、導演、編劇、題材、制式、獲獎及提名、上映檔期、發(fā)行公司、電影地區(qū)等。目前,對于上述的一些靜態(tài)影響因子,大部分學者都建立了比較完整的評價體系和比較科學的定量模型,而這些靜態(tài)因子在票房預報方面也得到了廣泛的應用。
本文使用從網(wǎng)絡上利用爬蟲技術搜集到的678部電影及其相關信息數(shù)據(jù)作為數(shù)據(jù)集,使用合理方法進行量化以及歸一化處理后,通過計算隨機森林變量重要性分數(shù),衡量每個影響票房因素的重要性,并基于隨機森林變量重要性得分對不同的變量賦予權重。其中300部電影用于計算隨機森林特征重要性分數(shù),其余電影使用10折交叉驗證法,利用BP神經(jīng)網(wǎng)絡模型進行票房預測,分別對比賦予權重與不賦予權重的預測效果來研究隨機森林特征賦予的有效性。
1相關工作
隨機森林(Random Forest,RF)[1]是一種廣泛使用的集合式機器學習方法,它包含多顆互相獨立的決策樹。決策樹中的結點主要包括3類:根結點,含有所有的樣本;內(nèi)部結點,代表特性的判定;葉節(jié)點,表示決策的結果。
隨機森林生成的步驟是:(1)將所有的樣本進行有放回的Ⅳ次隨機采樣,得到Ⅳ個子樣本,并為各子樣本生成決策樹;(2)從各采樣到的子樣本所含有的M項屬性中,隨機抽取m項,并在滿足m<
BP神經(jīng)網(wǎng)絡是一種多層的、以誤差反向傳遞為基礎的神經(jīng)網(wǎng)絡。BPNN分為2個部分,即前向信號傳遞和反向誤差傳遞。這種算法從輸入到輸出,進行誤差的運算,然后由誤差來校正網(wǎng)絡中的權值和閾值。首先,通過隱藏層,將輸入的信號非線性地傳遞到輸出節(jié)點,由此在實際的和預期的結果之間進行誤差的運算,再由隱藏層將其逆向傳輸?shù)捷斎雽?,根?jù)每個層次所得到的誤差信息來調(diào)節(jié)每個神經(jīng)元權值。經(jīng)過對各結點的權重和閾值的調(diào)節(jié),使得各結點的誤差沿梯度方向逐漸減小,并在反復的迭代中不斷地進行學習,最后得到輸出誤差最小的網(wǎng)絡參數(shù)[2]。
2電影票房影響因素數(shù)據(jù)處理
2.1數(shù)據(jù)獲取與數(shù)據(jù)預處理
電影數(shù)據(jù)的主要來源是中國票房網(wǎng)和豆瓣網(wǎng),利用網(wǎng)絡爬蟲技術收集電影的有關資料,并從各種其他渠道收集所需電影相關的各項數(shù)據(jù)。從網(wǎng)站上獲得的最終票房都是按照“萬元”單位轉(zhuǎn)換為浮點格式的:整合后的電影制作區(qū)域包括中國大陸,歐美,日韓,和其他地區(qū)等:一些影片的主題與內(nèi)蘊有關,如武俠題材的動作電影,這些也需要整合起來。另外,對于票房較差的影片,其研究價值較低,并且特征缺失問題嚴重,所以僅選取票房超過3000萬的影片作為預測數(shù)據(jù)。
2.2影響因素量化
2.2.1電影制式
本文對不同制式電影的歷史票房總和取平均來計算相應的影響力,以達到量化電影制式的目的。
2.2.2電影題材
對于電影題材的量化,本文通過各種題材電影的平均票房乘以各種題材電影所占比例來實現(xiàn)。同時,采用該指數(shù)的均值來表示具有多種題材的電影。
2.2.3影人因素
本文以導演、編劇和導演作品之前的票房平均來衡量影片的票房收入,并以導演、編劇和主演表中排名靠前的5名演員來進行預估。1部影片往往由多個導演、編劇和演員組成,因此,本論文選取了多個演員的平均影響力指標作為各個維度的定量指標。
2.2.4是否IP,是否續(xù)集
由于是否IP、是否續(xù)集等因素使電影票房起到正向的影響作用,因此,本文在對其量化時就簡單地將其使用布爾變量表示。
2.2.5制片地區(qū)
在對電影地區(qū)進行定量時,以平均票房和所占比例的方式來進行計算。1種影片可以是多個地區(qū)的合作作品,因此,本文選取了各個制片地區(qū)的平均影響指標。
2.2.6發(fā)行公司
在本文中,當公司的發(fā)行電影超過5部時,以公司的平均票房來衡量公司的影響力,如果是5部以下的公司,則會合并成其他公司,以已發(fā)行電影的平均票房來衡量公司的影響力。
2.2.7上映檔期
根據(jù)我國節(jié)假日實際情況劃分出4個檔期,并將檔期轉(zhuǎn)換成one-hot向量,如表1所列。
2.3數(shù)據(jù)歸一化
本文使用最大一最小標準化(Min-MaxNormalization,也稱離差標準化)方法進行數(shù)據(jù)標準化,經(jīng)過數(shù)據(jù)標準化后的數(shù)據(jù)會落在[0,1]區(qū)間。
3實驗結果與分析
根據(jù)計算得到的隨機森林變量的重要性分數(shù),確定各因素在票房中的重要程度,同時對隨機森林中變量的重要性分數(shù)給予不同變量作為權重。然而,基于隨機森林的性質(zhì),通過對各因素的權重系數(shù)進行分析,通過多次實驗得出的各項因素的重要性分數(shù)有差異,而通過多次實驗發(fā)現(xiàn),各因素的重要性分數(shù)的變化存在一定的范圍,故用多次實驗求平均。因為各個特征間的重要性分數(shù)差異很大,若將其作為權值,則會導致某些特征的數(shù)值偏大,而在其他特征數(shù)值偏低時,則會降低權值。因此,本文通過對計算得到的重要性分數(shù)進行對數(shù)轉(zhuǎn)換,求出各特征的重要度,從而使其在[0,1]范圍內(nèi),獲得最后的權值。
本文使用十折交叉驗證(10-fold cross-validation)來測試模型的效果,該方法的基本思路是:將所有的數(shù)據(jù)集平均分為10個部分,依次抽取9個部分當作訓練集,剩下1個部分當作測試集進行測試,然后將10輪訓練與預測后的結果進行平均,將平均值作為模型最后的估計結果。該方法可以有效解決由于不正確分割數(shù)據(jù)集而導致的模型過度擬合等問題。因為在用數(shù)據(jù)集較小時,進行建模很可能會產(chǎn)生這種情況,所以采用交叉驗證的方式來評價小規(guī)模數(shù)據(jù)集會有一定的優(yōu)越性。由于所采用的資料集數(shù)量少,因此,采用十折交叉驗證方法比較適合。
以R-Squared為評價標準,本文模型以及對比模型的實驗結果如表2所列。
2個模型的實驗結果折線圖如圖1所示。
在檢驗所建立的模型的票房預測結果時,除比較R-Squared模型的總體預測結果,還進行了一系列的實驗,以此模型,得出了5個最近幾年比較出名的影片的預測結果。它們的預測結果和實際值的比較表與絕對誤差的百分數(shù)如表3和表4所列。
4結束語
本文搜集了678部電影并將其作為數(shù)據(jù),選擇電影制式、電影題材、制片地區(qū)、發(fā)行公司、是否IP續(xù)集、主演、導演、編劇以及檔期等作為主要影響因素,隨機選取其中300部電影使用隨機森林算法計算特征重要性,之后使用BP神經(jīng)網(wǎng)絡對剩余電影進行票房預測。實驗結果表明,對電影影響因素賦予權重后的模型R—squared值高于未賦予權重的模型,對近年來的5部電影進行票房預測的結果也更接近于實際值。