機器學習、大數據與經濟學研究

機器學習和大數據是當前一個很熱的話題,在經濟學中也不例外。那麼這些新的技術會對經濟學研究產生何種影響?經濟學大牛 Varian 已經寫論文討論過這一話題:

Varian, 2014, Big data: New tricks for econometricsn

這裡有一篇中文的介紹:n

【香樟論壇】大數據:計量經濟學的新技巧

其實這篇介紹的挺詳細。但如果我全都照搬過來,豈不是很沒有創造性?所以我決定重新寫一篇。。。n

論文作者是范里安(Hal Varian),學過經濟學的應該都知道這位大名鼎鼎的美國經濟學家,著有經濟學教材《微觀經濟學:現代觀點》,就算沒讀過應該也聽說過。他現在已經從加州大學伯克利分校退休,現任 Google 首席經濟學家,參與設計了 Google 廣告關鍵詞拍賣系統等項目。n

范里安為 Google 設計的「AdWords Select」系統背後的經濟學原理是怎樣的? - 谷歌 (Google)

首席經濟學家范里安:谷歌搖錢樹 -- 經濟金融網 -- 傳送門

看看他在這篇論文腳註中的作者介紹,感覺還是挺酷的:n

Hal Varian is Chief Economist, Google Inc., Mountain View, California, and Emeritus Professor of Economics, University of California, Berkeley, California.

不知道是不是受到 Google 程序員們的影響,范里安現在對機器學習和大數據很感興趣。n

范里安認為,計算機技術現在已經深入到經濟學研究中。傳統的統計和計量方法,比如回歸分析,當然是不錯的研究方法,但如今數據量越來越大,而正好符合研究要求的數據已然有限,同時大數據量讓變數之間的關係變得更加靈活,傳統計量中的線性以及大多非線性模型可能都無法滿足這一要求,所以經濟學家需要尋找新的研究方法。范里安認為,機器學習理論中的決策樹(decision trees),support vector machines,深度學習(deep lerning)等技術,可以更加有效率的處理複雜的關係。n

所以,他在文中的思路可以簡單總結為:n

- 經濟學要與數據打交道,傳統分析用的是樣本等小數據n

- 隨著經濟交流的日益頻繁和技術水平的提高,數據越來越大,大數據出現n

- 傳統經濟學分析方法在分析大數據時顯得捉襟見肘n

- 我們需要新的分析方法n

- 機器學習技術可以在這方面幫助我們n

這篇文章開始給讀者介紹了一些處理數據的方法和軟體,以及大型 IT 公司的處理方法,這還是挺有用的。比如在處理百萬條的大型數據時需要用到 SQL,數據清理可以用 OpenRefine 和 DataWrangler。n

不過計量經濟學和機器學習當然是有區別的,作者認為:

Data analysis in statistics and econometrics can be broken down into four categories: 1) prediction, 2) summarization, 3) estimation, and 4) hypothesis testing. Machine learning is concerned primarily with prediction.

[...]

Machine learning specialists are often primarily concerned with developing high-performance computer systems that can provide useful predictions in the presence of challenging computational constraints.

[...]

Data science, a somewhat newer term, is concerned with both prediction and summarization, but also with data manipulation, visualization, and other similar tasks.

計量和統計學主要關注四個方面:預測、總結、估計和假設檢驗。機器學習主要關注預測。數據科學側重預測和總結,也涉及數據處理、可視化等。n

計量經濟學關注因果關係,會遇到內生性等問題,而機器學習則會遇到「過度擬合」(overfitting)的困擾,但機器學習可以關注到計量和統計中樣本以外的數據。n

那麼機器學習如何運用到經濟學中呢?作者舉了幾個例子。n

一個是分類和回歸樹分析(Classification and regression trees,簡稱CART),這一方法適用於分析一件事情是否發生以及發生概率的時候,即被解釋變數是0或1。計量上通常用 logit 或 probit 回歸。n

范里安這裡用的是例子是泰坦尼克號沉船事件中不同人群的死亡概率。作者用機器學習理論中的 CART 方法(R 軟體中有這個包 rpart),把船上的乘客按照艙位等級和年齡進行分類。n

這是樹模型(Tree model)的分類,艙位分一、二、三等,一等最好,三等最差。然後做成樹型的樣式:n

最上面一層把乘客按照艙位分開,左邊是三等艙,右邊是一等和二等。三等艙(很有可能窮人居多)死亡概率較高,501個人中有370個遇難。接下來把右邊一等和二等的乘客按照年齡分類,左邊是大於等於16歲的,右邊是小於16歲的兒童。先看兒童,這類人群的倖存概率很高,36個人中有34個都活下來了。左邊把年齡16歲及以上的人又分為兩類,左邊的二等艙和右邊的一等艙。二等艙233人中有145人遇難,一等艙276個成年人中174人倖存下來。我算了一下,四類人從左到右的倖存概率分別是26%、37%、63%和94%。所以在泰坦尼克沉船時,兒童和一等艙的人容易活下來。n

