如何用資料分析來預測奧斯卡最佳影片獎
一年一度的奧斯卡頒獎又要開始了。 2005年, 李安導演憑藉《斷背山》獲得最佳導演獎,可惜與最佳影片獎失之交臂。 這次, 李安導演又一次攜《少年派的奇幻漂流》再次衝擊奧斯卡。
在一週前的金球獎, 《逃離德黑蘭》爆冷擊敗了《林肯》和《少年派的奇幻漂流》獲得最佳影片獎。 這讓很多人都覺得不可思議。 雖然藝術評委的思維模式往往與大眾相左(參考閱讀:社會化輿情分析,你信奧斯卡還是IBM), 但實際上資料分析仍然有可能為我們“劇透”今年的奧斯卡最佳影片獎得主。 好吧, 以下本人就試著用R分析一下吧。
奧斯卡的原始資料可以到去下載這個檔案, 這個檔案包括了從1927年到2010年奧斯卡提名和獲獎的所有資料。
有了這個原始資料集, 我們就可以開始我們的資料分析專案了。
首先確定專案的目標: 我希望能夠分析從最佳影片提名中預測最後產生的獲獎影片。 首先要做得是確定預測樣本的特徵值, 觀察了一下原始資料集, 我們可以把一些肯定與最佳影片無關的獎項去掉(比如最佳動畫長片, 最佳短片, 最佳外語片等)。 最後 我選擇了下面這些獎項:
最佳男主角, 最佳男配角, 最佳女主角, 最佳女配角, 最佳藝術指導, 最佳攝影, 最佳服裝設計, 最佳導演, 最佳影片剪輯, 最佳化妝, 最佳原創音樂, 最佳原創歌曲, 最佳混音, 最佳音效, 最佳視覺效果和最佳劇本。
其中, 奧斯卡的最佳劇本其實分最佳原創劇本和最佳改編劇本, 但是原始資料把二者合併了。 (這也是資料分析中常常會碰到的情況。 不過對我們來說影響不大)。
然後, 就是根據這些特徵值, 對資料集進行整理。 這部分工作, 其實在一般的資料分析專案裡, 大約佔到60%的時間。 確實沒有搞模型什麼的有意思, 不過很多資料分析專案實施的好壞和資料整理其實有很大的關係。
我在這裡主要是把特徵值進行擴充套件, 把獲得提名和獲得最後獎項做為兩個特徵來看, 對每個獎項, 如果獲得提名, 則獲得提名定值為1, 否則為0。 如果該獎項沒有獲得提名, 則獲得最後獎項的值為0 , 如果獲得提名並得獎, 則為1。 同時還需要把歷年的“最佳影片”的提名和獲獎資料從原始資料集中取出來。 這些工作可以用R語言來完成,見附件中的程式碼。 總共最後整理成了一個共有 485個觀察樣本, 每個樣本有32個特徵值的資料集。 接著, 把這485個樣本進行分組, 我按照80:20原則, 把80%的樣本作為訓練樣本組, 20%的樣本作為驗證預測模型的驗證組。
接下來就是進行預測模型的選擇。 由於我們是個分類問題, 所以可以選擇分類模型。 這個資料集相對較小, 因此不同模型的差別應該不大。 這裡我先選擇用迴歸樹來做分析。 用R裡面的迴歸樹的包, 可以很容易的進行決策樹的構建。 最後的決策樹模型的ROC是0.877. 下圖是決策樹的示意。
決策樹的一個好處就是比較直觀, 這個決策樹簡單來說, 就是這樣進行預測判斷的, 首先是判斷是否獲得“最佳導演獎”, 如果獲得最佳導演, 則判斷是否有“最佳影片剪輯提名”。 如果沒有, 則獲獎概率為38%, 如果有最佳影片剪輯提名, 看是否獲得“最佳劇本”獎, 如果沒有, 則得獎概率為63%, 如果獲得了, 則繼續看是否獲得“最佳混音”提名。 如此類推。
如此看來, 獲得奧斯卡最佳影片獎的關鍵是獲得奧斯卡最佳導演獎。 如果沒有導演獎, 那麼獲最佳影片獎的概率頂多就是37%。
好, 我們來看看《少年派》, 少年派獲得了導演獎的提名, 而如果獲得了導演獎, 那麼由於它本身已經是“最佳影片剪輯”提名, 所以即便不能拿到“最佳劇本”獎, 獲獎概率也能達到63%, 而如果再拿到“最佳劇本獎”, 由於已經獲得“最佳混音”提名, 所以幾乎就能夠鐵定獲獎了。
而對《林肯》來說也是這樣的, 因為林肯也獲得了最佳導演, 最佳剪輯和最佳劇本的提名, 所以, 《少年派》和《林肯》之間的`對決主要是在最佳導演的爭奪上了。 至於《逃離德黑蘭》, 由於沒有獲得最佳導演獎的提名, 所以, 它的獲獎概率最多可以到37%。 當然, 這個概率也比5選1的20%的概率要高。
為了看一看各個特徵值對於最終獲獎的影響, 我們也可以用邏輯迴歸的模型看一下, 下面是邏輯迴歸的出來的各特徵值的權重, (ROC = 0.873,和決策樹差不多)。
這裡面可以看到, 最佳導演獲獎依然是影響最大的因素, 其次是最佳化妝獎。 有意思的是, 有些提名或者獲獎反而會降低得“最佳影片獎”的概率。 比如說“最佳音效獎得獎”或者“最佳視覺效果提名”。 也可能這些是對“最佳影片”的落榜影片的“安慰獎”。
“資料視覺化是科學, 也是藝術”,指出資料視覺化是科學藝術和設計的結合,而我們現在做的,則是用資料分析預測藝術市場。 在我們觀看奧斯卡頒獎典禮的時候, 因為最佳影片是最後一個頒獎的, 所以大家可以把決策樹拿出來, 對照著前面頒獎的情況進行觀看, 是不是會更有意思呢。
對資料分析愛好者來說, 我的R程式碼和整理過的資料集見附件(請登入下載), 讀者也可以自己研究一下, 也許還能發現更好的模型。 或者還可以把金球獎的資料包括進來。 看看《逃離德黑蘭》獲得金球獎對它獲得奧斯卡獎有多大影響。
Via:IT經理網
最佳導演獲獎 | 3.826687 |
最佳化妝獲獎 | 3.036705 |
最佳音效提名 | 1.908622 |
最佳男主角獲獎 | 1.641444 |
最佳服裝獲獎 | 1.611889 |
最佳劇本獲獎 | 1.27472 |
最佳影片剪輯提名 | 0.838309 |
最佳原創歌曲提名 | 0.763278 |
最佳男配角提名 | 0.644326 |
最佳藝術指導獲獎 | 0.558941 |
最佳影片剪輯獲獎 | 0.471427 |
最佳女配角獲獎 | 0.454053 |
最佳服裝提名 | 0.383574 |
最佳混音獲獎 | 0.343589 |
最佳混音提名 | 0.295055 |
最佳化妝提名 | 0.198427 |
最佳原創音樂提名 | 0.188186 |
最佳藝術指導提名 | 0.171621 |
最佳女主角獲獎 | 0.108964 |
最佳導演提名 | 0.094558 |
最佳女配角提名 | 0.083959 |
最佳視覺效果獲獎 | -0.02597 |
最佳男配角獲獎 | -0.19262 |
最佳攝影獲獎 | -0.32458 |
最佳原創音樂獲獎 | -0.37605 |
最佳女主角提名 | -0.39106 |
最佳男主角提名 | -0.59084 |
最佳攝影提名 | -0.71286 |
最佳原創歌曲獲獎 | -0.75752 |
最佳劇本提名 | -0.78589 |
最佳視覺效果提名 | -0.86435 |
最佳音效獲獎 | -2.07864 |