標籤:

學習計量經濟學的學生需要學習編程嗎?如果需要,要學習到什麼程度,有什麼好的建議嗎?


這個問題真心好!

我自己做學生的時候學計量,基礎很差,理論不行,應用就更是一塌糊塗。後來不斷彌補,算是勉強可以過關。到現在當老師,發現學生們和我們原來的學習內容區別並不大,教材也許換了,核心的東西還是沒變。著急啊~

正面回答題主的問題:

第一,學計量必須學編程。

第二,學到什麼程度主要取決於你的目標。

第三,最好的建議就是干中學!

下面一個一個說:

第一,為啥學計量必須學編程?

扯遠一點哈,我覺得我國引入西方經濟學的教育之後,進步極大,但是偏理論,輕應用的風向變化不大。經濟學進了課堂,一個模型連著一個模型,一個想法接一個想法。但是我們似乎很少提及這些想法和模型背後的經濟現實是怎樣的?那些經典的想法,論文,模型,都是有他們相應的現實背景的,並不是經濟學研究者憑空想出來的,也不是想怎樣設定,就怎樣設定的。我發現很多學生,談起模型設定,結論的證明,那是剛剛的,看得多,記得清,比我這個老師強多了。但是具體給一個問題,運用經濟學的思維想想看,應該怎麼入手,怎麼分析,一下子就能難倒一大片。更不用說如果要求學生們自己去尋找問題,開題,寫論文,憋幾年沒啥進展的情況,多了。

在計量領域,也是類似的情況,各個層次的計量課程,以我所在的高校為例,學校本身不差,學生質量也好。授課內容主要還是集中於回歸及其證明,學生們證明無偏,有效,漸進一致,大樣本性質,剛剛的。讓他們自己找數據跑跑回歸,解釋一下經濟學含義,就都露餡了。收集數據不知道在哪找,數據質量不好不會清洗,回歸模型的選擇,變數的篩選,魯棒的檢驗,一概是兩眼一抹黑。更不用說編程的質量了,自己的程序,滿屏的abcd,三個月後自己都不明白自己寫的什麼。性能的優化,版本的控制,就根本沒法涉及了。而這些東西,其實都可以在學習編程的過程中逐漸獲得,而且對以後的研究工作幫助也很大。

這就是為什麼我覺得學計量,必須得學編程的原因。當然,我並不是說理論就都可以拋棄不學了,沒有理論基礎,光學些軟體操作,那確實是無根之木,只能算學了個技能,不能算學到了知識。而我心目中理想的計量課程,應該是理論和編程各一半的,至少大概的比例不會偏差太多。

再退一步說,我也發現,很多學生直接告訴我,老師其實我以後不準備做研究的~~~那麼你更應該好好學習一下編程了,一門技術傍身,應該比一堆模型傍身更有利於找工作~~~

第二,學編程是必須的,但是不是每個人都要像計算機專業那種學法。絕大多數同學,其實只要掌握一些編程的基本原則和方法就夠了,現在的編程語言越來越高級,像R,stata這種,其實大部分時候依賴別人寫好的包即可,並不是每次都要自己重新發明輪子的~所以最關鍵的還是按自己的目標來學。目標明確,學到即止。有需要的就深入,沒需要的就淺出,夠用就行。畢竟我們是經濟學專業的,不是計算機的么~

第三,最好的建議,其實稍微關注一下知乎上面計算機的大牛就會發現,大家的說法都差不多,邊學邊練,邊練邊學,就是最好的辦法。編程這種東西,不下功夫寫上一定量的代碼,光靠老師講的天花亂墜也沒用。所以補充一下上面的說法,好的計量課程,不僅應該理論和編程各一半,還需要兩者不斷交叉融合,學一段就練一段,練了再學,不斷反覆互相印證,才能真正的掌握好計量這門課吧。


強烈建議學習 python

r 和 mathlab stata 的功能 python 都可以實現

當然因為 python 是為通用開發設計的 特定功能肯定沒有專精的好用 那為什麼還要學習 python 呢?

1. python 是有益的補充 比如數據的抓取 清洗 整理 排序等等 可以用 python 來輕鬆實現

2. python可以幫助深入學習和理解 雖然 r mathlab stata 等在各自領域做的很好 但正是因為太好了 容易使人只知道實現 不知道如何實現 python 只提供了基礎方法 嘗試用它實現模型 完成分析 可以更深入理解原理和過程

3. python 可以給你另外看問題的角度 強烈建議學習 python 的多線程 多進程 協程方式編程 這些屬於略高端的內容 學習曲線比較陡 但是一旦學會 好處多多 首先 你思考問題或者構建模型的時候 會多一個分布的理解和視角 思考如何將任務平行拆解 可能找到更合理更高效的解法或者設計方案 可以說 比不理解分布概念的思路 完全高出一個層次 另外 分散式設計會帶來處理效率的大大提升 越巨大的數據集 越複雜的模型 差異愈發明顯

