用哪種統計軟體好?SAS, SPSS, or Stata?

要作統計分析通常會需要安裝統計軟體,SAS, SPSS, and Stata就是其中三套知名的商業軟體。雖然大部分我認識的人,用這三套軟體的原因都不是出於「自願」,而是看自己的老闆用什麼,但我還是決定寫下我的心得,讓有需要的人自行選擇。簡單地說,SAS是要寫指令的,沒什麼下拉選單可以幫你作統計,SPSS主要是下拉選單,要手寫程式還不大容易(SPSS 17已支援)。Stata是介於中間,你可用指令模式,忘了指令也可以下拉式選單來完成

SAS

SAS是我覺得學習門檻最高的。雖然SAS和Stata都需要寫程式,但SAS的程式比Stata難寫得多。我是因為以前偶而也寫點程式,所以學SAS不難。舉幾個例子好了,SAS需要開頭和結尾都作宣告,像proc,每行結尾都要用;,最後還要加個run。指令就像下面這樣。

1.png

 

此外,SAS畫出來的圖是真的很醜!我拿我以前的作業,讓大家看一下。連我們老師那種死忠的SAS擁護者,都說他們會用別的軟體畫圖,讓人一整個無言啊…. SAS畫圖的門檻很高,有興趣的可到LCChien的部落格或是直接去他的繪圖技巧看看。

2.png3.png

4.png
話說回來,SAS也不是一無是處。第一,美國很多國家大型資料庫用的都是SAS,你要用Stata或SPSS還得轉換才行。第二,沒寫過程式也不用那麼恐懼。寫程式總是有寫程式的好處,因為你知道你每一步做什麼,做錯了你只要改幾個字就好。用下拉式選單的話,如果你只給他看結果,別人可能不知道你怎麼做的。要接手工作就不是那麼容易了。如果你資料要修改的話,那寫程式是一定要的,因為你不會想要動到原本的資料(萬一誤刪了怎麼辦?)。要create dummy variables,寫程式還是比較保險的。

SPSS

SPSS因為都是下拉式選單,我覺得學習上應該是一點門檻也沒有or很低(前提是你要懂統計 XD)。畫面就像下面一樣。SPSS的缺點其實就是SAS的優點,如果你要做dummy variables,或是你作問卷調查,要將幾個選項的分數加總,這在SPSS就比較複雜了。另外小小抱怨一下:SPSS的開啟速度是我不大能忍受的,有時候要個30秒耶….人生是有幾個30秒可浪費在等SPSS開啟呢?

更新:SPSS 17已經支援Python、R、VB.Net的plugin,據說就可用結合這些語言來作統計了。實際情形等我實測之後再跟大家分享。

5.png

Stata

Stata前面說過,是介於SAS與SPSS之間的。你可以下指令,也可以用下拉式選單操作。如果你要用command,建議你新增的一個do file,到時候把裡面要執行的指令選起來,選do就好了。此外,Stata最好的地方我覺得應該是它的help file和可擴充性。你只要在command 打help再加你要的指令,就會出現清楚的說明。可擴充性是有些常要作的routine,有人已經寫好了一些工具,你只要打findit 工具名,就可以安裝到你的stata了

6.png7.png

 

到哪去找這些好用的工具呢?你可以去這瞧瞧http://www.ats.ucla.edu/stat/stata/ado/analysis/

19 thoughts on “用哪種統計軟體好?SAS, SPSS, or Stata?”

  1. 這我一定要回覆
    你還真的打了篇比較這三種軟體的blog
    實在太佩服你了
    當你同學一定很幸福,常常可以去你那邊請教高人

  2. update一下

    新的SPSS也可以用Python跟R語言來寫語法了,相信玩統計的應該多少都會用R語言來寫自己的語法,網路上也有很多用R所寫的程式可以來套用

  3. SAS是可以畫出高品質的圖
    只是門檻很高
    必須要寫入很多圖形環境設定的語法
    對一般使用者來講不如R那麼方便
    最新釋出的V9.2已經盡可能地把任何分析會用到的圖形打包在ODS裡
    不過若要自己繪圖特定圖形的話
    建議是先去網路上找看看有沒有別人已經做出來的macro拿來套用
    SAS主要強在資料管理
    在我使用過至少五種以上的統計軟體中
    SAS在這方面的優勢還是無法撼動的

  4. 最近剛好有資料要跑統計,逛到這個網站,讓我多瞭解了很多研究上的資訊,讓我獲益良多^^
    可否請問SPSS可以跑Poisson regression嗎?還是只能用Stata或是SAS?
    我查詢到的SPSS書本都沒說明在SPSS裡類別依變項怎麼操作?SPSS可以跑Poisson regression,要怎麼操作?可否麻煩你幫忙解答一下,謝謝!

  5. 身為統計系的研究生,SAS, R, STATA, SPSS都有用過。SAS用來做數據庫的操作是很容易的(PROC SQL), 統計方面也很強,只是要花很長時間去學。STATA相對容易,但是它每次只能打開一個數據文件讓人很頭疼。R的圖形很漂亮!但是也是要記很多程式語法。SPSS,實在用的不太多,感覺比較像EXCEL吧,目前來說SAS 和R是我的主力統計編程軟件。

  6. R是挺好的而且免費,但以前很多語法都要自己寫,學習門檻稍高。但只要你強,什麼東西都可以用R作出來。

    Stata是包裝過的,很多算式、語法都是現成的。你不用知道那是什麼,但如果你的算法跟別人不一樣,那要解開黑盒子重新改寫,就比較費功夫了。

    R我只摸過短暫的一陣子,這是我的初步印象。

  7. R 也有企業級軟體 Revolution R, 對老師及學生是免費, 在Windows環境, 有提供IDE環境方便除錯及指令提示, 可以降低學習門檻。R 的範例在網路廣泛流傳, 應用範圍也很大, 是解決問題的好選擇。

  8. 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 Web: http://www.pha8.com/taipeisale

  9. 對於說Stata只能開啟一個數據文件,我一定要回應一下,事實上這是好事,因為你要有好的記憶體控管。Stata的處理數據的能力指受限於你的記憶體大小,一般情況是:
    只能匯入數據文件的幾個Column或幾個Row,不會將整個文件匯入(也匯不入、或會跑很慢)。只能開啟一個數據文件會讓你再寫程式時就注意到資料大小的問題。事實上這是優點。

  10. 事實上雖然Stata有很強的函式庫支援各種最新的計量模型,(因為美國的計量經濟學家很多用Stata),但我都是自己寫Do file,沒有用過已寫好的指令。如果你傾心於開源社群,你也可將寫好的程式碼上傳到Stata的函式庫供他人下載。Stata的套裝指令與R比好太多,因為Stata有更好的說明書與範例,(畢竟是付費軟體有更好的支援)。Stata也有很多第三方寫的指令可供下載。但是畢竟Stata的文化較傾向於Proprietary,即使用Stata寫的指令更快更穩,但用Stata寫的程式碼可能很多是不公開的。像我寫的Do file也不可能去公開,因為商業考量。所以Python和R還是比較有機會找到真正商業可用且免費的程式碼。

Leave a Comment

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Scroll to Top
Verified by MonsterInsights