当前位置:主页 > 论文百科 > 大学课程 >

转:关于SPSS不能给出岭回归显著性检验(t,p)的解决方案

发布时间:2018-07-17 04:26

转:关于SPSS不能给出岭回归显著性检验(t,p)的解决方案

2013-06-13 08:45阅读:

大家在计算岭回归的时候是不是都遇到了这样的问题:最后的k值都定了,标准线性回归系数和非标准线性回归系数都算出来了,但是就是没有t检验值和显著性概率?我也很困扰,而且困扰了我好几天,这几天把整个论坛都找遍了也没找到想要的信息,二是看到一位脑残的同志狂发SPSS 18.0可以直接计算岭回归,但是我用何晓群的《应用回归分析》里面的数值代进去是不对,这对于我们SPSS的菜鸟来说是个悲剧啊!!!
好在狗屎运,在百度找了好久,终于功夫不负有心人,找到了,现在我把原文章和文章出处贴上来,至于大家会问,这段代码可行吗?放心,我试过了!感谢这位好老师!泪奔!我知道板上有很多更我一样的菜鸟,每次遇到这类问题都是束手无策,有的时候还是要靠自己啊,诶!
具体做法就是在你的SPSS的安装文件中找到ridge regression.sps这个文件,双击打开,看到里面很多代码,是的。然后找到和下面代码一样的那段代码,将褐色的那部分加进去。保存(ms不能直接保存),那就另存到非安装文件夹里面,比如桌面,然后拷回来。这就是可以计算t和p值的ridge regression.sps插件了。你可以用下面的进行计算了
INCLUDE'ridge regression文件的路径\ridge regression.sps'.
ridgereg enter=自变量
/dep=应变量
/start=
/stop=
/inc=
我自己安装的SPSS不能给出岭回归的显著性检验,也不知道是什么原因。代06级统计学专业的实用回归分析时就遇到了这个问题。SPSS的教程关于这个部分并未作详细描述,在网上搜索也没找到解决方案。所以当时就把这个问题忽略了。今年又代07级统计学,再次遭遇这个问题,经过多方尝试与摸索,终于找到一个简单可行的解决方案!先说发现这个方法的过程。
最开始想的是通过syntax窗口编程,在原有岭回归语句上添加上给出显著性检验的语句。对SPSS程序语法不是太熟,但是SPSS有个特点是,对于窗口化操作的命令,最后不选“OK”而选“Paste”的话,就能够进入syntax窗口,看到具体的程序。基于这点,可以仿造相应程序编一个显著性检验的语句。但是,这个想法失败了。

看来要对岭回归的程序包添加相应语句才行。打开Ridge regression.sps,里面是密密麻麻关于岭回归的程序。还好,每个主要步骤都作了说明。查找一下,找到了岭回归系数估计的部分,果然没有显著性检验的语句。
还好,通过原有语句不难得到检验统计量的值。但是仅仅给出这个值,,对于做检验而言,很不方便。跟一般回归一样,要给出显著性P值才好。这个关系不难根据P值意义得到,关键是相应的程序语句怎么写。对照系数估计上面方差分析的部分(方差分析部分给出了F检验显著性P值),尝试着写程序,终于成功!保存之后,再做岭回归就能给出显著性检验的P值了!
没用过别的SPSS版本,有的版本好像没这个问题。提出这个方法,希望可以帮到有同样问题的人。
附:在Ridge regression.sps中添加的语句(红色倾斜的部分,就是添加的语句,当然,为了给出相应结果,原有语句作了少许改动。)
*---------------------------------------------------------------------------.
* Calculate raw coefficients from standardized ones, compute standard errors
* of coefficients, and an intercept term with standard error. Then print
* out similar to REGRESSION output.
*---------------------------------------------------------------------------(从这里开始是给出系数估计)
. compute beta={b;0}.
. compute b= ( b &/ std ) * sy.
. compute intercpt=ybar-t(b)*t(xmean).
. compute b={b;intercpt}.
. compute xpx=(sse/(sst*(n-nv-1)))*inv(xpx+(k &* ident(nv,nv)))*xpx*
inv(xpx+(k &* ident(nv,nv))).
. compute xpx=(sy*sy)*(mdiag(1 &/ std)*xpx*mdiag(1 &/ std)).
. compute seb=sqrt(diag(xpx)).
. compute seb0=sqrt( (sse)/(n*(n-nv-1)) + xmean*xpx*t(xmean)).
. compute seb={seb;seb0}.
. compute rnms={varname,'Constant'}.
. compute ratio=b &/ seb.
. compute ppp=2*(1-tcdf(abs(ratio),n-nv-1)).
. compute bvec={b,seb,beta,ratio,ppp}.
. print bvec/title='--------------Variables in the Equation----------------'
/rnames=rnms /clabels='B' 'SE(B)' 'Beta' 'T' 'sig'.
. print /space=newpage.
end if.

分享

N

同时转发到微博



本文编号:2129004

资料下载
论文发表

本文链接:https://www.wllwen.com/wenshubaike/dxkc/2129004.html


Copyright(c)文论论文网All Rights Reserved | 网站地图 |

版权申明:资料由用户42025***提供,本站仅收录摘要或目录,作者需要删除请E-mail邮箱bigeng88@qq.com