為什麼建議 python 而不是其它開發語言呢 那是因為

1. python 教材和學習資料齊全豐富 入門容易

2. python 是語義化的風格 十分適合理解和分享 要知道思路模糊混亂 語法潦草凌亂的代碼 過個十天八天 就算自己寫的 看起來都費勁 而 python 良好的語法和規範 最大程度避免了這個問題

3. python 跨平台 win linux osx 各大操作系統都適用 一次編寫 到處運行

4. python 第三方組件包十分豐富 且大部分免費開源 完全可以借用開源巨人的力量 有可能還可以回饋開源 提交自己的貢獻

感謝 @小扁 指出的排版問題 順便更新一篇 python 和 r 比較的文章

Dataquest Blog


我剛開始入門經濟學的時候並不覺得學好編程技能有多重要,因為開始入門的時候數據量都很小,而且也都是一些乾淨的數據,那時候學校里四十多歲的大媽在課上講的軟體是E-Views,隨便點點滑鼠結果就出來了,完全沒有編程的壓力,但是隨著逐漸學習的深入,我發現不懂編程簡直寸步難行

1. 你接觸到的數據會十分Dirty,手工清洗數據大量耗費時間精力,而且十分的無趣

2. 你很可能需要爬蟲技術獲取新的數據來源,能容易獲取到的數據來源基本被國內做計量那幫人做爛了,要想發(tu)論(long)文(shu),就得去弄點別人沒做過的數據來源,爬蟲這東西在經濟學界用的還不是特別多,可以試試

3. 你很可能需要去使用一些沒有現成程序的模型,如果你做宏觀的DSGE,肯定要自己寫點code做simulation的

而且,現在我覺得只有自己能把一個模型在不依賴封裝好的演算法的情況下寫出來,才能真正理解這個模型,只用STATA而不理解模型背後的原理會出現用錯了模型而不自知的情況

還有,知乎上面有很多經濟學領域的大神的編程水平都很好,比如 @慧航


讓我想起了Quora上看到過的一個類似的提問:

Should an economist learn programming?

排名第一的答案如是說,大家感受一下吧...

Of course!

As Keynes said: "The master-economist must possess a rare combination of gifts .... He must be mathematician, historian, statesman, programmer, philosopher -- in some degree. He must understand symbols, write code, and speak in words. He must contemplate the particular, in terms of the general, and touch abstract and concrete in the same flight of thought. He must study the present in the light of the past for the purposes of the future. He must be able to speak a common language with a computer scientist, a physicist and a sociologist. No part of man"s nature or his institutions must be entirely outside his regard. He must be purposeful and disinterested in a simultaneous mood, as aloof and incorruptible as an artist, yet sometimes as near to earth as a politician.」

OK, maybe I"ve added something there to make my point.


金融小碩一枚。

不會編程學計量真的是寸步難行啊!

上面某些回答說不重要的人可能連什麼是MS-VAR、DSGE、STAR、門限面板自回歸都不懂,就敢說編程不重要。你給我找個不用R、matlab、Oxmetrics這樣的軟體實現這些計量模型的方法出來?

覺得不需要學編程,只能說明你還沒入門,學的那點皮毛還用不到編程,而不能說編程無用!

你如果就是交個課程作業什麼的,在Eviews上點一點,倒也能做出來個結果。但是現在經濟、金融理論的發展程度已經到了令人髮指的地步,有解釋力的模型越來越複雜,複雜到Eviews這樣的軟體都沒辦法做的地步。

建議你如果主要是做面板數據的話,一定學好stata。時間序列的話Eviews是基礎,然後學matlab或者R。

關於C++,如果不做大規模的DSGE這樣逆天的模型的模擬話,一般用不到。不過性能確實是最高的,沒有之一(記得看評測,用C++和R跑同一個DSGE模擬模型,性能相差700倍…詳見計量經濟學,實證研究,哪款軟體好?SPSS,Eviews,Matlab,stata,SAS? - 計量經濟學)。

我自己現在在學matlab,很多計量方法有現成的軟體包,處理MS-VAR、DSGE會很方便。R也一樣。這兩者基本上是無差異的,包的數量、質量都差不多。學matlab只是市面上matlab的教科書多一些罷了。

關於程度,學到足夠用就好。需求是最好的動力。


主要還是看方向,大部分實證微觀經濟學如果只是簡約化模型(reduced form),熟練掌握Stata就夠了。但是還是建議起碼掌握一種編程語言防身~目測應用最廣泛的還是Matlab。

基本上Stata+Matlab就可以走遍天下都不怕了~以後遇到更複雜的問題再學其它語言也很快的


如果找一個會編程的男朋友就好了


看到各位的回答,我想問問,啥時候會用R、Matlab也算掌握編程語言了?


取決於你之後的規劃。

