全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SPSS论坛
38535 24
2009-04-18


在做logistic回归时,自变量中有无序变量(性别)和连续型变量(如血压、身高、体重等)。自变量一共15个,样本量99个。

出现的问题是:

如何解决自变量中多重共线性的问题,尤其是性别与其它连续型自变量是否相关怎么判断。看了《张文彤高级篇教程》里面只提到做线性回归时的解决办法,对于logistic回归应该怎么做呢?

Method选的是Enter。其它选项Forward(Conditional or LR or Wald) or Backward(Conditional or LR or Wald)知道是什么意思,但是具体怎么应用,还不是特别清楚,哪位达人解答下,谢谢~~

另外,Nagelkerke R Square 1.000 及Cox & Snell R Square 0.670,觉得显著性貌似还可以。但在迭代时,出现“estimation terminated at iteration number 25 because a perfect fit is detected. This solution is not unqiue”什么意思?怎么解决?

二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

全部回复
2009-4-18 17:01:00

顶贴同问!

我现在也正在做logistic回归,遇到了和lz一样的问题。我运行时出现warning:The parameter covariance matrix cannot bu computed. Remaining statistcs will be omitted.
这是为什么呢?

并且我的检验值出现如下异常情况,问题出在哪?

    Model Summary
step   -2Log likelihood   Cox& Snell R Square   Nagelkerke R Square
1       .000a                 .738                 1.000

a Estimation terminated at iteration number 22 because a perfect fit is detected. This solution is not unique.

因为急着要,所以希望各位路过的,知道的不吝赐教,谢谢!

二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2009-4-18 17:08:00

另外,同时回复楼主关于分析多重共线性的问题,我也是花了一下午时间在各大网上搜索而来的,这个论坛很久以前的帖子也有提到

     1、在决定回归分析的模式后,我们应进一步检视自变项间是否有多元共线性(multicollinearity)的问题,也就是自变项间是否有高度相关的问题。如果自变项间高度相关的话,会影响到对回归系数之假设测定。我们可以用因素分析来检查自变项间是否有多元共线性,或者是逐一将某一自变项(当成为应变项)和所有其它自变项做多元回归分析。

在以SPSS做回归分析时,我们也可在其Statistic之选项中选择partial correlation与collinearity之统计。SPSS所提供之collinearity的统计包括Tolerance、VIF(variance inflation factor)和Condition Index等。这些统计是有关连性的。如Tolerance与VIF就是互为倒数,如果是Tolerance越小,就表示该自变项与其它自变项间之共线性越高或几乎是其它自变项的线性组合。Normally (as suggested by Gujarati), once if VIF >10 the model can be considered with multicollinearity

2 也可进行主成分分析,看你所选各变量之间的相关性和所含信息的重叠性!

 

补充:多重共线性的处理的方法
(一)删除不重要的自变量
自变量之间存在共线性,说明自变量所提供的信息是重叠的,可以删除不重要的自变量减少重复信息。但从模型中删去自变量时应该注意:从实际经济分析确定为相对不重要并从偏相关系数检验证实为共线性原因的那些变量中删除。如果删除不当,会产生模型设定误差,造成参数估计严重有偏的后果。
(二)追加样本信息
多重共线性问题的实质是样本信息的不充分而导致模型参数的不能精确估计,因此追加样本信息是解决该问题的一条有效途径。但是,由于资料收集及调查的困难,要追加样本信息在实践中有时并不容易。
(三)利用非样本先验信息
非样本先验信息主要来自经济理论分析和经验认识。充分利用这些先验的信息,往往有助于解决多重共线性问题。
(四)改变解释变量的形式
改变解释变量的形式是解决多重共线性的一种简易方法,例如对于横截面数据采用相对数变量,对于时间序列数据采用增量型变量。
(五)逐步回归法
逐步回归(Stepwise Regression)是一种常用的消除多重共线性、选取“最优”回归方程的方法。其做法是将逐个引入自变量,引入的条件是该自变量经F检验是显著的,每引入一个自变量后,对已选入的变量进行逐个检验,如果原来引入的变量由于后面变量的引入而变得不再显著,那么就将其剔除。引入一个变量或从回归方程中剔除一个变量,为逐步回归的一步,每一步都要进行F 检验,以确保每次引入新变量之前回归方程中只包含显著的变量。这个过程反复进行,直到既没有不显著的自变量选入回归方程,也没有显著自变量从回归方程中剔除为止。

二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2009-11-5 10:57:43
回答的好详细啊,谢谢了。我也受益了
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2009-11-5 15:10:32
学习学习啊
好资料
谢谢啦
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2009-11-19 14:24:52
【转】http://zjz06.spaces.live.com/Blog/cns!3F49BBFB6C5A1D86!579.entry
写的相当详细,希望对lz有帮助
moyi @ 2008-04-17:

庄主:请问一下,如果自变量间存在不完全共线性能用多元回归建模吗?我是做预测的,实际上自变量间完全无关的情况很少吧?我看见很多文章都是不考虑自变量间的关系直接用多元回归的,这样可以吗?

庄主 @ 2008-04-19:

这里涉及的两个基本问题:一是多元回归中自变量之间的共线性问题;二是数据导向的预测性研究与理论导向的解释性研究之异同。你的真正兴趣是在后者、但大多数读者可能对前者更有兴趣,所以我分别讨论之。

