作業一 統計軟件簡介與數據操作
SPSS(Statistical Product and Service Solutions),"統計產品與服務解決方案"軟件。最初軟件全稱為"社會科學統計軟件包"(SolutionsStatistical Package for the Social Sciences),但是隨著SPSS產品服務領域的擴大和服務深度的增加,SPSS公司已於2000年正式將英文全稱更改為"統計產品與服務解決方案",標誌著SPSS的戰略方向正在做出重大調整。為IBM公司推出的一系列用於統計學分析運算、數據挖掘、預測分析和決策支持任務的軟件產品及相關服務的總稱SPSS,有Windows和Mac OS X等版本。
1984年SPSS總部首先推出了世界上第一個統計分析軟件微機版本SPSS/PC+,開創了SPSS微機系列產品的開發方向,極大地擴充了它的應用範圍,並使其能很快地應用於自然科學、技術科學、社會科學的各個領域。世界上許多有影響的報刊雜誌紛紛就SPSS的自動統計繪圖、數據的深入分析、使用方便、功能齊全等方面給予了高度的評價。
SPSS是世界上最早采用圖形菜單驅動界面的統計軟件,它最突出的特點就是操作界面極為友好,輸出結果美觀漂亮。它將幾乎所有的功能都以統一、規範的界面展現出來,使用Windows的窗口方式示各種管理和分析數據方法的功能,對話框展示出各種功能選擇項。用戶只要掌握一定的Windows操作技能,精通統計分析原理,就可以使用該軟件為特定的科研工作服務。SPSS采用類似EXCEL表格的方式輸入與管理數據,數據接口較為通用,能方便的從其他數據庫中讀入數據。其統計過程包括了常用的、較為成熟的統計過程,完全可以滿足非統計專業人士的工作需要。輸出結果十分美觀,存儲時則是專用的SPO格式,可以轉存為HTML格式和文本格式。對於熟悉老版本編程運行方式的用戶,SPSS還特別設計了語法生成窗口,用戶只需在菜單中選好各個選項,然後按"粘貼"按鈕就可以自動生成標準的SPSS程序。極大的方便了中、高級用戶。
SPSS圖表制作SPSS for Windows是一個組合式軟件包,它集數據錄入、整理、分析功能於一身。用戶可以根據實際需要和計算機的功能選擇模塊,以降低對系統硬盤容量的要求,有利於該軟件的推廣應用。SPSS的基本功能包括數據管理、統計分析、圖表分析、輸出管理等等。SPSS統計分析過程包括描述性統計、均值比較、一般線性模型、相關分析、回歸分析、對數線性模型、聚類分析、數據簡化、生存分析、時間序列分析、多重響應等幾大類,每類中又分好幾個統計過程,比如回歸分析中又分線性回歸分析、曲線估計、Logistic回歸、Probit回歸、加權估計、兩階段最小二乘法、非線性回歸等多個統計過程,而且每個過程中又允許用戶選擇不同的方法及參數。SPSS也有專門的繪圖系統,可以根據數據繪制各種圖形。
SPSS for Windows的分析結果清晰、直觀、易學易用,而且可以直接讀取EXCEL及DBF數據文件,現已推廣到多種各種操作系統的計算機上,它和SAS、BMDP並稱為國際上最有影響的三大統計軟件。在國際學術界有條不成文的規定,即在國際學術交流中,凡是用SPSS軟件完成的計算和統計分析,可以不必說明算法,由此可見其影響之大和信譽之高。最新的21.0版采用DAA(Distributed Analysis Architecture,分布式分析系統),全面適應互聯網,支持動態收集、分析數據和HTML格式報告。SPSS操作界面
SPSS輸出結果雖然漂亮,但是很難與一般辦公軟件如Office或是WPS2000直接兼容,如不能用Excel等常用表格處理軟件直接打開,只能采用拷貝、粘貼的方式加以交互。在撰寫調查報告時往往要用電子表格軟件及專業制圖軟件來重新繪制相關圖表,這已經遭到諸多統計學人士的批評;而且SPSS作為三大綜合性統計軟件之一,其統計分析功能與另外兩個軟件即SAS和BMDP相比仍有一定欠缺。
雖然如此,SPSS for Windows由於其操作簡單,已經在我國的社會科學、自然科學的各個領域發揮了巨大作用。該軟件還可以應用於經濟學、數學、統計學、物流管理、生物學、心理學、地理學、醫療衛生、體育、農業、林業、商業等各個領域。
R語言
R是用於統計分析、繪圖的語言和操作環境。R是屬於GNU系統的一個自由、免費、源代碼開放的軟件,它是一個用於統計計算和統計制圖的優秀工具。
R作為一種統計分析軟件,是集統計分析與圖形顯示於一體的。它可以運行於UNIX,Windows和Macintosh的操作系統上,而且嵌入了一個非常方便實用的幫助系統,相比於其他統計分析軟件,R還有以下特點: 1.R是自由軟件。這意味著它是完全免費,開放源代碼的。可以在它的網站及其鏡像中下載任何有關的安裝程序、源代碼、程序包及其源代碼、文檔資料。標準的安裝文件身自身就帶有許多模塊和內嵌統計函數,安裝好後可以直接實現許多常用的統計功能。[2] 2.R是一種可編程的語言。作為一個開放的統計編程環境,語法通俗易懂,很容易學會和掌握語言的語法。而且學會之後,我們可以編制自己的函數來擴展現有的語言。這也就是為什麽它的更新速度比一般統計軟件,如,SPSS,SAS等快得多。大多數最新的統計方法和技術都可以在R中直接得到。[2] 3. 所有R的函數和數據集是保存在程序包裏面的。只有當一個包被載入時,它的內容才可以被訪問。一些常用、基本的程序包已經被收入了標準安裝文件中,隨著新的統計分析方法的出現,標準安裝文件中所包含的程序包也隨著版本的更新而不斷變化。在另外版安裝文件中,已經包含的程序包有:base一R的基礎模塊、mle一極大似然估計模塊、ts一時間序列分析模塊、mva一多元統計分析模塊、survival一生存分析模塊等等.[2] 4.R具有很強的互動性。除了圖形輸出是在另外的窗口處,它的輸入輸出窗口都是在同一個窗口進行的,輸入語法中如果出現錯誤會馬上在窗口口中得到提示,對以前輸入過的命令有記憶功能,可以隨時再現、編輯修改以滿足用戶的需要。輸出的圖形可以直接保存為JPG,BMP,PNG等圖片格式,還可以直接保存為PDF文件。另外,和其他編程語言和數據庫之間有很好的接口。[2] 5.如果加入R的幫助郵件列表一,每天都可能會收到幾十份關於R的郵件資訊。可以和全球一流的統計計算方面的專家討論各種問題,可以說是全世界最大、最前沿的統計學家思維的聚集地.[2] R是基於S語言的一個GNU項目,所以也可以當作S語言的一種實現,通常用S語言編寫的代碼都可以不作修改的在R環境下運行。 R的語法是來自Scheme。R的使用與S-PLUS有很多類似之處,這兩種語言有一定的兼容性。S-PLUS的使用手冊,只要稍加修改就可作為R的使用手冊。所以有人說:R,是S-PLUS的一個“克隆”。 但是請不要忘了:R是免費的(R is free)。R語言源代碼托管在github,具體地址可以看參考資料。[3] 。 R語言的下載可以通過CRAN的鏡像來查找。 R語言有域名為.cn的下載地址,有六個,其中兩個由Datagurn,由中國科學技術大學提供的。R語言Windows版,其中由兩個下載地點是Datagurn和USTC提供的。 STATA Stata 是一套提供其使用者數據分析、數據管理以及繪制專業圖表的完整及整合性統計軟件。它提供許許多多功能,包含線性混合模型、均衡重復反復及多項式普羅比模式。用Stata繪制的統計圖形相當精美。 Stata的統計功能很強,除了傳統的統計分析方法外,還收集了近20年發展起來的新方法,如Cox比例風險回歸,指數與Weibull回歸,多類結果與有序結果的logistic回歸,Poisson回歸,負二項回歸及廣義負二項回歸,隨機效應模型等。具體說, Stata具有如下統計分析能力: 數值變量資料的一般分析:參數估計,t檢驗,單因素和多因素的方差分析,協方差分析,交互效應模型,平衡和非平衡設計,嵌套設計,隨機效應,多個均數的兩兩比較,缺項數據的處理,方差齊性檢驗,正態性檢驗,變量變換等。 分類資料的一般分析:參數估計,列聯表分析 ( 列聯系數,確切概率 ) ,流行病學表格分析等。 等級資料的一般分析:秩變換,秩和檢驗,秩相關等 相關與回歸分析:簡單相關,偏相關,典型相關,以及多達數十種的回歸分析方法,如多元線性回歸,逐步回歸,加權回歸,穩鍵回歸,二階段回歸,百分位數 ( 中位數 ) 回歸,殘差分析、強影響點分析,曲線擬合,隨機效應的線性回歸模型等。 其他方法:質量控制,整群抽樣的設計效率,診斷試驗評價, kappa等。 數據管理(Data management) 資料轉換、分組處理、附加檔案、 ODBC 、行 - 列轉換、數據標記、字符串函數…等 基本統計(Basic statistics) 直交表、相關性、 t- 檢定、變異數相等性檢定、比例檢定、信賴區間…等 線性模式(Linear models) 穩健Huber/White/sandwich變異估計 , 三階最小平方法、類非相關回歸、齊次多項式回歸、GLS 廣義型線性模式(Generalized linear models) 十連結函數、使用者-定義連結、 ML及IRLS估計、九變異數估計、七殘差…等 二元、計數及有限應變量(Binary, count and limited dependent variables) 羅吉斯特、probit、蔔松回歸、tobit、truncated回歸、條件羅吉斯特、多項式邏輯、巢狀邏輯、負二項、 zero-inflated模型、Heckman 選擇模式、邊際影響 Panel數據/交叉 - 組合時間序列(Panel data/cross-sectional time-series) 隨機及固定影響之回歸、GEE、隨機及固定-影響之蔔松及負二項分配、隨機 - 影響、工具變量回歸、AR(1) 幹擾回歸 無母數方法(Nonparametric methods) 多變量方法(Multivariate methods) 因素分析、多變量回歸、 anonical 相關系數 模型檢定及事後估計量支持分析(Model testing and post-estimation support) Wald檢定、LR檢定、線性及非線性組合、非線性限制檢定、邊際影響、修正平均數Hausman檢定 群集分析(Cluster analysis) 加權平均、質量中心及中位數聯結、kmeans、kmedians、dendrograms、停止規則、使用者擴充 圖形(Graphics) 直線圖、散布圖、條狀圖、圓餅圖、 hi-lo 圖、回歸診斷圖… 調查方法(Survey methods) 抽樣權重、叢集抽樣、分層、線性變異數估計量、擬 - 概似最大估計量、回歸、工具變量… 生存分析(Survival analysis) Kaplan–Meier、Nelson–Aalen、Cox回歸(弱性)、參數模式(弱性)、危險比例測試、時間共變項、左-右檢查、韋柏分配、指數分配… 流行病學工具(Tools for epidemiologists) 比例標準化、病例控制、已配適病例控制、Mantel – Haenszel,藥理學、ROC分析、ICD-9-CM 時間序列(Time series) ARIMA、ARCH/GARCH、VAR、Newey–West、correlograms、periodograms、白色 - 噪音測試、最小整數根檢定、時間序列運算、平滑化 最大概似法(Maximum likelihood) 轉換及常態檢定(Transforms and normality tests) Box–Cox、次方轉換Shapiro–Wilk、Shapiro–Francia檢定 其它統計方法(Other statistical methods) 樣本數量及次方、非線性回歸、逐步式回歸 、統計及數學函數 包含樣本範例(Sample session) 再抽樣及模擬方法(Resampling and simulation methods) bootstrapping、jackknife、蒙地卡羅模擬、排列檢定 網絡功能 安裝新指令、網絡升級、網站檔案分享、Stata 最新消息 epiman論壇學習資源豐富,學術氛圍良好,在國內新生代公共衛生學術界有一定影響力。是探討Stata、spss、sas、epidata等統計軟件的主流論壇之一。 PYTHON Python[1] (英國發音:/?pa?θ?n/ 美國發音:/?pa?θɑ?n/), 是一種面向對象的解釋型計算機程序設計語言,由荷蘭人Guido van Rossum於1989年發明,第一個公開發行版發行於1991年。 Python是純粹的自由軟件, 源代碼和解釋器CPython遵循 GPL(GNU General Public License)協議[2] 。Python語法簡潔清晰,特色之一是強制用空白符(white space)作為語句縮進。 Python具有豐富和強大的庫。它常被昵稱為膠水語言,能夠把用其他語言制作的各種模塊(尤其是C/C++)很輕松地聯結在一起。常見的一種應用情形是,使用Python快速生成程序的原型(有時甚至是程序的最終界面),然後對其中[3] 有特別要求的部分,用更合適的語言改寫,比如3D遊戲中的圖形渲染模塊,性能要求特別高,就可以用C/C++重寫,而後封裝為Python可以調用的擴展類庫。需要註意的是在您使用擴展類庫時可能需要考慮平臺問題,某些可能不提供跨平臺的實現。 7月20日,IEEE發布2017年編程語言排行榜:Python高居首位[4] 。 Python的設計哲學是“優雅”、“明確”、“簡單”。因此,Perl語言中“總是有多種方法來做同一件事”的理念在Python開發者中通常是難以忍受的。Python開發者的哲學是“用一種方法,最好是只有一種方法來做一件事”。在設計Python語言時,如果面臨多種選擇,Python開發者一般會拒絕花俏的語法,而選擇明確的沒有或者很少有歧義的語法。由於這種設計觀念的差異,Python源代碼通常被認為比Perl具備更好的可讀性,並且能夠支撐大規模的軟件開發。這些準則被稱為Python格言。在Python解釋器內運行import this可以獲得完整的列表。 Python開發人員盡量避開不成熟或者不重要的優化。一些針對非重要部位的加快運行速度的補丁通常不會被合並到Python內。所以很多人認為Python很慢。不過,根據二八定律,大多數程序對速度要求不高。在某些對運行速度要求很高的情況,Python設計師傾向於使用JIT技術,或者用使用C/C++語言改寫這部分程序。可用的JIT技術是PyPy。 Python是完全面向對象的語言。函數、模塊、數字、字符串都是對象。並且完全支持繼承、重載、派生、多繼承,有益於增強源代碼的復用性。Python支持重載運算符和動態類型。相對於Lisp這種傳統的函數式編程語言,Python對函數式設計只提供了有限的支持。有兩個標準庫(functools, itertools)提供了Haskell和Standard ML中久經考驗的函數式程序設計工具。 雖然Python可能被粗略地分類為“腳本語言”(script language),但實際上一些大規模軟件開發計劃例如Zope、Mnet及BitTorrent,Google也廣泛地使用它。Python的支持者較喜歡稱它為一種高級動態編程語言,原因是“腳本語言”泛指僅作簡單程序設計任務的語言,如shellscript、VBScript等只能處理簡單任務的編程語言,並不能與Python相提並論。 Python本身被設計為可擴充的。並非所有的特性和功能都集成到語言核心。Python提供了豐富的API和工具,以便程序員能夠輕松地使用C語言、C++、Cython來編寫擴充模塊。Python編譯器本身也可以被集成到其它需要腳本語言的程序內。因此,很多人還把Python作為一種“膠水語言”(glue language)使用。使用Python將其他語言編寫的程序進行集成和封裝。在Google內部的很多項目,例如Google Engine使用C++編寫性能要求極高的部分,然後用Python或Java/Go調用相應的模塊。《Python技術手冊》的作者馬特利(Alex Martelli)說:“這很難講,不過,2004 年,Python 已在Google 內部使用,Google 召募許多 Python 高手,但在這之前就已決定使用Python,他們的目的是 Python where we can, C++ where we must,在操控硬件的場合使用 C++,在快速開發時候使用 Python。” 二
作業一 統計軟件簡介與數據操作