SAS,R,Python,matlab,spss,stata這類工具究竟是什麼?

這些東西是做什麼行業需要用的?如果要學的話需要有電腦編程基礎嗎?零基礎完全不了解程序的人可以學嗎?數學要達到什麼水平呢?謝謝!


Matlab是科學計算軟體,Python是一門編程語言,也可以用來做科學計算,其餘四個是統計軟體(SAS是公認的世界上最好的統計軟體,R是開源軟體,學界用得比較多,其餘兩個是玩具)。零基礎完全不了解程序的人當然可以學。這些東西語法都不困難。數學要達到什麼水平似乎跟學語言無關。而跟你要解決的問題有關,語言只是工具,解決問題才是最重要的,不要為了學語言而學語言。帶著問題去學。


  • 2016-09-14,添加了軟體或語言的對應網址;增加了 R 和 MATLAB 的描述內容。

SAS,SPSS,R 都是統計類軟體,SAS 和 SPSS 是收費軟體,R 是免費的。MATLAB 是科學計算軟體,收費,主要用於數值計算和模擬。STATA 沒用過。

SAS(商業分析與商業智能軟體)是比較專業的統計軟體,似乎賣得有點小貴,具體價格我沒查過,主要是大公司用吧。做數據分析可以通過界面嚮導設置,也可以編程作數據分析,語言相對簡單。本科學數據分析的時候用的就是它。

SPSS (IBM SPSS - IBM Analytics)就我個人印象,沒 SAS 那麼強大,安裝文件都要小很多。也可以通過界面嚮導作數據分析,至於能不能編程,不清楚,反正沒見周圍用過的人用它編程。本科做數學建模統計類的題的話,周圍的大多都用它,並且學校的 SPSS 書籍要比 SAS 的多。

R(R: The R Project for Statistical Computing) 同屬數據分析類軟體,或者叫統計類軟體吧。數據分析通過編程完成。做學術的更偏向於用它,因為它的自由度更高。R 也是一門語言,官網的介紹是

R is a language and environment for statistical computing and graphics

大概意思是說 R 是統計計算和繪圖的語言及環境。官網有同名的 R 軟體,不過,我覺得 RStudio (RStudio – Open source and enterprise-ready professional software for R)這個 IDE 更好用一點,界面有點像 MATLAB,有免費版。

R 3.3.1(Windows):

RStudio 0.99.903(Windows):

所以,從學習的難易程度從高到底排的話,我這裡是,R&>SAS&>SPSS。但說起來,如果是公司用,應該傾向於用成熟的產品,比如 SAS 或者 SPSS。基本的統計微軟的 EXCEL 就能搞定(其實 EXCEL 也是可以寫編程的)。

MATLAB(面向科學計算的MATLAB和Simulink)是很強大的計算軟體,計算或者模擬用,也可以做統計。它即是一門語言,也是一款工具。它既可以數值計算,也可以符號計算。屬於萬能的那種,你既可以編程實現自己的演算法,也可以利用它提供的各種內置函數編寫的演算法。在這幾款軟體中,它使用的範圍應該是最廣的。你想像一下,它的最新版安裝包有 7 G。我是作為數學背景使用它的,主要是因為它實現演算法快,並且數據可視化很方便。MATLAB能做的比較多,了解其功能,可以查看 產品和服務 - MATLAB
和 Simulink。

另外,MATLAB 可能和 Mathematica(Wolfram Mathematica: Modern Technical Computing)、Maple(Maple 2016 - Technical Computing Software for Engineers, Mathematicians, Scientists, Instructors and Students)功能上更接近一些(相對以上提到的其他軟體而言)。

Python(Welcome to Python.org) 的話,自學過一兩天,但沒實際應用過。更確切的說,它是一門語言。可以進行網路編程,很多爬蟲就是 Python 寫的。不過,我個人沒怎麼用過它,具體應用場景不清楚。自己能用到的有兩個地方,一是用它寫本文編輯器 Sublime Text 的一些腳本工具,二是用它的簡單的伺服器功能。主要還是看你做什麼,像 SPSS 雖然用起來簡單,但是統計類的都需要了解專業知識,並且,最麻煩的不是分析數據,而是你要解釋分析得到的結果。你要是想快速的嘗試一下,我建議你試試 R 和 python,安裝完了寫幾個例子也就是分分鐘的事情。


統計行業、運籌優化、學術界、工程、醫學、試驗什麼的,用途廣著呢

有電腦編程基礎學的會比較快

你問怎麼入手?你先明確了要幹什麼,然後去查資料唄。切莫把工具熟悉到閉著眼睛能造出來再開始用。


如果樓主是想成為一名合格的數據分析師(數據科學家),這幅圖也許會給你點啟示。

