「機器學習」、「大數據」、「人工智慧」、**「資料科學」**這幾個詞,絕對是近年最火紅的字眼。除了在新聞媒體或報章雜誌上有他們蹤跡外,最近連政治人物也都能朗朗上口了。但究竟,機器學習是什麼,又與經濟學有什麼關聯呢?
機器學習是什麼
從用途上來說,機器學習是一套用於預測的資料分析方法1。比如說,透過機器學習的演算法, Youtube 就能根據觀看紀錄去分析用戶的喜好,來預估打什麼廣告比較有吸引力;又或是銀行可以從貸款申請人的資料,來預測貸款人倒債的潛在機率。機器學習甚至在傳統產業上也有應用:蘭花供應商可以在開花之前,透過影像辨識來預測開花期,以保蘭花在送達客戶的時候,能保持在最佳狀態。
以上的應用,雖說是預測,但也可以想成是分類。Youtube 預測用戶會喜歡什麼,其實也就是將廣告分為兩類——喜歡的和不喜歡的,而在蘭花的例子中,則是把含苞待放的蘭花分成五天後開花以及十天後開花的。所以說,機器學習,是個預測工具,也是個分類器。但要注意的是,經濟學中,我們通常不只關心是否能從 x 變數 (們) 預測 y 變數,也關心變數之間是否有因果關係。
預測與因果推論,是區別計量經濟學與機器學習的一個面向。舉個例子,我們知道抽菸的人得肺癌機率較高。所以說,從預測的角度來看,我們可以合理猜測一個年輕人若有抽菸的習慣,將來比較可能得癌症。但從因果推論的角度切入,我們更想問在其他條件不變的情況下,每多抽一支菸,罹患肺癌的風險會提高多少。預測與因果,這是兩個相當不同的概念。
就操作上而言,先姑且以評估癌症風險來作為例子,來說明機器學習的運作流程。假如說健保署今天想運用機器學習來評估中年人十年內的得癌症的風險,那第一步,得先去得搜集上個世代的中年人的資料,像是就診紀錄、家族病史、教育程度等等 (x 變數) 。注意到,不論有得癌症與否 (y 變數) ,資料都必須搜集。我們把這些資料(x & y 變數)稱為訓練資料。接下來,選定一個機器學的演算法 (模型) ,把這些訓練資料餵進去,便會得出一個公式,能夠回答像是**「一個大學畢業、無家族病史的三十歲男性,五年內罹癌機率為多少?」**的這類問題。有了這套公式,我們便能估計這世代中年人的罹癌風險。
雖說機器學習是近幾年紅起來的,但就統計學的觀點來說,機器學習並不是新東西,而比較像是升級版的新產品。像是隨機森林,就是很多個決策樹加總在一起;而深度學習,就是比較多層的類神經網路。機器學習的成功崛起,不只是方法上的革新,還包括了數位世代後資料量的爆增,以及電腦運算能力的快速成長。當然,還有名字酷炫的緣故。
這股機器學習的熱潮,不免俗地,也吹到經濟學上了。然而,這兩者究竟如何搭上線呢?
與經濟學的關係
第一個最自然的應用,就是使用機器學習的演算法來處理經濟學中的預測問題,像是時間序列分析 (如預測股價) 。此外,許多實務上的政策問題,其實是預測問題。如,學校如何提早察覺潛在的輟學生,並積極進行輔導;或是法官可以利用演算法來協助判決,預測犯人在假釋期間再犯的可能性。
第二種可能性,則是拿機器學習的演算法來生成資料,再餵給其他計量方法來進行分析。比如說,若我們想研究共產體制對經濟發展的影響,北韓的就會是個很重要的案例,但北韓的總體數據 (如 GDP) 通常不可信。這時候,我們就可以求助於機器學習。怎麼做呢?其中一個方法便是從夜晚的衛星空拍圖,透過觀測電燈的密度,來估算一個國家的經濟發展程度2。
更廣義來說,機器學習可以幫助我們衡量一地的經濟發展程度(貧窮程度)。近來更精良的方法,甚至還有透過計算空拍圖內有多少建築物、行駛車輛、馬路密度等等指標,來估計不同地區的發展程度。這樣得來的資料,不僅又快速又全面又便宜,還可以直接檢驗其可信度。
雖說機器學習當初是用於預測問題 (挖掘潛在相關性) ,但並不代表機器學習不能用於因果推論。事實上,近來有一些新的計量方法,便是結合了機器學習的演算法,並應用在因果推論上——這是機器學習在經濟學第三種應用。這些方法,目前都還屬於研究前緣,於實證研究上也尚未得到廣泛運用,但未來的發展仍是備受矚目。筆者預計在續集中,簡單地討論一下其背後的原理,順便釐清預測問題與因果推論問題之間的關係。
結語
經濟學吸納其他學科的知識,並不稀奇。這從歷年來獲得諾貝爾經濟學獎的學者與理論中,就能略知一二。像是 1997 年獲獎布萊克-休斯資產定價模型 (Black-Scholes Option Valuation Model) ,當初就是啟發於物理中的布朗運動;又或是 2002 年獲獎的丹尼爾‧卡內曼 (Daniel Kahneman) ,本業是個研究決策過程的心理學家,但他的研究成果對行為經濟學也有深遠影響。
跨領域的結合,不時會在經濟學掀起一波波浪潮。而機器學習目前在經濟學吹起的旋風,是否也會在經濟學發展一波驚濤駭浪呢?這目前還看不清楚,且讓我們拭目以待。
感謝網友 Acer Chang 提醒,本文遺漏到群聚 (clustering) 等非監督式機器學習的演算法,而這些演算法並不以預測為目標。本文提到機器學習時,主要討論的是監督式機器學習。非監督式機器學習在經濟學中的應用少,也比較沒被討論,因此文章疏落了。監督與監督式的分別,詳見維基百科上的頁面。所以這個段落較為精確的結論,是「監督式機器學習的主要用途為預測」。 ↩︎
實際上如何用電燈密度來預測經濟發展程度呢?這和文內的癌症例子是相通的。假設我們手邊已有某些地區的經濟發展程度資料 (y 變數) ,那我們先去找出那些地區的空拍圖,算出電燈密度 (x 變數) ,然後我們把這些資料餵給演算法。經過電腦的一番努力後, 程式會回傳一個公式,告訴「電燈密度為 x 的地區,經濟發展程度為 y」。有了這個公式,我們把北韓的電燈密度資料餵進去,就能得出北韓的經濟發展狀況。 ↩︎