(優視科技有限公司 北京 100102)
近幾年來,隨著經濟的快速增長,中國國民的收入和生活水平相比以前有很大的改變。人們對物質和精神追求也相對的提高了,從小孩到年輕人再到中老年人,都開始踏入電影院去觀看電影了。2017年來自國家新聞出版廣電總局電影局的數據顯示,我國2017年觀影人次達到16.2億,比上年13.72億增長18.08%。
同時國家對于文化產業的支持,也推進了中國電影市場的發展。國內大量資本企業的注入也讓市場更加活躍,包括互聯網企業也紛紛成立了自己的影業公司,如阿里影業,百度影業以及騰訊影業。這些互聯網企業的投資加入,無疑是給中國電影市場注入了強大的血液。
目前國內的電影票價趨于穩定,那么電影票房實際就代表了觀影人次,所以研究電影市場票房變化,在一定程度上體現了國民觀影意愿,同時在一定程度上代表國家經濟增長狀況以及人均可支配收入的情況。
本文數據來自國家電影專資辦 2010-2018年月票房數據。
本文將利用時間序列在研究時間相關問題上的優勢,找到適用于研究電影市場票房的時間序列模型,利用參數估計給出模型的參數,最后對模型進行診斷,判斷模型的好壞,最后利用已經建立的模型對未來給定的時間進行預測。
ARIMA模型全稱為自回歸積分滑動平均模型(Autoregressive Integrated Moving Average Model,簡記ARIMA),是由博克思(Box)和詹金斯(Jenkins)于70年代初提出一著名時間序列(Time-series Approach)預測方法[1],所以又稱為Box-Jenkins模型、博克思-詹金斯法。其中ARIMA(p,d,q)稱為差分自回歸移動平均模型,AR是自回歸,p為自回歸項; MA為移動平均,q為移動平均項數,d為時間序列成為平穩時所做的差分次數。所謂ARIMA模型,是指將非平穩時間序列轉化為平穩時間序列,然后將因變量僅對它的滯后值以及隨機誤差項的現值和滯后值進行回歸所建立的模型。ARIMA模型根據原序列是否平穩以及回歸中所含部分的不同,包括移動平均過程(MA)、自回歸過程(AR)、自回歸移動平均過程(ARMA)以及ARIMA過程。
基本步驟:
a.根據時間序列的散點圖、自相關函數和偏自相關函數圖以ADF單位根檢驗其方差、趨勢及其季節性變化規律,對序列的平穩性進行識別。一般來講,經濟運行的時間序列都不是平穩序列。
b.對非平穩序列進行平穩化處理。如果數據序列是非平穩的,并存在一定的增長或下降趨勢,則需要對數據進行差分處理,如果數據存在異方差,則需對數據進行技術處理,直到處理后的數據的自相關函數值和偏相關函數值無顯著地異于零。
c.根據時間序列模型的識別規則,建立相應的模型。若平穩序列的偏相關函數是截尾的,而自相關函數是拖尾的,可斷定序列適合AR模型;若平穩序列的偏相關函數是拖尾的,而自相關函數是截尾的,則可斷定序列適合MA模型;若平穩序列的偏相關函數和自相關函數均是拖尾的,則序列適合ARMA模型。(截尾是指時間序列的自相關函數(ACF)或偏自相關函數(PACF)在某階后均為0的性質(比如AR的PACF);拖尾是ACF或PACF并不在某階后均為0的性質(比如AR的ACF)。)
d.進行參數估計,檢驗是否具有統計意義。
e.進行假設檢驗,診斷殘差序列是否為白噪聲。
f.利用已通過檢驗的模型進行預測分析。
數據來自貓眼電影票房專業版,數據時間范圍2011年1月至2018年12月。(見圖1)

圖1
對每月的票房進行數據預處理,觀察數據時間序列圖,使用python完成,結果見圖2:(代碼見附錄1)

圖2
觀察數據,時間序列具有相對明顯的季節性波動,總體呈現上升趨勢,同時發現2017-2018年波動相對劇烈,可能會與預測造成比較大的影響。
對時間序列進行分解,可以更加直觀的顯示了數據的上升趨勢,以及年內的季節性波動見圖3(代碼見附錄2):

圖3
首先對數據進行一、二階差分,二階差分后的時間序列與一階差分相差不大,并且隨著時間推移,時間序列的均值和方差方式不變,因此可以將差分次數d設置為1(圖4為1階拆分,圖5為2階拆分)

圖4

圖5
利用python我們可以用for循環來探索不同的組合。對于參數的每個組合,我們使用statsmodels模塊的SARIMAX()函數擬合一個新的季節性ARIMA模型,并評估其整體質量。(代碼見附錄3)
通過迭代計算ARIMA(0,1,0)x(3,2,0,12)產生相對低的AIC值936.269。因此,認為這可能是考慮過的所有模型參數結果中最佳選擇。
將時間序列數據生成的最佳擬合模型的參數輸入到新的SARIMAX模型中,圖6、7(代碼見附錄4):
ARIMAX的輸出產生的SARIMAX返回大量的信息,主要觀察系數表。coef列顯示每個特征的重要性以及每個特征如何影響時間序列。P>|z| 列表示我們每個特征重量的意義。可以發現每個指標的P值都低于或接近0.05,所以模型保留的指標權重相對合理的。見圖7

圖6

圖7
進行模型診斷,圖8:
a.在右上的圖KDE與N(0,1)的正太分布基本相似
b.左下角的Q-Q圖顯示,殘差(藍點)的有序分布遵循采用N(0,1)的標準正態分布采樣的線性趨勢。
c.隨著時間的推移(左上圖)的殘差基本不顯示明顯的季節性,似乎是白噪聲。通過觀察右下角的自相關,這表明時間序列殘差與其本身的滯后版本具有較弱的相關性。

圖8
根據已經獲取的時間序列模型,將預測值與時間序列的實際值進行比較,驗證模型的預測準確性。
我們從2018-01-01開始進行預測。(代碼見附錄5)。設置dynamic=False參數確保我們每一次預測前一個值都可以使用截止到這個時間點的所有完整數據。
觀察圖9,預測值和實際值還是存在一些偏差,同時置信區間波動較大。

圖9
使用動態預測可以更好的表達真實的預測,設置dynamic=True,只使用時間序列中的信息到某一時間節點,之后,使用先前預測時間點的值生成預測。(代碼見附錄6)
動態預測值相對靜態預測值,更加貼合實際值,但是置信區間范圍比靜態更大。

圖10
對2019年月度票房進行預測見圖11,預測的結果相對可以接受,由于數據相對較少,而且波動較大,導致置信區間范圍較大,待收集更多數據后,模型還有繼續優化的空間。(代碼見附錄7)

圖11
模型優點:ARIMA模型多使用于時間序列,模型簡單,只需要內生變量而不需要借助其他外生變量,并且在建模過程中有多種方法可以選擇,在模型的診斷過程中能對模型的好壞進行評價,對于預測起到正向的作用。
模型缺點:ARIMA模型對數據進行預測時,要求時序數據是穩定的,或者通過差分化之后是穩定的;本質上只能捕捉線性關系,不能捕捉非線性關系。對于短期的預測效果相對較好,對于長期的預測由于很多宏觀因素的影響,其預測精度就會下降,誤差增加。
模型推廣:ARIMA模型對于大多數以時間為變量的趨勢都有相對理想的擬合效果,可以廣泛應用于氣溫、稅收、降水量等研究中。