如果只是想通過考試,想畢業,除了本科論文之外再也不會寫一篇學術論文,那麼你不用刻意的去學編程。在上課的時候,按國內本科生要學習的計量內容來說,會基本的Stata就夠了。有的學校甚至連Stata都不學,直接是Eviews點下去。這是因為課堂上的數據基本是clean的,最多就是合併、刪除或者新建變數,之後用統計軟體裡面自帶的命令跑一邊就行了。當然在本科論文的時候某些同學會遇到問題,那個時候數據需要自己下載,需要clean數據,需要跑多次程序,如果還用Eviews點的話工作量就呵呵了。所以能掌握一定的編程技術,對於畢業寫論文是很有幫助的。


學!

答主985高校三流經濟學院本科學生一枚。。剛剛考完計量經濟學,已哭!

剛剛接觸計量經濟學的時候,學長說,很有用!學姐說,超級難!然後我。。。。了!

因為答主用的是我們老師自編教材,貌似今年十月份才會在高教出第一版,但是它有研究生同款,個人認為非常好用,編程理論各一半的存在!(我不是來做廣告的,打臉) 我的老師平時上課注重編程,用Stata,學理論的時候總有種「卧槽 卧槽 這都在講些什麼啊 我不懂 我怎麼用啊」 然後默默翻了幾頁,發現「我去我去 原來我可以這樣用啊」 然後統計老師再也不用擔心我不會用excel了,直接Stata解決了。

答主認為,計量是一門實用性很強的課程,而國外教材注重於理論,國內老師也基本如此教學(原諒我看的計量教材不多,另為什麼考試全是證明題啊 沒有編程) ,所以會造成我們明白怎麼弄,卻不知下手,因此 真心建議題主自學某一個軟體編程,入門都是不難的,只要深入淺出,你會發現只要有數據,什麼猜測都能用回歸試試!


不會編程能說自己學了計量嗎?我覺得自己已變身編程狗。


國外計量經濟學本科。

java是必修課

工具語言的話matlab、eviews必須用到

stata、R有很多人在自學

eviews做時間序列分析比較好用


當然要學。入門課程可能就是run個OLS,GMM之類,用什麼eviews sas之類調個函數就搞定了。往深了學的話,做計量經濟學這個領域的人比做深度學習的人少太多太多,所以很多高級一點點的東西都要自己動手實現,不會編程根本不可能,不小心入了一個不適合干這個的語言的坑也會很痛苦。


stata+matlab是主流。r的包都是個人做的,每個人風格都有區別,比較難學。python可以學一下,但就經濟領域而言,python能做的matlab基本都能做,而且matlab更友好一點。


那得看你是什麼專業,比如我們學校的信息與計算科學專業就是要學編程和計量經濟學的


學好R語言


因為不太清楚題主的背景,這門計量經濟學課是什麼程度,因此只能按照我的個人經驗給出一些建議。

我的建議是:學習R語言。

需要原因是,計量作為一門涉及種種建模的科目,在學習過程中很有可能需要進行實戰練習,這就勢必需要編程。

其次,R作為一門統計語言,上手快,界面友好(建議配合R Studio使用),各種理論方法基本都有現成的PACKAGE可以使用,不需要自己編寫太多。

再次,如果題主學習了R以後覺得編程有趣/有用,也建議題主後續學習PYTHON和C++:)


我學國際金融的也要學C++ 雖然學的不知道用來幹嘛……


大四時候學過,表示不大會(我能說畢業論文是數學建模嗎),到我們學的是基礎,數據收集,建模,證明等,沒涉及編程,有用到一個軟體就是了。計量老師和導師都是計量經濟學學霸,去年博士畢業。


applied econometrics碩士在讀。

從昨天到現在在MATLAB上連續奮戰了三十一個小時了,學渣血與淚的心路歷程。


我是學金融物理的,雖然研究方法不太一樣,但是感覺上和我們方向都是需要編程的

不會編程就像沒有手腳一樣,就算有想法也很難驗證

PS:記得當年上學的時候,最爽的事情就是有個計算速度超快的機器(有多核的大型機更好了)


不是很同意說學計量必須學編程的答案。

編程對學習計量沒有什麼必然的幫助。慢慢深入學習、數據模型變得複雜,會讓你越來越想學習語言。順序是這樣的。

語言只是工具,核心的思想不在裡面。學好計量,想要學會R、matlab也就是一天的事。不管是tick還是幾百個數據的截面還是奇形怪狀的panel,不管是eviews excel還是python,都有擅長和不擅長的,優勢和缺點。非要做,基本大部分時候都能做。

當然我覺得學計量稍微懂點R會很輕鬆。


@SATBBB 到位。

不過編程只是技術手段而已,不要反客為主就不會壓抑~


推薦閱讀:

Deaton 獲得諾獎是否意味著 Banerjee 和 Duflo 等人關於貧困的研究不受認可?
計量模型變數的相關性過高怎麼辦?
請問做計量經濟模型的時候數據哪裡找。。。?
被解釋變數是虛擬變數可以用DID嗎?
計量經濟學中有哪些傳神的比喻(比方)?

TAG:計量經濟學 |