接下來重點關注一下乘客的年齡分布,下圖是各年齡段的倖存概率以及置信區間:n

從圖中可以看出,10歲所有的兒童和60歲左右的人倖存概率更高。n

同時,作者又用傳統的計量方法 logit 模型回歸了一下,解釋變數是年齡,被解釋變數是倖存(1)。結果如下:n

年齡(age)與倖存為顯著的負相關,即年齡越小越可能在沉船時活下來,但是係數太小,影響很弱。總結這兩種方法作者認為,是否倖存並不取決於年齡,而是乘客是否是兒童或者60歲左右的人,這一點在回歸分析中無法反映出來。n

類似的機器學習的方法還有一個叫conditional inference tree,這裡同樣是運用泰坦尼克的數據製作的圖:n

這幅圖把乘客進行了更加細化的分類,添加了性別(sex)一項。pclass 是艙位登記,age 年齡,sibsp 為船上兄弟姐妹和配偶的數量。最下面的刻度中黑色是這一人群的倖存比例。可以得出的結論是婦女和兒童的倖存率最高。(這是因為在沉船的時候大家大喊「讓小孩和女人先走」嗎。。?)n

上面這個例子比較簡單,但也足夠明了,我認為它比較清楚的解釋了機器學習和計量的差別:機器學習更加關注相關性和預測,所以得出的結論是某個年齡段的人群倖存率更高。而計量更加關注因果關係,根據上面的 logit 模型,很難說是年齡導致了倖存,很明顯還有很多其他變數沒有被考慮進去,比如個人體質等等,或許年齡根本就不是計量經濟學家在這裡主要考察的變數。而且如果加入交叉項也許會有新的結論。所以簡單的說就是模型設定的問題。具體哪種方法更好,還要看具體研究的問題是什麼。

此外,作者還舉了其他機器學習的例子,如 boosting, bagging, bootstrap, bayes,這裡就不詳細說了。文中的幾個例子挺值得一看,可以了解一下機器學習的基本方法。比如利用機器學習研究一家公司投放廣告是否有效,傳統的計量方法是需要設計實驗,設立處理組和對照組,但成本較高。n

范里安認為過去幾十年計算機科學家與統計學家已經進行了許多卓有成效的合作,他對機器學習在經濟學,特別是計量經濟學和統計學的應用十分看好,所以范里安給經濟學專業的學生一條建議:n

[…] my standard advice to graduate students these days is 「go to the computer science department and take a class in machine learning.

「學經濟學的都去計算機系修一下機器學習的課程吧!」n

范里安一方面是傳統意義上的經濟學家,另一方面由於在 Google 工作的經歷,使得他對機器學習技術有了更深的了解,他的觀點值得一看。n

當然,這也只是他的一家之言,畢竟機器學習和計量經濟學在方法、目的上都有較大差別,機器學習是否會真的大範圍進入到經濟學領域還很難說。不過,計算機技術越來越多的被運用到經濟學研究當中已經是不爭的事實,而且也是趨勢,現在如果不懂點編程技術(至少是計量軟體),很難在經濟學這個行當走的更遠。雖然現在有不少功成名就的經濟學家和教授在寫代碼方面並不精通,但每個時代對人們的要求都有不同,當年計算機技術還沒有普及,而他們接受的教育實際上已經比之前的人有了長足進步。我想,今天這個時代對經濟學研究者的要求之一就是掌握一定的編程技術吧,雖然不用達到寫應用程序那個等級,但也得有較高的搜集數據和處理數據的能力。n

所以,如果你只是打算學完經濟學就去公司當白領,那麼寫代碼技術可能不是必需的,反而用好word, excel, powerpoint 可能更有用(IT、金融等對寫代碼有一定要求的行業或崗位除外)。但假如想在學術圈待下去並且有所建樹,那麼從長遠考慮,現在就趕緊去學點編程技術,提高自己的數據處理能力吧。n

現在網上這類資源很多,比如coursera上John Hopkins大學很有名的數據科學的課程n

coursera.org/specializa

大部分都帶中文字幕n

我自己也在聽這個公開課。另外我也會在YouTube找一些數據處理的課程,YouTube 在這方面的優點是資源很豐富(中國的視頻網站在這方面的資源太匱乏),基本上只要你能想到的軟體教程都會有。缺點是質量參差不齊,而且有些視頻不完整,有的視頻發布者更新一段時間就停止了。相比而言,coursera 的質量和完整度都要更勝一籌。所以 coursera 和 YouTube 結合起來還是不錯的。n

其他參考資料:n

計量經濟學、時間序列分析和機器學習三者有什麼區別與聯繫? - 經濟學
推薦閱讀:

管理者如何激勵創新?
凱恩斯經濟理論和馬克思經濟理論有沒有內在聯繫?
斷點回歸設計(RD Design)與添加虛擬變數有什麼區別?
為什麼低檔商品收入效應與價格的關係是同向變化?

TAG:机器学习 | 大数据 | 经济学 |