spss
SPSS(Statistical Product and Service Solutions),"统计产品与服务解决方案"软件。最初软件全称为"社会科学统计软件包"(SolutionsStatistical Package for the Social Sciences),但是随着SPSS产品服务领域的扩大和服务深度的增加,SPSS公司已于2000年正式将英文全称更改为"统计产品与服务解决方案",标志着SPSS的战略方向正在做出重大调整。为IBM公司推出的一系列用于统计学分析运算、数据挖掘、预测分析和决策支持任务的软件产品及相关服务的总称SPSS。SPSS是世界上最早的统计分析软件,由美国斯坦福大学的三位研究生Norman H. Nie、C. Hadlai (Tex) Hull 和 Dale H. Bent于1968年研究开发成功,同时成立了SPSS公司,并于1975年成立法人组织、在芝加哥组建了SPSS总部。2009年7月28日,IBM公司宣布将用12亿美元现金收购统计分析软件提供商SPSS公司。如今SPSS已出至版本22.0,而且更名为IBM SPSS。迄今,SPSS公司已有40余年的成长历史。
SPSS是世界上最早采用图形菜单驱动界面的统计软件,它最突出的特点就是操作界面极为友好,输出结果美观漂亮。它将几乎所有的功能都以统一、规范的界面展现出来,使用Windows的窗口方式展示各种管理和分析数据方法的功能,对话框展示出各种功能选择项。用户只要掌握一定的Windows操作技能,精通统计分析原理,就可以使用该软件为特定的科研工作服务。SPSS采用类似EXCEL表格的方式输入与管理数据,数据接口较为通用,能方便的从其他数据库中读入数据。其统计过程包括了常用的、较为成熟的统计过程,完全可以满足非统计专业人士的工作需要。输出结果十分美观,存储时则是专用的SPO格式,可以转存为HTML格式和文本格式。对于熟悉老版本编程运行方式的用户,SPSS还特别设计了语法生成窗口,用户只需在菜单中选好各个选项,然后按"粘贴"按钮就可以自动生成标准的SPSS程序。极大的方便了中、高级用户。SPSS输出结果虽然漂亮,但是很难与一般办公软件如Office或是WPS2000直接兼容,如不能用Excel等常用表格处理软件直接打开,只能采用拷贝、粘贴的方式加以交互。在撰写调查报告时往往要用电子表格软件及专业制图软件来重新绘制相关图表,这已经遭到诸多统计学人士的批评;而且SPSS作为三大综合性统计软件之一,其统计分析功能与另外两个软件即SAS和BMDP相比仍有一定欠缺。spss的应用领域非常宽泛,例如:宏观经济管理的诸多领域(从宏观经济政策、金融政策,到产业结构分析、就业分析等)‘企业经营管理的诸多领域(如市场研究、销售研究、客户行为特征研究、人力资源管理、财务分析等),行业管理与特征分析(如金融产品分析、资本市场分析、货币市场分析、制造业分析、信息服务业分析、农业与农民收人分析等),社会学、民族学、人类学等诸多社会科学领域,以及医学、农学、工学、军事学领域,乃至理学领域,都离不开统计分析的工具,sPSS都有广阔的用武之地。spssforWindowsV11.O是模块化的统计分析软件,由基本模块、分类模块、趋势模块、回归分析模块、高级模块等十余个模块组成。
spss包含数据的合并、拆分、数据计算、数据的重新编码、频率分析、描述性统计分析、探索性分析、单因素方差分析、多因素方差分析、协方差分析、线性回归分析、曲线估计等等,以下为spss的简单处理:
数据的预处理
spss四个尺度:1.名义尺度(Norminal)–即定类尺度,它仅仅是一种标志,用于区分变量的不同值,类别数据之间没有次序关系。例如,人口的性别、商品的名称、身份证、商店类型等。2.定序尺度(Ordinal)–是对事物之间等级或顺序差别的一种测度。例如,考试成绩(优、良、中、差)、人的身高等级(高、中、矮)、学历等级(博士、硕士、学士)等。3.定距尺度(Interval),是对事物类别或次序之间间距的测度。例如,100分制考试的成绩、重量、温度等。 4.定比尺度(Ratio),是指能够测度值之间比值的一种计量尺度。例如,员工的月收入、企业产值等。
数据的合并
横向合并:数据——合并文件——添加变量单击“浏览”按钮选择要合并的SPSS数据文件的文件名从左边文本框中选择需合并的变量到此框中纵向合并:数据——合并文件——添加个案 纵向合并数据文件的操作方法同横向合并的方法类似,操作不再赘述,但需注意以下几点:两个待合并的SPSS数据文件的内容合并起来应具有实际意义; 两个数据文件的结构最好一致; 不同数据文件中含义相同的变量最好用相同的变量名,数据类型要相同。
数据加工
据计算:转换——计算变量输入目标变量,选择计算的变量,运用符号和函数计算变量。
基本统计分析
频数分析:选择菜单“分析→描述统计→频率”1.变量选择:图的左边即为待分析的变量列表,变量选项栏用于选择要产生频数表的变量,可以同时选择多个变量。系统会分别处理。2.显示频率表格选项栏:用于显示频数表。经过频率分析可以得到如下结果:(1)频率分布表:该表中包含频率、各频率占总样本数的百分比、有效百分比、累计百分比。(2)统计图:用统计图形展示变量的取值状况,频率分析中提供的统计图形可以是条形图、饼图或者直方图。
描述性分析:主要用于输出变量的各类描述性统计量的值。选择菜单“分析→ 描述统计 →描述” ,打开“描述性”主对话框,将要分析的变量加入“变量”列表框中。并勾选“将标准化得分另存为变量”。 打开“描述:选项”对话框,选中“均值”、“标准差”、“最小值”、“最大值”、“峰度”、“偏度”及显示顺序的“变量列表”等选项。
探索性分析:与前面介绍的两种分析方法相比,探索性分析更加强大,它是一种在对资料的性质、分布特点等完全不清楚的情况下,对变量进行更深入研究的描述性统计方法。选择菜单“分析→ 描述统计 → 探索”,打开“探索” 对话框,,将“成绩”字段移入“因变量列表”,“科目”移入“因子列表”。打开“统计量”对话框,选中“描述性”;打开“探索:图”对话框,选中“按因子水平分组”、“茎叶图”、“带检验的正态图”等选项。 打开“探索:选项”,选中“按列表排除个案”选项。
暂时所学到的为以上图所示,spss应用远不止这些还有参数假设检验、非参数假设检验、方差分析、普通相关分析、线性回归分析、主成分分析与因子分析、聚类分析与判别分析等等,随着自身产品线的不断完善,SPSS公司的产品体系已经日益完整,而不同产品间的互补和兼容性也在不断加以改进。在13版中,SPSS软件已经可以和其他一些最新的产品很好的整合在一起,形成更为完整的解决方案。例如,SPSS、SPSS Data Entry和新发布的SPSS Text Analysis for Surveys一起就形成了对调查研究的完整解决方案。而新增的SPSS Classification Trees模块将使得SPSS软件本身就能够针对市场细分工作提供更为完整的方法体系。
spss有许多特点:1、 操作简单:除了数据录入及部分命令程序等少数输入工作需要键盘键入外,大多数操作可通过“菜单”、“按钮”和“对话框”来完成。 2、 无须编程:具有第四代语言的特点,告诉系统要做什么,无需告诉怎样做。只要了解统计分析的原理,无需通晓统计方法的各种算法,即可得到需要的统计分析结果。对于常见的统计方法,SPSS的命令语句、子命令及选择项的选择绝大部分由“对话框”的操作完成。因此,用户无需花大量时间记忆大量的命令、过程、选择项。 3、 功能强大:具有完整的数据输入、编辑、统计分析、报表、图形制作等功能。自带11种类型136个函数。SPSS提供了从简单的统计描述到复杂的多因素统计分析方法,比如数据的探索性分析、统计描述、列联表分析、二维相关、秩相关、偏相关、方差分析、非参数检验、多元回归、生存分析、协方差分析、判别分析、因子分析、聚类分析、非线性回归、Logistic回归等。 4、 方便的数据接口: 能够读取及输出多种格式的文件。比如由dBASE、FoxBASE、FoxPRO产生的*.dbf文件,文本编辑器软件生成的ASCⅡ数据文件,Excel的*.xls文件等均可转换成可供分析的SPSS数据文件。能够把SPSS的图形转换为7种图形文件。结果可保存为*.txt及html格式的文件。 5、 灵活的功能模块组合:SPSS for Windows软件分为若干功能模块。用户可以根据自己的分析需要和计算机的实际配置情况灵活选择。SPSS针对初学者、熟练者及精通者都比较适用。并且很多群体只需要掌握简单的操作分析,大多青睐于SPSS,像薛薇的《基于SPSS的数据分析》一书也较适用于初学者。而那些熟练或精通者也较喜欢SPSS,因为他们可以通过编程来实现更强大的功能。
R语言
R是统计领域广泛使用的诞生于1980年左右的S语言的一个分支。可以认为R是S语言的一种实现。而S语言是由AT&T贝尔实验室开发的一种用来进行数据探索、统计分析和作图的解释性语言。最初S语言的实现版本主要是S-PLUS。S-PLUS是一个商业软件,它基于S语言,并由MathSoft公司的统计科学部进一步完善。后来Auckland大学的Robert Gentleman和Ross Ihaka及其他志愿人员开发了一个R系统。由"R开发核心团队"负责开发。 R是基于S语言的一个GNU项目,所以也可以当作S语言的一种实现,通常用S语言编写的代码都可以不作修改的在R环境下运行。 R的语法是来自Scheme。R的使用与S-PLUS有很多类似之处,这两种语言有一定的兼容性。S-PLUS的使用手册,只要稍加修改就可作为R的使用手册。所以有人说:R,是S-PLUS的一个"克隆"。
R是一套完整的数据处理、计算和制图软件系统。其功能包括:数据存储和处理系统;数组运算工具(其向量、矩阵运算方面功能尤其强大);完整连贯的统计分析工具;优秀的统计制图功能;简便而强大的编程语言:可操纵数据的输入和输出,可实现分支、循环,用户可自定义功能。与其说R是一种统计软件,还不如说R是一种数学计算的环境,因为R并不是仅仅提供若干统计程序、使用者只需指定数据库和若干参数便可进行一个统计分析。R的思想是:它可以提供一些集成的统计工具,但更大量的是它提供各种数学计算、统计计算的函数,从而使使用者能灵活机动的进行数据分析,甚至创造出符合需要的新的统计计算方法。该语言的语法表面上类似 C,但在语义上是函数设计语言(functional programming language)的变种并且和Lisp以及APL有很强的兼容性。特别的是,它允许在"语言上计算"(computing on the language)。这使得它可以把表达式作为函数的输入参数,而这种做法对统计模拟和绘图非常有用。R是一个免费的自由软件,它有UNIX、LINUX、MacOS和WINDOWS版本,都是可以免费下载和使用的。在那儿可以下载到R的安装程序、各种外挂程序和文档。在R的安装程序中只包含了8个基础模块,其他外在模块可以通过CRAN获得。R的原代码可自由下载使用,亦有已编译的执行档版本可以下载,可在多种平台下运行,包括UNIX(也包括FreeBSD和Linux)、Windows和MacOS。 R主要是以命令行操作,同时有人开发了几种图形用户界面。R内含多种统计学及数字分析功能。因为S的血缘,R比其他统计学或数学专用的编程语言有更强的物件导向(面向对象程序设计)功能。R的另一强项是绘图功能,制图具有印刷的素质,也可加入数学符号。虽然R主要用于统计分析或者开发统计相关的软体,但也有人用作矩阵计算。其分析速度可媲美GNU Octave甚至商业软件MATLAB。R的功能能够通过由用户撰写的套件增强。增加的功能有特殊的统计技术、绘图功能,以及编程界面和数据输出/输入功能。这些软件包是由R语言、LaTeX、Java及最常用C语言和Fortran撰写。下载的执行档版本会连同一批核心功能的软件包,而根据CRAN纪录有过千种不同的软件包。其中有几款较为常用,例如用于经济计量、财经分析、人文科学研究以及人工智能。
基本介绍:在R中,所有对象的数据都有两个属性:mode 和 length 即类型【包含数值型(numeric)、字符型(character)、复数性(complex)、逻辑型(logical)】和长度【包含元素个数】,可分别用函数“mode()”、“length()”得到。同时可以用“x <- numric(2)”定义x为一个长度为2的数值型数据,其他数据类型也同样,“logical(2)”表示长度为2的逻辑型数据。长度为2表示其x包含了两个数据值,用线代语言说就是x是一个2维行向量。在线性代数里有向量、矩阵和行列式等数据形式,R语言也有不同的数据形式以应对各种数据处理。包括:向量、数组、矩阵、列表、数据框和时间序列。向量是由一组同样类型(mode)的数据构成。数值向量、字符向量和逻辑向量。在统计学中数据有分类数据、顺序数据、数值数据之分,有时候看似数字但实际表示一个组别,比如在SPSS中输入数据定义0为男,1为女。由此在R中又有一种因子向量,表示类别。
R是一套由数据操作、计算和图形展示功能整合而成的套件。包括:有效的数据存储和处理功能,一套完整的数组(特别是矩阵)计算操作符,拥有完整体系的数据分析工具,为数据分析和显示提供的强大图形功能,一套(源自S语言)完善、简单、有效的编程语言(包括条件、循环、自定义函数、输入输出功能)。在这里使用"环境"(environment)是为了说明R的定位是一个完善、统一的系统,而非其他数据分析软件那样作为一个专门、不灵活的附属工具。
STATA
Stata 是一套提供其使用者数据分析、数据管理以及绘制专业图表的完整及整合性统计软件。它提供许许多多功能,包含线性混合模型、均衡重复反复及多项式普罗比模式。用Stata绘制的统计图形相当精美。新版本的STATA采用最具亲和力的窗口接口,使用者自行建立程序时,软件能提供具有直接命令式的语法。Stata提供完整的使用手册,包含统计样本建立、解释、模型与语法、文献等超过一万余页的出版品。除此之外,Stata软件可以透过网络实时更新每天的最新功能,更可以得知世界各地的使用者对于STATA公司提出的问题与解决之道。使用者也可以透过Stat软件logoa Journal获得许许多多的相关讯息以及书籍介绍等。另外一个获取庞大资源的管道就是Statalist,它是一个独立的listserver,每月交替提供使用者超过1000个讯息以及50个程序。
Stata的统计功能很强,除了传统的统计分析方法外,还收集了近20年发展起来的新方法,如Cox比例风险回归,指数与Weibull回归,多类结果与有序结果的logistic回归,Poisson回归,负二项回归及广义负二项回归,随机效应模型等。具体说, Stata具有如下统计分析能力:数值变量资料的一般分析:参数估计,t检验,单因素和多因素的方差分析,协方差分析,交互效应模型,平衡和非平衡设计,嵌套设计,随机效应,多个均数的两两比较,缺项数据的处理,方差齐性检验,正态性检验,变量变换等。分类资料的一般分析:参数估计,列联表分析 ( 列联系数,确切概率 ) ,流行病学表格分析等。等级资料的一般分析:秩变换,秩和检验,秩相关等相关与回归分析:简单相关,偏相关,典型相关,以及多达数十种的回归分析方法,如多元线性回归,逐步回归,加权回归,稳键回归,二阶段回归,百分位数 ( 中位数 ) 回归,残差分析、强影响点分析,曲线拟合,随机效应的线性回归模型等。其他方法:质量控制,整群抽样的设计效率,诊断试验评价, kappa等。
Stata数据管理包括:
基本统计(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(英语发音:/?pa?θ?n/), 是一种面向对象、解释型计算机程序设计语言,由Guido van Rossum于1989年底发明,第一个公开发行版发行于1991年,Python 源代码同样遵循 GPL(GNU General Public License)协议。Python语法简洁而清晰,具有丰富和强大的类库。它常被昵称为胶水语言,能够把用其他语言制作的各种模块(尤其是C/C++)很轻松地联结在一起。常见的一种应用情形是,使用Python快速生成程序的原型(有时甚至是程序的最终界面),然后对其中有特别要求的部分,用更合适的语言改写,比如3D游戏中的图形渲染模块,性能要求特别高,就可以用C/C++重写,而后封装为Python可以调用的扩展类库。需要注意的是在您使用扩展类库时可能需要考虑平台问题,某些可能不提供跨平台的实现。
Python(KK 英语发音:/‘pa?θɑn/, DJ 英语发音:/?paiθ?n/)是一种面向对象、直译式计算机程序设计语言,由Guido van Rossum于1989年底发明。第一个公开发行版发行于1991年。Python语法简捷而清晰,具有丰富和强大的类库。它常被昵称为胶水语言,它能够很轻松的把用其他语言制作的各种模块(尤其是C/C++)轻松地联结在一起。常见的一种应用情形是,使用python快速生成程序的原型(有时甚至是程序的最终界面),然后对其中有特别要求的部分,用更合适的语言改写。比如3D游戏中的图形渲染模块,速度要求非常高,就可以用C++重写。
主要特点:简单:Python是一种代表简单主义思想的语言。阅读一个良好的Python程序就感觉像是在读英语一样。它使你能够专注于解决问题而不是去搞明白语言本身。
易学:Python极其容易上手,因为Python有极其简单的语法。
免费、开源:Python是FLOSS(自由/开放源码软件)之一。使用者可以自由地发布这个软件的拷贝、阅读它的源代码、对它做改动、把它的一部分用于新的自由软件中。FLOSS是基于一个团体分享知识的概念。
高层语言:用Python语言编写程序的时候无需考虑诸如如何管理你的程序使用的内存一类的底层细节。
可移植性:由于它的开源本质,Python已经被移植在许多平台上(经过改动使它能够工作在不同平台上)。这些平台包括Linux、Windows、FreeBSD、Macintosh、Solaris、OS/2、Amiga、AROS、AS/400、BeOS、OS/390、z/OS、Palm OS、QNX、VMS、Psion、Acom RISC OS、VxWorks、PlayStation、Sharp Zaurus、Windows CE、PocketPC、Symbian以及Google基于linux开发的android平台。
解释性:一个用编译性语言比如C或C++写的程序可以从源文件(即C或C++语言)转换到一个你的计算机使用的语言(二进制代码,即0和1)。这个过程通过编译器和不同的标记、选项完成。
运行程序的时候,连接/转载器软件把你的程序从硬盘复制到内存中并且运行。而Python语言写的程序不需要编译成二进制代码。你可以直接从源代码运行 程序。
在计算机内部,Python解释器把源代码转换成称为字节码的中间形式,然后再把它翻译成计算机使用的机器语言并运行。这使得使用Python更加简单。也使得Python程序更加易于移植。
面向对象:Python既支持面向过程的编程也支持面向对象的编程。在“面向过程”的语言中,程序是由过程或仅仅是可重用代码的函数构建起来的。在“面向对象”的语言中,程序是由数据和功能组合而成的对象构建起来的。
可扩展性:如果需要一段关键代码运行得更快或者希望某些算法不公开,可以部分程序用C或C++编写,然后在Python程序中使用它们。
可嵌入性:可以把Python嵌入C/C++程序,从而向程序用户提供脚本功能。
丰富的库:Python标准库确实很庞大。它可以帮助处理各种工作,包括正则表达式、文档生成、单元测试、线程、数据库、网页浏览器、CGI、FTP、电子邮件、XML、XML-RPC、HTML、WAV文件、密码系统、GUI(图形用户界面)、Tk和其他与系统有关的操作。这被称作Python的“功能齐全”理念。除了标准库以外,还有许多其他高质量的库,如wxPython、Twisted和Python图像库等等。
规范的代码:Python采用强制缩进的方式使得代码具有较好可读性。而Python语言写的程序不需要编译成二进制代码。
Python示例图:
基本操作步骤:1、首先你要使用书籍、课程、视频来学习 Python 的基础知识
2、然后你必需掌握不同的模块,比如 Pandas、Numpy、Matplotlib、NLP (自然语言处理),来处理、清理、绘图和理解数据。
3、接着你必需能够从网页抓取数据,无论是通过网站API,还是网页抓取模块Beautiful Soap。通过网页抓取可以收集数据,应用于机器学习算法。
4、最后一步,你必需学习机器学习工具,比如 Scikit-Learn,或者在抓取的数据中执行机器学习算法(ML-algorithm)。