學習經濟學需要熟悉哪些編程語言?
題主經濟學專業背景,編程語言零基礎,將要讀計量經濟學專業,覺得學習一門或幾門編程語言很有必要,請問我應當以哪一門編程語言作為切入點?請專業人士給以指點。謝謝。
簡單回答題主的問題,如果編程零基礎,建議以python入門,但是並不建議以此作為數據分析的全部。R可以說是必須要學的,除此兩者以外的,可以泛泛的關注。
=================================分割線=================================
下面詳細說一下自己的看法,僅僅是個人體會,僅供題主參考。
首先要說的是R,絕對是目前國外學術界的主流,統計系基本除R以外沒有其他了,計量作為和統計相關的方向,R也在逐漸滲透。所以推薦題主學習。
順便說一句,R的學習曲線是比較陡峭的,所以我不太建議零基礎的人從R開始,否則挫折感會比較強烈。而python會略好,所以我建議從python開始。
python並非是專用於統計或者計量的軟體,而是一種非常流行的通用編程語言。經過多年發展,庫也非常齊備。我試用過numpy,scipy和pandas等庫,與其他通用編程語言相比,算是相當好用,不過個人感覺還是比不上R,比如畫圖,ggplot2真心是神一般的存在,python的庫還是略遜一籌。
但是,如樓上各位所說,除了數據處理之外,python可以乾的事情太多了,也太牛了。我們主要要用到的,比如網頁採集數據,解析網頁等等。這些方面python就比R有優勢多了。
當然,從趨勢來看,未來似乎python比R更優。R是一群統計學家在編程序,python是一群計算機專家在爭取搞數據處理。似乎python的基礎更紮實。個人觀點,僅供參考。
stata我認為是除了R以外最好的計量軟體了,我兩者均用過數年數個項目,但是依然感覺R更好用,整理和處理數據更方便。所以即使在樓上諸位所提到的微觀計量領域,我依然更喜歡R。
除此以外spss,或者eviews等,感覺管理類學生用的更多,功能比較受限,不太推薦。這裡不贅述。
上述的幾個軟體,還有個問題,在於都是收費的,考慮到未來知識產權的保護,還是用免費的略靠譜。
R的主要缺點有兩個:
1,面對大數據乏力。這方面sas確實有優勢,但是不得不說,sas的語法太反人類了,完全接受不能。面對這個問題,我要說的是,你得看問題有多大。以我的經驗,經濟裡面的數據量似乎還不足以超過R的處理上限很多。可能金融的高頻數據會比較大,我個人沒啥經驗,如果遇到再補充。我嘗試過10g的數據,最簡單的辦法,不是學sas,而是買16g的內存。:)以現在的內存價格,我覺得32g以下的問題不大。
2,性能不足。這方面python也有同樣的問題,最好的解決方案是混合c/c++,不過這個就是無底洞了,耗時極多,都不見得能學好。建議的方法,還是買硬體,這個最簡單。:)當然用並行包等,也是解決方法之一,我嘗試過幾次用機房的多台機器做集群,不是太成功。求高人指點。
matlab:好東西,關鍵還是性能問題,同樣可以靠c/c++來解決。但是我不喜歡比較大的軟體,為了求個均值方差,等它啟動就佔了5分鐘。。。
julia:好東西X2,目前關注中,可能還比較年輕,導致配套的庫略少,不過看好未來發展,主要是吸取了matlab,python和c/c++的有點,寫的快,運算的也快,未來看漲,緊密關注。
簡單點回答。
數據,簡單的用excel,直觀,方便。複雜一些的…excel最多可以有6萬多行,你確定你需要從那麼大量的數據開始「學」經濟學么?
複雜的用R,各種模型,演算法,實現,基本上R都有對應的軟體包了,下載下來直接用即可,多讀文檔多練多用,半年左右就可以拋開excel直接用R作實戰了。我博士論文全部回歸和輸出都是用R的,現在寫的論文也都用它。
替代品是Stata。也很好,但如果你和我一樣是從0開始,那麼強烈建議選R。
R的一個不足是沒法作符號運算,這個免費的解決方案有python搭配scipy numpy等幾個包,不過建議你用mathematica,它的符號計算功能最強大,輸出格式也最好。你可以找個jacobian矩陣搞一下符號計算,比較一下結果就知道了。
Python這東西,熟悉了R之後,發現有功能是R實現不了的,到時候有實際需求了,再學也不遲。不是立刻就需要的。
此外,所有經濟學研究(我是指empirics類型的,具體意思你懂的),都要會用latex,可以把它看做是一門編程語言。在word里排數學公式,用不了多久你就會瘋掉。R中可以用ggplot2來繪圖,輸出到tex中。普通數據表用xtable包輸出到tex,回歸結果用stargazer輸出到tex,都很方便。
舉個例子,這是我最近用R編的一段程序,跑了個數值模擬,用來驗證一個模型。好看不好看再說,至少用R能做到1)在R中將原始數據作處理,2)在R中運行回歸,3)將R中的回歸結果繪圖輸出,4)把圖載入到latex論文中。謝邀。
Stata微觀計量中應用極多,主要是直接輸命令回歸,需要編程的地方不多。
至於編程,推薦R、Python.
R是非常好的統計分析軟體,在計量經濟學中的應用可以見
Time Series Analysis with Applications in R
這幾本書
Python用來抓數據很好,並且有數學計算包SciPy可以部分替代Matlab之類科學計算的功能。
這個問題我回答了太多次。
前面 @榮健欣 學長回答了,但是很簡略,我展開來說說。
計量經濟學也有很多小的門類,請對號入座。
有很多軟體,Stata, matlab, R, SAS是相對來說用的比較多的。
- 如果是做應用計量(特別是橫截面數據、面板數據),Stata是不二之選,因為不管是管理數據還是跑回歸,實在太太太方便了。現在主流期刊的應用微觀計量文章裡面能用到的模型stata幾乎都有,而且其中的絕大多數都是用stata做的。而且最大的優點是,簡單!
- 如果做應用的時間序列,Eviews似乎是一個不錯的選擇。但是我一般不做這方面,也不是很有發言權。
- 如果做理論計量,stata eviews是沒有現成的包的,而且即便Stata可以編程,可編程能力也是很差的,而且不穩健。所以懂R和Matlab就非常順手。當然也可以用Python,最近Sargent就寫了本用Python做計量的書。還有一個Julia,是這三種語言的混合,但是速度快很多,缺點是太過於小眾。
- 如果對速度要求高,特別是金融計量很多對速度有要求的,可以考慮C、Fortran等語言。C和Fortran肯定是最快的。還有一個叫做OX的,速度快,但是也很小眾。但是這些語言的缺點是學習難度比較高,開發時間比較慢。Julia據說速度堪比C,而且語法特別像Matlab、Python(意味著容易學習),但是處於剛起步階段,用的人太少了。
- 如果是金融計量領域,強烈建議學會SAS。SAS是最權威,速度也很快,當然最大的問題是昂貴,而且可編程能力不是多麼好。但是金融裡面數據量都非常非常非常大,一般的軟體都癱的時候,SAS就派上用場了。
- 像我自己,做應用的時候都是用stata整理數據,能用stata的堅決不用其他軟體。但是因為有的時候做一些理論計量的工作,所以matlab也是必不可少的。我也在學習Julia,因為matlab的速度實在太慢。Python我一般不用來做科學計算,用的人不多,而且速度慢,一般是用來抓數據的。
- 最後還是補充一點吧,為什麼我推薦matlab而不是其他的軟體,也是有道理的。很多模型,比如空間計量模型(spatial econometrics)、貝葉斯估計、以及宏觀計量裡面的DSGE model、SVAR等模型,在stata、Eviews裡面都是沒有什麼現成的東西可以用的,但是matlab提供了豐富的包,比如Dynare就是基於Matlab的,還有LeSage的空間計量軟體包等等,也是基於matlab的。所以幾乎你想用的模型matlab裡面都能找到codes然後直接用。就算沒有,你自己在matlab裡面寫,也不是什麼難事。
- 最後想起一句話來,關於這些軟體的選擇(stata除外,因為stata在應用計量領域的地位是幾乎不可替代的)可以用兩句話來概括:如果你自己的時間比計算機的時間寶貴的話,學習matlab、R、甚至Python、Julia是最合適的,如果計算機的時間比你的時間寶貴的話,學習C、Fortran是必須的。當然除非你的工作非常特殊(比如一些大型的結構模型的估計),一般來說,還是自己的時間更寶貴一點。
綜上,做應用和做理論是不可能用一種軟體解決的,建議根據自己的方向進行挑選。我覺著stata、matlab、R是比較推薦的,一個方便,一個靈活,都很強大,而且學習難度都不大,用的人都很多,交流起來相當方便。
PS:各個軟體的速度比較, 可以看Julia的主頁。
做統計和計量的話,想要跟當今的國際學術界接軌,最好學R,至少我所知道的目前美國的統計學術界被R佔領的趨勢很明顯了。
如果只是做簡單地回歸隨便解讀一下,那隨便選個傻瓜軟體就可以了。如果只是應用現成的成熟的計量模型來做實證研究,那麼傻瓜軟體一般也就可以了。如果要以統計、計量為研究領域或者專業領域,那麼編程性的東西是少不了的,即使是做實證如果涉及較為複雜的數據結構,懂編程也能幫你大幅提高生產力。另外,R的社區比較活躍,能夠較好地跟上前沿。
如果涉及到處理較大的數據,一種辦法是用SAS,如果不想用SAS可以學資料庫方面的東西,比如把數據放在SQLite資料庫中然後用{RSQLite}訪問資料庫,或者用{sqldf}通過SQL操作環境中的data frame。
如果覺得執行某項任務R單核速度慢,那麼可以使用{parallel}或者{parallelMap}做並行計算,也可以利用雲計算來處理數據。
如果涉及到其他社區的東西在R社區中沒有實現,例如Java的東西,可以用{rJava}來調用Java的對象,不過速度有些慢。比較好的辦法是我在 想從事數據分析工作,學什麼軟體或語言最好? 中提到的F#函數式編程語言,用RProvider可以直接調用R,用JavaProvider直接調用Jar打包的Java程序,用PythonProvider(即將發布)直接調用Python程序,等等,很容易將各大社區的資源整合在一起使用。
目前我在GitHub上面弄一個通過R學習統計、計量、非參、數據可視化、資料庫的repo: renkun-ken/learnR on GitHub ,雖然目前還沒什麼內容,不過可以跟蹤一下。
=== 2014-01-30 補充 ===
以上說得都是經濟學相關的統計和計量方面所需要的編程。事實上統計和計量所需的「編程」較為簡單,基本也就是處理數據、應用已經提供的計量模型,更多需要編程的是:一、如果涉及較為前沿的計量模型,可能還需要自己實現;二、一些蒙特卡羅模擬需要一些編程。
從經濟學相關的一些新型領域來說,計算經濟學(Computational Economics)、計算統計學(Computational Statistics)以及計算計量學(Computational Econometrics)則需要較強的編程能力,包括演算法實現、演算法分析等等。舉個例子,計算經濟學中目前做的一塊研究是Agent-based computational finance,就是建立一個模擬的金融市場,裡面有幾種資產,每種資產的基本面由隨機的紅利決定,裡面有許多遵循各種邏輯的投資者,投資者對於紅利發放持有的信念不同,因而從各自的邏輯觸發的交易行為不同。在一個複式競價(double auction)的交易市場中,什麼樣的投資者組成或者行為方式、什麼樣的記憶長短,能夠最大程度地複製出我們在現實金融市場中觀測到的資產價格或者資產收益率規律,例如資產收益率尖峰肥尾、不對稱性。此時,研究者就需要較紮實的金融知識來設計一個不過於簡單而又不過於複雜的模擬金融市場,也需要相應的編程能力把模型用程序語言編寫出來。這中間會設計許多編程技術,例如資料庫(有時要跟蹤許多變數,例如投資者現金流動、財富分布)、並行計算(CPU多核並行、多進程並行、集群上的並行甚至GPU計算)等等。這方面的研究從1990s年代才開始。
=== 2014-02-07 補充 ===
根據最新的統計(來源:Data Science: State of the Industry)
SQL, R, Python, Excel在數據科學研究和應用領域有巨大的市場份額。=== 2014-03-02 補充 ===
雖然經濟學和計量、統計之間聯繫緊密,但是仍有很大的不同,涉及的軟體都離不開數據處理和分析。下面是 2014 Dice Tech Salary Survey 作出的調查結果:
R的應用和經驗獲得了最高的報酬。
我想說我碰到的問題基本上excel加eviews已經可以妥妥解決了(你得會點VBA才能真心發揮excel的用處)。當然你要是用Latex排版的話估計就不得不搞R了。Matlab真心強大,但是2G內存的電腦搞起來會挺不開心的,我都是用學校圖書館的i7+8G的電腦跑Matlab,真心爽。python是一門很健全的計算機語言,它主要是用來搭配numpy跟pandas兩個模塊來實現各種統計功能,我想說是很強大的,但是已經基本屬於編程範疇了,因為不像前面的那些,多少有個UI。你要是能對著自己的Windows的cmd看整整半天時間還不累的話,可以考慮用pandas。C和fortran都是更加純粹的編程了,我之前的舍友通常用fortran編出來的程序在實驗室的工作站上至少連續7*24小時跑一周(我猜大多數人沒達到搞這麼個大工程的運算吧)。
以上程序按照出現順序由簡單到複雜,由滑鼠到鍵盤,由界面到代碼,由收費到免費,運行效率由慢到快。除了這些,別的沒用過。其實大致原則就是:賣得越貴的軟體往往越方便、越容易入門。
最後我想說的是,你能把一個軟體的全部功能都挖掘出來的話就已經能算得上專家了。大多數人都是每樣都學一點,每樣都不會。這根本不是個問題,你沒的選。
比如遇到個宏觀問題要搞DSGE,matlab有dynare,要是不用這個就要手工個幾百上千行貝葉斯;
比如遇到個微觀問題,比如前一陣大家很關注的PISA吧,僅提供兩種數據讀入格式,SPSS,SAS;
比如不幸做PISA還選了SPSS,好不容易把數據搞完做multilevel model,你會發現SPSS的Mix過程因為技術問題並不是無偏的,結果還必須得用SAS;
比如你的數據來源直接是個資料庫.bak,你總得會SQL吧;
比如問題的規模太大計算又獨特複雜,matlab不行,就只能上C,C++之類的;
以上還都是假設學校有這些軟體版權,沒有就另是一個複雜的問題了。
我覺得題主自己的思路要比好多答主的思路清晰。 好多答主都是急於展現自己對編程的了解而忽略了題主的需求。
請問我應當以哪一門編程語言作為切入點?
題主沒有編程基礎,需要的先從一門語言切入,掌握編程的基本概念,其他的按需學習就好了。這樣有兩點好處:
1. 有了一門切入的語言,其他語言觸類旁通,學習起來難度相對更低;
2. 之後按需學習,在有需要的時候通過實踐學習,更容易上手。
此外,編程是你的工具,計量才會是你的核心技能。
那麼基於這個目的,建議選擇一門擴展性,通用性好,learning curve不陡峭的語言。
1. 擴展性與通用性方面
比如需要考量各種data API的支持啊, 各種現成工具包的支持啊,編程的規範啊等等。這方面Matlab Pyhton R的支持都不錯。舉個例子: 這三個都支持通過ODBC驅動連接SQL。比如有答主提到了大數據處理,並行數據處理等。Matlab有DCT和parallel computing toolbox,Python R也有相關的工具包。
2. learning curve
選一門易學的語言可以讓題主在學習初期有成就感,這很重要。這裡我認為一方面要考慮語言本身的難度,另外一方面要考慮Community支持。比如我就不推薦Julia,主要就是處於community太小,遇到問題找不到支持。MATLAB,R,Python都有龐大而且樂於助人的用戶群支持。
綜上所述,我認為這三門語言都還算不錯的切入語言: Python, R, MATLAB. 個人在這三門語言的順序是: MATLAB -&> R -&> Python, 如果重新開始,我可能會選擇從Python開始。
至於未來的路上,我認為計量,包括其他應用編程的,大多數情形,實現的需求遠大於performance的需求。所以基本上哪兒現成的包,現成的代碼可以修改就用哪個語言。個人經歷:本科學了C,後來很少用。碩士期間經常用R和MATLAB處理金融時序,拿MATLAB寫過agent based model。工作中常用R和Python,拿MATLAB寫過Dynare 和YADA的並行處理。最近憋paper偶爾用下STATA。數據過大考慮用Spark,現學ing。
本科經濟統計學,由於學校奇葩的課程設置,我們分別使用過:
- EViews:計量經濟學,時序和多元統計。
- Stata:計量經濟學。
- SPSS:專門開的一門課,這個巨汗,權當複習了一遍統計學。
- Excel:大一的統計入門課使用的,這個也巨坑,就是簡單的函數使用,一點沒有涉及VBA。
- Matlab:這個沒有專門的課,是上完了C語言程序設計以後副產品,後來接觸了R和Mathematica就基本拋棄了它。
- R/S-Plus:在回歸分析的時候使用了S-Plus,不過那時候我已經使用R語言很久了,而且S-Plus基本兼容,所以沒有使用過S-Plus。
- Minitab:質量控制課程上用的,基本的統計加上一些實驗設計。
- SAS:這個在實驗室中自學過幾次,直接被其奇葩的語法雷到了,據說我們學校的研究生有專門的SAS課程(類似於本科的SPSS課程),呵呵了~
我們系的妹(xue)紙(ba)就曾經抱怨說使用的軟體太多了,完全被逼瘋的感覺,還給我們親愛的系主任提過意見。作為學渣也就這個問題問過系主任,她的意思是不同的軟體在處理不同的數據時候是各有所長的,而且你們課程還是蠻輕鬆的,就多學點吧,另外不同的老師有不同的軟體使用愛好,上課使用不同的軟體是必然的。
學習經濟學的同學,Excel和SPSS,EViews(或者Stata)就蠻好的了,Stata和EViews都可以寫一些程序的,SPSS的界面化操作也是很友好的。本人使用的R,在上各種課中也都會在學了那些軟體後再使用R來實現(其實絕大多數時候R都已經有現成的包了,我也大多是直接使用),R還是很不錯的,推薦。
很多前輩也提出了,經濟學學生學習編程適可而止就好了,要不然就是一條不歸路啊,面臨著徹底轉行的危險,本人就是一枚反面例子(淚~。所以什麼Python啊,C++啊,Julia啊就不要接觸了。以我最近的經驗來看小樣本、不要求反應速度又不複雜的模型其實用R用Matlab甚至用Eviews, spss都沒有明顯差異了,稍微複雜一些的模型可能R更容易實現思路,如果涉及矩陣Matlab更好用,再複雜的模型或者超大規模的數據有人建議用C++來實現,或者R+Hadoop?@任坤
如果涉及一些數值分析的工作比如解個ode、pde什麼的用Matlab吧@任坤
老師上課教學以eviews為主,因為簡單易用,但是功能不全。
學院派,寫論文作計量喜歡stata,功能強大,免費開源,也有用r語言的。
做蒙特卡洛這種複雜運算的用matlab居多,矩陣功能強大
c++用的人也不少,但是科班出身的由於一般沒有編程基礎,用的比較少。
業界的話,據說銀行和券商用sas的多
我是金融工程專業的,其實說實話,做這一行學好MATLAB非常非常非常重要!
我從大一開始自學MATLAB,從不間斷一直在用,滿滿時候你會發現,什麼lingo,spss,都是浮雲,因為它們無法按照你的意願走!明白了嗎?按照你的意願來控制是多麼重要的一件事
Stata是最好的語言,在Stata14已經支援UTF-8。很多人覺得Stata跑得可能較Python慢,事實上Stata-MP支援多核心平行運算,資料量沒有上限,我常用Stata處理超過1T的文字檔,個人使用Stata-MP 8核心的經驗是:多一個核心速度幾乎快一倍。Stata最讓我欣賞的是它可以將文字資料做矩陣式的操作,不論是在資料合併、更新、轉置、分群組上都有很好的表現,這都是Python的Pandas做不到的。Stata在Linux Centos跑的經驗是:Stata和Bash Script有很好的相容性,用Stata做伺服器的排程非常容易。如果您是Stata高手歡迎與我聯絡。Email: jimmy@yu-house.com
對於說Stata只能開啟一個數據文件,我一定要回應一下,事實上這是好事,因為你要有好的記憶體控管。Stata的處理數據的能力指受限於你的記憶體大小,一般情況是:
只能匯入數據文件的幾個Column或幾個Row,不會將整個文件匯入(也匯不入、或會跑很慢)。只能開啟一個數據文件會讓你再寫程式時就注意到資料大小的問題。事實上這是優點。
事實上雖然Stata有很強的函式庫支援各種最新的計量模型,(因為美國的計量經濟學家很多用Stata),但我都是自己寫Do file,沒有用過已寫好的指令。如果你傾心於開源社群,你也可將寫好的程式碼上傳到Stata的函式庫供他人下載。Stata的套裝指令與R比好太多,因為Stata有更好的說明書與範例,(畢竟是付費軟體有更好的支援)。Stata也有很多第三方寫的指令可供下載。但是畢竟Stata的文化較傾向於Proprietary,即使用Stata寫的指令更快更穩,但用Stata寫的程式碼可能很多是不公開的。像我寫的Do file也不可能去公開,因為商業考量。所以Python和R還是比較有機會找到真正商業可用且免費的程式碼。
恩我本科就是數學的么。基礎課程是Excel SAS 這兩個我覺得做數據分析很好用。然後最近python學習中。·······python的語言很直接,所以學習起來也比較簡單。沒有編程基礎也可以搞定。有人回復我說到了R和Python的比較問題了,我說的不夠嚴謹了。我個人以為Python和R在兩個不同的側重點上。我覺得Python的計算速度更快一些。我引用一點我當初在準備學習數據分析和挖掘的時候看到的Python和R的比較上面的一些話,Python是一門計算機語言,而R更側重於統計,在統計等方面他肯定強勢。
其實選用哪種語言其實很多時候並不取決於語言本身的優劣,而是取決於我們所處的外部環境。
具體來說,如果題主之前沒有編程經歷的話,那麼用哪種編程語言很大程度上取決於你所在的學院、導師、同學師兄師姐用哪種程序。如果他們用Stata,有已經整理好的Stata格式的資料庫和現成的Stata代碼,而對其他程序不熟悉,那麼顯然你學Stata是最合適的。
譬如說我自己吧,我先前在P大的CCER讀經濟學雙學位,計量課美女老師丹丹姐教的正是Stata,後來選修趙耀輝老師的「社會經濟調查與研究方法」課,也是在講如果用Stata處理CHARLS的數據。所以,理所當然地,我就學了Stata。總不能她們以及助教在上面講Stata,我在下面寫SAS或Python代碼吧。
Stata本身就是一群經濟學家為了更方面地做經濟統計分析而設計的,裡面集成的很多指令可以對複雜的計量模型實現一鍵完成,就像打遊戲改鍵實現一鍵必殺,扯遠了。。。所以,經濟學家挺喜歡用Stata的,畢竟這是量身定做之選啊。別的學院我不清楚,在CCER里Stata絕對是主流,老師用,助教用,學生用。
後來在某金融黃埔學金融,金融計量和蒙特卡洛模擬的老師都要求用Matlab寫作業,所以我就寫Matlab代碼了。要是寫個Stata代碼交上去,額,沒試過,估計不行吧。
如果是經濟學裡面的分支金融的話,我知道很多金融教授用的是SAS,聽說主要是因為國際上的金融資料庫,好像Fama(或者是別人,忘了到底是誰了)當年構建並且一直更新的金融資料庫,就是SAS,以致於金融學者中用SAS的人挺多。我認識的幾位沃頓商學院博士也都是用SAS。
我也寫過一點SAS,是因為先前實習的公司用SAS。雖然我自己的程序不拿SAS寫,但他們以前寫的SAS代碼至少我需要看懂吧。。。看吧,用哪種語言真得很取決於我們所處的外部環境。對於SAS,我的感受跟其他幾個回答里說的運河,SAS的語法真得很奇葩。沒學過別的語言一上來直接學SAS倒還好,學過別的語言再來看SAS,就實在不明白為什麼SAS代碼要寫成那樣。
或許你可以先問一問你心儀的學院或導師,看看他們是用什麼編程軟體,跟他們用相同的軟體你會發現處理數據寫代碼會容易很多,而且也可以跟同學師兄師姐double check寫的代碼是否有誤。
如果他們的編程軟體並不統一,或者你想自己選定一種的話。就計量經濟學而言,Stata大概至少是排三甲的選擇。國內最好的經濟學院之一CCER(我還是加上「之一」以示對P大最有錢的那個學院和THU表示敬意)用Stata,可以算作是最好的背書了吧。其他語言其實都可以,Matlab、Python、SAS、R等等。
看一群人說跑個回歸用什麼什麼太逗樂了。這年頭只要跟數據沾邊的軟體還有什麼不能做回歸。。關鍵是自己懂理論。不懂的只知道調函數的,用什麼都白搭。
不知道你搞的什麼計量研究。軟體這東西不是什麼裝高大上。你得看主流的需求,總不能給中國人天天喂牛排,因為我們吃不慣。基於橫截面和面板數據的計量模型,如果Stata能在30分鐘里搞定的,一定要用Stata做。你搞出來的估計方法即使發在最高級的econometrica上,最終目的是讓做應用的人引用你的東西做文章,否則你這理論文章連坨屎的效果都沒有。Stata不適合後,轉matlab.,並且上傳code到網上。這樣才會有人引你的東西。
一般來說,R、Matlab、Mathematica、STATA,Python不常用。導師做Agent-Based Computational Economics(ACE),用C++自己編程建模。我個人用Eclipse+Java+Repast。
如果你只想學一個軟體,朋友,stata。
如果你只想安靜的做點研究而不是折騰各種配置,亂七八糟的環境,朋友,請選擇stata。
如果你還想做一名二手的程序員,朋友,stata mata。
學什麼R呀,那個架構簡直反人類好么,什麼dataframe的討嫌,學習曲線太陡峭。以前做空間面板的時候為偷懶用R做,折騰得死去活來的。
如果你還想風騷騷的爬點數據,做點批處理,上python,這個語言簡直了,強制縮進讓人愛不釋手呀,不寫程序用它當個計算器也是蠻好的。
個人感覺matlab的功能十分強大。不管什麼專業,學會使用這軟體還是好的。而且matlab里也有經濟學常用的函數工具箱啊,現在還在不斷地完善。。
推薦閱讀:
※哪些 Python 庫讓你相見恨晚?
※哪些語言特性,有助於開發大型系統?
※微軟當年的 J++ 究竟是什麼?為什麼 Sun 要告它?
※優秀的程序員應該掌握多少門編程語言?
※以英語為母語的人寫代碼時是什麼感覺?