至於樓主所提到的這些工具或語言,它們都是用於實現某一具體的數據分析演算法(或者說是機器學習演算法)。但一個單純的演算法,即使再牛逼,運行得再快,如果沒有放在一個具體的問題作為背景,那它也就僅僅是一個不會有什麼任何具體產出的演算法而已。演算法一定是以解決某一問題(可以是一類或是一個具體問題)為出發點,在它與具體的問題(更多的商業問題,畢竟資本推動著數據分析的發展嘛。)相結合,可以幫助解決具體的商業問題時,那它才是真正有用的。

至於實現它的平台工具或是編程語言,個人認為主要的區別在於運行速度和可擴展程度上。我比較了解的有R、Python、WEKA和KNIME四個,R偏向於統計,優點在於代碼的產出比很高,一行代碼也許就可以幫助實現一個很牛逼的演算法。Python是可以應用場景更廣,數據分析只是其中一個,優點是從底層編寫演算法更高效(無論是實現過程還是運行過程,都高效)。WEKA是用Java編寫的,所以在運行速度上有有優勢,而且操作比較簡單,有點類似數據倉庫的操作。KNIME是一個數據分析軟體,只需要用滑鼠點幾下就能實現一些演算法,適合不喜歡編程的工作者。優點是介面多!

本人還是數據分析初學者。

希望各位大牛多給學習建議!

謝謝!!


SAS 統計學權威軟體,應用性強,小眾語言,一線部分二線城市生活可溫飽(特別適合女生),三線到十八線沒用武之地;

R 學術界中用的多,想在學術界混,必須會;

matlab 工科 NO1;

Python , spss,stata, eviews 玩玩可以,學它們還不如學SQL;


數理統計學的數據分析軟體(想用的話,各個行業基本都可以用→_→)。編程零基礎可以學,spss不需要編程(當然這也是功能最弱的那款,編程要求和軟體綜合功能是顯著正相關關係哦),數學要求的話,高數,線代,概率論當然是基本功,泛函實變隨機過程高階也要用到。


剛好除了SAS和stata沒用過之外,前面幾種都用過,每種軟體每種語言都有自身的優點和缺點,關鍵是看你實際應用的領域和要解決的問題而定。SAS(同學和室友是統計學的,所以還是有所耳聞的),R和SPSS偏向於統計應用,如果你有統計學基礎上手速度會很快,因為都有很多現成的函數給你使用,你只要知道背後是怎麼算的就可以了。

Python,我現在的實慣用的就是Python,Python作為一門腳本語言,其最大的優勢就是簡單易懂,個人覺得它比MATLAB還容易學(當然精通就難),因為學到後面學習成本會因為你實際要使用到的函數庫而增加,Python是屬於上手很快(類似偽代碼的風格),學精很難,而且也真的更偏向於網路應用,雖然用來實現演算法很好,不過個人還是更喜歡用MATLAB或者是C++來實現。

至於MATLAB呢,它的名字是矩陣實驗室,顧名思義當你對矩陣的運算很了解的時候,學習它是個很不錯的選擇,因為本身是數學專業,所以入這個坑是很理所當然的。MATLAB在數學上的應用真的很廣(當然和mathmatica,maple一樣,各自有各自的特點),當然你有數學基礎會更容易上手。

個人而言吧,學習什麼都一樣,都是要有一定的基礎的,你說的這幾個,我覺得如果是數學專業的學生的話,應該在第三個學期就可以學了,就是當你學習了數分高代解幾概率論與數理統計之後集完全有能力去學了。沒有數學基礎去學這幾個東西會很辛苦的


SASR 是主流統計軟體 SAS做數據處理 R可以寫個演算法啥的

Matlab 是數學的軟體 寫函數算數啥的

Python 是CS編程

剩下那兩個是過家家的統計軟體


正在自學sas,之前學過python和matlab,所以感覺sas並沒有很難。sas應該是公認的統計學裡最好的數據分析軟體吧,在美國已經是個很成熟的公司了。國內的分部還在發展中,還有很多人不知道sas。R的話聽我室友說美國很多公司也在用,因為第一它免費而且很open,兼容性高。


eviews適合做時間序列分析。sas的被認可的程度最高。而且就處理能力來說,上述的幾種軟體或者語言裡面,sas的能力無意是最好的。sas如果懶的話,你可以用它的模塊,比如EG,滑鼠就可以完成,當然你編程也可以。


找的挺全,若是了解,已經夠了;想要運用,具體在業務中學習運用


裡面我只懂Python,它可以用來做數學/數據分析,網路/網站 編程,系統運帷,我相信是你列舉的編程語言中功能面最廣的


推薦閱讀:

計量經濟學實證研究中,哪款軟體好?(SPSS,Eviews,Matlab,stata,SAS)
怎樣優雅地學好 SAS 與 R 語言?

TAG:MATLAB | SAS | SPSS | R編程語言 | Stata |