共线性 (multicollinearity) 指多元回归模型中各自变量之中至少有两个完全或高度相关。自变量之间完全相关的情况很少见,一般是因为一个自变量是另一个自变量的线性转换值。而且,SPSS或任何其它统计程序无法执行带有完全相关的自变量的回归分析,会自动将其中一个剔除掉,所以自变量完全线性相关不是一个现实问题。相比之下,各自变量高度相关的情况更为常见,尤其是总体层面的数据中。如,国际传播学者常用的世界银行或联合国教科文组织发布的国家层面数据,各变量(如GDP与其它经济、社会和文化指标)之间往往有很高的相关。

自变量之间的高度相关,不会影响它们的回归系数之大小、但会扩大回归系数相对应的标准误差 (standard errors)。大家知道,回归系数除以标准误差的比值,就是检验该回归系数是否显著的t值。如果标准误差被人为扩大了、其t值也就被人为缩小了,从而导致回归系数达不到统计显著,无法拒绝一个错误的零假设(也就是Type II error)。另外,自变量之间的极高度相关,有时会导致有关回归系数的正负方向与其实情况相反,可以想像这种情况有多么烦人。

moyi说的对,除了控制实验的数据之外,自变量之间完全无关的情况很少见。那么,自变量之间的相关达到什么程度,会出现以上各种问题呢?统计学家中对此没有完全统一的意见。保守的学者认为相关系数不能超过0.7;自由派的则认为可以放宽到0.9(见以下讨论)。但是,大家也许知道,相关系数不是一个独立的参数,而是需要与样本大小、各自变量与共同因变量之间的相关程度等因素放在一起考虑。样本越小、或自变量与因变量之间相关越低,自变量之间的相关程度就越不能过高。反之亦然。

如果你希望知道自己数据中自变量之间的共线性程度,SPSS(以及其它统计软件)的回归分析程序会替你计算并显示与每个自变量相对应的两个参数:Tolerance和VIF (variance inflation factor)。Tolerance = 1 - R2, 其中R2是以该自变量(如X1)为因变量、以其它所有自变量(如X2-X10)为自变量的回归方程的R2值,即反映X1与X2-X10的相关(或共线性)程度。显然,R2越大,Tolerance也就越小。一般认为,Tolerance不应小于0.2,也就是说R2不应大于0.8、其根号R(X1与X2-X10)的相关系数不应大于0.9。 VIF则是Tolerance的倒数。因此,R2越大、即Tolerance越小、而VIF越大(variance inflation不 就是标准误差被灌了水的意思吗?)。如果Tolerance不能小于0.2,其倒数VIF就不能大于5。

下表是从John Fox (1991)中抄来的。其中R、Tolerance、VIF的定义已在上面介绍过。最后一列反映的是某自变量与其它自变量的相关程度对该自变量回归系数(b)的标准误差(SE)的影响。当相关系数R = 0时、该影响为1(即SE等于原来的值),而当R = 0.75时,SE已经被放大50%;而当R = 0.87时,SE被放大了100%。因此,R = 0.87 (或简约成0.9)则被认为是高度相关的上限。 R  Tolerance  VIF  Impact on SEb  
0.00  1.00  1.00  1.00  
0.40  0.84  1.19  1.09  
0.60  0.64  1.56  1.25  
0.75  0.44  2.25  1.50  
0.80  0.36  2.78  1.67  
0.87  0.25  4.00  2.00  
0.90  0.19  5.26  2.29


数据导向的预测模型 (data-driven predictive models) 主要用在经济学中,其它社会科学研究更多使用的是理论导向的解释模型(theory-driven explanatory models)。在我们今天讨论的范畴中,两者之间的主要区别在于对回归模型结果的要求不同。前者追求的是模型拟合度(goodness of fit,以R2为指标)的最大化。这里的假定是:R2越大,模型对已有数据(即“训练集”)的拟合越好,因此也越可能(注意:“可能”就是其中的假定)预测将来数据(“测试集”)的取值。大家知道,R2的大小与自变量的个数有一定关系。将尽可能多的自变量引入预测模型,是提高R2的一种常见策略。至于这些自变量之间是否高度相关,并不需要关心和担心。因为自变量之间的共线性只会影响回归系数的标准误差、显著度及方向,并不影响其系数本身。而预测模型只需用到系数大小的信息就够了。

而此推论,moyi的问题(如果只做预测,是否可以不管自变量之间的共线性),答案一般说来是对的。当然,既然我用了“一般”这个词,就隐含事情总是(也许往往)有例外。这里的例外,一是取决于你的训练集数据的质量(如样本大小、自变量个数、自变量与因变量的关系强度等)、二是取决与训练集数据与测试集数据之间的相似性(时间上是否靠近、外部条件是否一致等)。如果训练集数据质量不高、或与测试集数据相差较大,那么自变量之间的共线性问题还是值得关注的,因为这种数据训练出来的模型并不稳定。

最后说一下共线性与解释性模型的关系。解释性模型是大部分社会科学的家常菜。这里,研究者追求的不是模型拟合度的极大化(当然不能太差,如R2小于10%),而是每个回归系数的四个特征:显著性、影响方向、影响强度、关系形式(线性还是非线性)(具体参见前文“解释变量关系时必须考虑的四个问题”)。  如上所说,自变量共线性会直接改变这四者中的前两者,所以做解释研究的社会科学家,一定要时时处处提防自变量共线性问题。

引用文献  

Fox, J. (1991). Regression Diagnostics. Thousand Oaks, CA: Sage Publications.
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

点击查看更多内容…
相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群