使用SPSS进行常规多元线性回归分析及虚拟变量处理指南
回归一直是个很重要的主题。因为在数据分析的领域里边,模型重要的也是主要的作用包括两个方面,一是发现,一是预测。而很多时候我们就要通过回归来进行预测。关于回归的知识点也许不一定比参数检验,非参数检验多,但是复杂度却绝对在其上。回归主要包括线性回归,非线性回归以及分类回归。本文主要讨论多元线性回归(包括一般多元回归,含有虚拟变量的多元回归,以及一点广义差分的知识)。请大家不要觉得本人偷奸耍滑,居然只有一个主题,两个半知识点。相信我,内容会很充实的。
对于线性回归的定义主要是这样的:线性回归,是基于最小二乘法原理产生古典统计假设下的最优线性无偏估计。是研究一个或多个自变量与一个因变量之间是否存在某种线性关系的统计学方法。
这个什么叫线性回归,什么叫最小二乘法,在在高中数学课本里边就有涉及。我就不重复了嘿嘿。本质上讲一元线性回归是多元线性回归的一个特例,因此我们就直接讨论多元线性回归了哈。
为了便于叙述,我们先举个例子,假设我们想研究年龄,体重,身高,和血压的线性回归关系。
打开菜单分析——回归——线性,打开主对话框。很容易可以知道在本例中因变量选择血压,自变量选择年龄,身高,体重。然后注意,在因变量那个框框下边还有一个写着方法的下拉的单选菜单。这个方法指的是建立多元线性方程的方法,也就是自变量进入分析的方法。一共包括五种,进入,逐步,删除,向后,向前。进入是最简单的一种,就是强迫指定选中的自变量都进入方程。其余四个方法比较复杂,系统会依照不同的规则自动的帮助你剔除不合格的自变量,以此保证方程的可靠性。
下边的选择变量框框是用来指定分析个案的选择规则,这个一般大家是所有的个案都利用,所以不用管它。再下边的个案标签变量,是用来在图形中标注值得,也不是重点。最下边的WLS权重,是在加权最小二乘法里边使用的,这里不管它。
介绍完主面板以后我们来看统计量选项卡。这张选项卡比较小,一般勾选的主要有估计,模型拟合度,共线性诊断,DW检验统计量。其中前两个是常规选项,后两个是用来判断共线性的。(由于方程中有两个以上的自变量,如果这些自变量之间存在相关关系,就可能导致模型的失败。可能会出现本应该与因变量正相关的变量结果为负相关啊之类的问题。这时候就要看是不是存在多重共线性。)
继续,单击绘制。勾选直方图,正太概率图。
继续,单击保存。勾选预测值的未标准化,残差的未标准化,预测区间的均值,单值,最下边的包含协方差矩阵。
继续。单击选项。勾选使用F的概率,在等式中包含常量。
继续,确定。
结果的解释也说不上复杂。首先看模型汇总表的R方,这个值介于0和1之间,表示你的方程能解释你的模型的百分之多少,所以越接近1越好啦。然后要看方差分析表。第一行的回归对应的最后边的p值会告诉你这个方程是不是可信(注意,这个是整个方程的基础,这个p值不合格的话下边的数据都是无效的)。小于0.05认为就是可信的哈。
然后再看下边的系数表,这个表里的p值会告诉你每个自变量在这个方程里是否可信。小于0.05认为可信哈。在最前边的B下边那一列会告诉你每个自变量在方程里的系数(非标准化系数的意思是用你原来的数据算出来的系数,标准系数的意思是你的数据标准化以后算出的系数。你写方程时肯定看非标准化的哈)。图片的话你的P-P图上的每个空心圆都要尽量穿在那个线上边,圆心越靠近那个线越好。
到这里一般多元线性回归的基本知识就结束了。操作不是很难,但是遗憾的是,在实际生活中,关于多元线性回归,还有许多问题。最常见的问题是这样的。你为了保险,选了十几个变量在模型里边。这样的话,可能你的方程确实解释了很大一部分模型,但是这除了使方程过分复杂以外,还会引发严重的多重共线性。所以不要选很多的变量在你的方程里边。或者你在模型里选了五六个变量,其中一部分p值小于0.05,另一部分大于。而且最要命的是你觉得你的自变量好像都明显和你的因变量相关。这个问题在于,有可能你的一部分自变量和你的因变量的相关性非常强,太强了,所以你的其他变量看上去就没有那么相关了。这时候你需要试试改变你的进入方法,改成逐步或者其他什么的。也许可以解决问题。
但是不是所有的问题都可以用调整变量,或者改变变量进入方法可以解决的。有一些问题在于你的自变量的类型。有许多变量都是分类型的,比如你的性别,你是否抽烟,你的健康级别(不健康,一般,健康,非常健康)之类的。通常来讲,录入数据时会使用数字来表示特定含义。比如1是男,2是女,比如1,2,3,4来代表健康级别等等。一般情况下作分析是没有问题的,但是在回归里边也许不那么适合。
尤其是对于无序资料来说。
举个例子。季节。我们用1,2,3,4来表示四季。假设我们把这个变量当做一般变量写到方程里边,那么我们就有这么个方程Y=X+X1*a,其中X1是四季变量。那么春季就是X+a,夏季就是X+2a,秋季就是X+3a,冬季就是X+4a,考虑一下,四季之间本来是没有等级关系的,但是这个方程里边显示的冬季远远会比夏季的值大,那么真实情况是这样吗?很可能不是。因此就会造成方程的偏差。为了解决这个问题。我们引入虚拟变量的概念。
虚拟变量的设置方法是这样的,如果我们有d个水平,那么我们就设置d-1个虚拟变量,选出一个变量来做参照,虚拟变量全为0时为这个参照变量。虚拟变量有一个为1时代表某一个水平。还拿季节举例子,我们有四个季节,那么我们就设置三个虚拟变量,我们使000代表春季,100代表夏,010代表秋,001代表东。那么春季就是参照变量。(实际上设置四个虚拟变量也是可以的,但是结果一摸一样)
所以现在我们的一个代表四季的变量就变成了三个虚拟变量。我们的方程就变成了Y=X+X1*a+X2*b+X3*c。那么X就是春季的值X+X1就是夏季的值X+X2就是秋季的值X+X3就是冬季的值,是不是更准确了?
在张文彤老师的spss高级教程里边讲解到了虚拟变量的用法。但是由于是高级教程,因此并没有提到如何设置虚拟变量。网上很多博客里边也没有提到这个问题。但是为了完整性,我还是想写一下吧(毕竟这个系列的文章没有数据转换这个内容)。在线性回归里边,你需要自己设定虚拟变量。打开转换——重新编码为不同变量,把季节变量(或者行业,地区,或者别的什么)选到输入变量——输出变量里边,名称里输入你的新名称,标签要点一下,点一下更改。单击下边的旧值和新值,旧值里边输入1,新值输入1,点添加。然后旧值输入2,新值输入0,点添加,以此类推。设置好一个虚拟变量以后,设置第二个的时候,记得先把第一个从右边的窗口传回左边的窗口。有点麻烦,但是在所难免嘛。
然后注意做回归的时候,在主面板里边自变量的第一张仅选择你的虚拟变量,方法选进入。你要确保你的虚拟变量都要一块进到方程里嘛。然后点下一张,选择其他的数值变量,方法可以选逐步啊什么的。看结果的时候前边已经讲过了,虚拟变量改变的就是截距嘛。其他的结果都和一般的多元线性回归结果一样的。要注意的是就算有的虚拟变量p值合格,有的不合格,你选择变量的时候也必须把一个变量设置出的所有的虚拟变量选到一块,要么都要,要么都不要。
虚拟变量主要就是这样了。但是除了变量类型导致的问题以外,还有一个很严重的问题就是多重共线性。虽然我们讲,我们要少选几个变量,我们要降维,我们要想办法消减多重共线性。但是不可避免的,我们总是会碰到变量具有多重共线性的情况。
判断多重共线性,主要是通过共线性诊断里的VIF值和DW检验。VIF介于1到5时,就认为没有多重共线性。大于10时,认为存在严重多重共线性。在这里我们不讨论VIF大于10的情况(不然我下篇文章讨论什么?),我们要讨论的是另一种非常特殊的情况,VIF值合格,但是DW检验没有通过。这时候怎么办?
当然你可以假装没有看见DW检验,你继续做分析的话。很可能别人也看不出来,但是如果你的老师就是想考考你的广义差分法呢?
所以我们还是讨论一下广义差分法的操作办法。
首先你要保存你的变量的残差,在时间序列里边做滞后一期的残差(就在主面板里),然后把残差和滞后一期的残差做回归,记下它的斜率,在做滞后一期的自变量,因变量。建立新变量=原变量-斜率*滞后一期的变量(所有的自变量,因变量都要算新变量),然后再做回归。
这上边就是一次完整的广义差分法操作过程。检查DW,如果不合格,还需要在做一次广义差分。一般至多做两三次就可以了。过程有点复杂,其实用eviews做广义差分会简单许多。
多元线性回归的内容已经结束了。祝大家学习愉快!感觉本文对你有用的话给留个言行吗?先谢谢啊。
上一篇: 实战教程:用R语言分析银行财务数据的方法
推荐阅读
-
使用SPSS进行常规多元线性回归分析及虚拟变量处理指南
-
包婷婷 (201550484)作业一 统计软件简介与数据操作-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的自动统计绘图、数据的深入分析、使用方便、功能齐全等方面给予了高度的评价。 R统计软件介绍 R是一套完整的数据处理、计算和制图软件系统。其功能包括:数据存储和处理系统;数组运算工具(其向量、矩阵运算方面功能尤其强大);完整连贯的统计分析工具;优秀的统计制图功能;简便而强大的编程语言:可操纵数据的输入和输出,可实现分支、循环,用户可自定义功能。 与其说R是一种统计软件,还不如说R是一种数学计算的环境,因为R并不是仅仅提供若干统计程序、使用者只需指定数据库和若干参数便可进行一个统计分析。R的思想是:它可以提供一些集成的统计工具,但更大量的是它提供各种数学计算、统计计算的函数,从而使使用者能灵活机动的进行数据分析,甚至创造出符合需要的新的统计计算方法。 该语言的语法表面上类似 C,但在语义上是函数设计语言(functional programming language)的变种并且和Lisp 以及 APL有很强的兼容性。特别的是,它允许在"语言上计算"(computing on the language)。这使得它可以把表达式作为函数的输入参数,而这种做法对统计模拟和绘图非常有用。 R是一个免费的*软件,它有UNIX、LINUX、MacOS和WINDOWS版本,都是可以免费下载和使用的。在R主页那儿可以下载到R的安装程序、各种外挂程序和文档。在R的安装程序中只包含了8个基础模块,其他外在模块可以通过CRAN获得。 二、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采用最具亲和力的窗口接口,使用者自行建立程序时,软件能提供具有直接命令式的语法。Stata提供完整的使用手册,包含统计样本建立、解释、模型与语法、文献等超过一万余页的出版品。 除此之外,Stata软件可以透过网络实时更新每天的最新功能,更可以得知世界各地的使用者对于STATA公司提出的问题与解决之道。使用者也可以透过Stata. Journal获得许许多多的相关讯息以及书籍介绍等。另外一个获取庞大资源的管道就是Statalist,它是一个独立的listserver,每月交替提供使用者超过1000个讯息以及50个程序。 四、PYTHON