廣播、電視、電影和影視錄音制作業包含廣播、電視、電影和影視節目制作、電影和影視節目發行以及電影放映等細分行業。目前國內電影票房的日趨火熱,2010年到現在電影票房近乎呈指數增長,理念觀影人數以及電影銀幕數數量同樣呈近乎指數的增長趨勢,而由於中國人口基數大,每10萬人擁有的屏幕數(2塊左右)仍遠低於美國的14.9塊。在這樣的大趨勢下,電影票房預測分析順應而生。電影票房預測分析有助於考察電影本身特質對票房的主要影響因素,在一定程度上預測電影票房,為投資方在初期提供決策,為拍攝方在電影相關細節方面給出合理化建議。做電影票房預測分析回答的核心問題只有一個:如何拍出票房可能更高的電影。
數據文件說明:數據文件名為:film.csv。該數據記錄了2011年到2013年票房1千萬以上的所有電影的相關數據,每個觀測為一部電影,共273部電影。因變量就是電影票房,自變量包含兩大部分:影片自身屬性和導演演員相關屬性,其中影片自身屬性包括影片類型、影片IP屬性、上映時間以及宣傳方,導演演員屬性包括導演名字、年代、第幾部作品、獲獎情況、導演是否轉型、兩個主演名字及對應的主演百度指數。
該案例分析主要包含四個步驟:
1.數據讀入,讀入常見的csv格式數據
2.數據清洗,主要處理缺失值,使分類變量更具直觀的描述性
3.對數據進行基本的描述性和探索性分析,主要用到箱線圖,觀察電影票房在各分類變量條件下的關系,得到初步的關聯概念,初步確定未來的研究方向
4.使用多元線性回歸進行推斷和預測分析,得到系數並且進行初步的觀察和解釋,並且運用模型對新變量進行預測
進入正題:
一,R讀入csv格式數據
1.啟動Rstudio
2.使用setwd()函數設置工作目錄,將數據文件拷貝至工作目錄下
3.清空當前全局環境中存儲的所有變量,釋放內存空間
4.使用read.csv讀取數據,設置相應的參數,這里我們設置表頭為真,不將字符串自動轉化為因子向量,並且將讀取的數據賦值給自定義的對象a。
5.查看讀入的數據對象a。
二,數據清洗
對缺失值進行處理根據之后描述性分析、探索性分析及建模需求,對數據進行合理的轉化和處理,使得數據更具解釋性。去除帶缺失值的行采用函數對變量進行計算生成新的變量。(因子變量標簽轉換,生成新的因子變量)
1.啟動Rstudio
2.讀取數據film.csv
3.查看所有變量的summary
4.去除缺失值
5.將票房按照個人定義的區間划分,生成新的分類變量,便於之后觀察
6.自定義一個新的函數,將月份變量重新按照檔期分類,將分類變量生成自定義標簽的因子變量,新的函數同樣可以幫助日后處理新的格式完全相同的數據時使用
7.對數據集使用自定義函數並且查看前三行確認修改結果
8.保存數據到film1.csv,boxbar.csv
三,描述性和探索性分析
主要涉及到將連續變量生成分類變量的cut函數,去除缺失值的na.omit函數,以及生成因子的factor函數。基本的數據描述分析包括描述性數據分析和探索性數據分析,描述性分析的目標主要在於描述數據集,而探索性分析的目標主要是在描述的基礎上發現新的關聯或者是未知的關系。通過描述性、探索性統計得到票房的分布情況,以及各影響因素對票房的影響。
barplot(boxbar$Freq,names.arg=boxbar$Var1,col="dodgerblue",xlab="票房(萬元)",ylab="頻數")
找到最高票房
找到最低票房
從圖中可見10-13年億元票房俱樂部是一個坎兒,10億票房俱樂部還有《西游降魔篇》
觀察不同電影類型的對數票房boxplot(log(boxoffice)~genre,xlab="電影類型",data=a,col="indianred1",ylab="對數票房",varwidth=T)
觀察不同月份的對數票房分布boxplot(log(boxoffice)~month,xlab="月份",data=a,col="dodgerblue",ylab="對數票房",varwidth=T)
觀察不同檔期的對數票房分布boxplot(log(boxoffice)~dangqi,xlab="檔期",data=a,col="yellow",ylab="對數票房",varwidth=T)
從知識點2中的清洗代碼可知:賀歲檔對應12-2月,普通檔對應3-4月,黃金1檔對應5-6月,暑期檔對應7-9月,黃金2檔對應10-11月
觀察不同宣發公司對對數票房的影響boxplot(log(boxoffice)~distribute,xlab="宣發公司",data=a,col="dodgerblue",ylab="對數票房",varwidth=T)
觀察不同IP因素對對數票房的影響
觀察導演是否獲獎和導演是否轉型對票房的影響par(mfrow=c(1,2)) boxplot(log(boxoffice)~導演得獎情況,data=a,col=c("indianred1"), ylab="對數票房",xlab="",main="導演獲獎 vs 票房",varwidth=T)boxplot(log(boxoffice)~導演是否轉型,data=a,col=c("purple"), ylab="",xlab="",main="導演轉型 vs 票房",varwidth=T) par(mfrow=c(1,1))
觀察不同導演年代對對數票房的影響這里將30和40年代的導演統一歸到50年代以下
得到若干影響因素和對數票房的分類箱線圖,方便直觀的觀察各因素對票房的影響。描述性分析和探索性分析都是直觀的通過圖形來描述和探索變量之間的關系,本知識點大多數圖形用箱線圖表現出各影響因素對電影票房的影響,箱線圖的寬度是此分類下的電影數量,所以這里用一維箱線圖表現出了三維的數據,更加的直觀簡便。
四,用多元線性回歸進行推斷和預測分析
使用多元線性回歸進行推斷和預測分析得到系數並且進行初步的觀察和解釋運用模型對新變量進行預測
1.讀取數據,進行回歸分析
結果分析:R-squared: 0.5336,Adjusted R-squared: 0.4736。可見預測性一般。僅具備一定的參考價值。模型總結(顯著性水平選擇0.05):1.對比愛情片,魔幻片的票房平均高84%,懸疑片高104%2.電影時長每增加1分鍾,票房增長3.1%3.對比賀歲檔(12月-2月),普通檔(3月-4月)票房平均降低35.5%,黃金2檔低39.7%4.對比聯合企業,選擇小私營公司做宣發票房平均降低42.5%5.虛構故事比原創票房低43%,翻拍電影票房增高37.5%,電影拍續集票房提高37.9%。6.得過獎的導演比沒有得過獎的票房提高32.2%,由演員轉型的導演票房提高48.8%7.運用模型對新變量進行預測
預測准確率偏低,原因可能是多方面的:數據選取邏輯不清晰,導致數據真實性不強回歸模型解釋力度不夠
影響票房的主要因素有:影片類型、宣發團隊、IP因素、檔期、導演投資選材建議:選擇魔幻、懸疑類題材,故事盡量原創,有一定的群眾基礎(最好是翻拍片),搶占賀歲檔,宣發團隊要豪華(聯合企業),找一個從演員轉行的得過獎的導演
從電影本身的屬性建模由於電影市場發展的不成熟還是有很多困難,加上很難用變量限定電影質量。適當結合谷歌的搜索模型可能會得到更好的結果。
多元回歸分析只是眾多有監督預測方式的一種,由於存在線性假設,而線性假設在現實中並不常見,所以需要對模型進行進一步的調優以達到更高的模型擬合度