楼主: tomhanks
33643 35

[问答] 在SPSS中如何做岭回归? [分享]

  • 1关注
  • 4粉丝

VIP

博士生

21%

还不是VIP/贵宾

-

威望
0
论坛币
63933 个
通用积分
1.0000
学术水平
6 点
热心指数
8 点
信用等级
3 点
经验
2776 点
帖子
125
精华
0
在线时间
147 小时
注册时间
2004-11-13
最后登录
2019-1-17

tomhanks 发表于 2010-4-15 22:59:44 |显示全部楼层
500论坛币
各位大侠,我找到一本书,下面的截图是这本书关于SPSS进行岭回归的操作。但是我照着这个操作做了,结果不出来,不知道是怎么回事。 请问我的问题出在哪里呢?我对SPSS不熟悉

岭回归.jpg


我输入的命令是:
INCLUDE'C:\Program Files\SPSSInc\PASWStatistics18\Ridge regression.sps'.
RIDGEREG DEP=wage2/ENTER festival fstvcost bjfstv bjfstvcost train.


我的因变量是:wage2
解释变量是:festival fstvcost bjfstv bjfstvcost train

上面教材上的第4步,觉得很奇怪,在菜单中找不到。SPSS的window菜单里面也没有什么All啊?还是我理解错了?



结果为:
_SLINE 1 3.
RIDGEREG DEP=wage2/ENTER festival fstvcost bjfstv bjfstvcost train.
_SLINE OFF.


说明一下:
Ridge regression.sps的路径是正确的。
用的SPSS版本是PASWStatistics18。

我在SPSS的菜单“文件”——>"打开"——>“语法”中选取了“Ridge regression.sps”,结果出来很长的程序。我没有专门学过SPSS,看不懂。

不过,猜想是要改变以下的命令行?但是不知道怎么修改,还请各位大侠指点
另外,发现程序的最后有一个命令restore,不知道是否是运行完后回复原始程序?

define ridgereg (enter=!charend('/')
                /dep = !charend('/')
                /start=!default(0) !charend('/')
                /stop=!default(1) !charend('/')
                /inc=!default(.05) !charend('/')
                /k=!default(999) !charend('/')
                /debug=!DEFAULT ('N')!charend('/')  ).


(奉上论坛币500,小小意思,不成敬意。)


关键词:SPSS PSS 岭回归 regression Statistics SPSS

回帖推荐

tomhanks 发表于3楼  查看完整内容

您好! 我按照您的命令做了,还是不行。 命令如下: INCLUDE 'C:\Program Files\SPSSInc\PASWStatistics18\Samples\English\Ridge regression.sps'. RIDGEREG DEP=wage2/ENTER = festival fstvcost bjfstv bjfstvcost. 出错信息如下: >错误 # 1. 命令名: RIDGEREG >行中第一个单词未被识别为 a PASW Statistics 命令。 >该命令未执行。 另外,不太清楚您说的“前提:与岭回归相关的所有附件都已安装完毕,且版本 ...

本帖被以下文库推荐

stata SPSS
tmdxyz 发表于 2010-4-16 08:48:31 |显示全部楼层
前提:与岭回归相关的所有附件都已安装完毕,且版本匹配,如Python等。

在此情况下,把以下内容输入到Syntax即可(注意空格和标点):

INCLUDE 'C:\Program Files\SPSS 18\Samples\English\Ridge regression.sps'.
RIDGEREG DEP=wage2 /ENTER = festival fstvcost bjfstv bjfstvcost train.
回复

使用道具 举报

tomhanks 发表于 2010-4-16 20:29:35 |显示全部楼层
您好!
我按照您的命令做了,还是不行。

命令如下:
INCLUDE 'C:\Program Files\SPSSInc\PASWStatistics18\Samples\English\Ridge regression.sps'.
RIDGEREG DEP=wage2/ENTER = festival fstvcost bjfstv bjfstvcost.


出错信息如下:

>错误 # 1.  命令名: RIDGEREG
>行中第一个单词未被识别为 a PASW Statistics 命令。
>该命令未执行。


另外,不太清楚您说的“前提:与岭回归相关的所有附件都已安装完毕,且版本匹配,如Python等”,
Python是什么意思呢?

我在路径“C:\Program Files\SPSSInc\PASWStatistics18\Samples\English\Ridge regression.sps”下找到了“Ridge regression.sps”,
并可以打开它。见附件。


另外,我从什么地方把500论坛币给您呢?
谢谢!

SPSS中模块“ridge regression.sps”.txt

8.38 KB

回复

使用道具 举报

tmdxyz 发表于 2010-4-17 20:58:02 |显示全部楼层
为题还没解决,就不要给钱了。关于Python,我记得SPSS在能够进行岭回归之前,得先安装一些配件,如python。当然其他一些配件(我记不太清楚了)也需要同时安装。具体你可在本版搜索一下。祝你好运。
回复

使用道具 举报

tomhanks 发表于 2010-4-20 00:56:34 |显示全部楼层
不好意思,我搜寻了,没有找到python。

另外,我用上述命令,得到以下结果,请帮我分析一下。

GET
  FILE='D:\PKU 博士论文 人力资本和社会资本\1 利用CHIP数据--社会资本、家庭收入\CHIP-2002rural\CHIP2002问卷123 农村住户和村级调查合并数据 SC家庭.sav'.
DATASET NAME 数据集1 WINDOW=FRONT.
INCLUDE 'C:\Program Files\SPSSInc\PASWStatistics18\Samples\English\Ridge regression.sps'.
  13  0  preserve.
  14  0  set printback=off.

>错误 # 4820,位于列 71。文本: suppratio
>在 FORMATS、PRINT FORMATS 或 WRITE FORMATS 命令中 指定的变量尚未定义。
>该命令未执行。

374  0  restore.
375  0  
377  0  * End of INSERT and INCLUDE nesting level 01.
RIDGEREG DEP=totalinc /ENTER=lnland fixasset edulab lbrnum labor100 cpc suppratio  eduvillg incomvill/START=0 /STOP=1 /INC=0.05/K=999 .
NOTE: ALL OUTPUT INCLUDING ERROR MESSAGES HAVE BEEN TEMPORARILY
SUPPRESSED. IF YOU EXPERIENCE UNUSUAL BEHAVIOR, RERUN THIS
MACRO WITH AN ADDITIONAL ARGUMENT /DEBUG='Y'.
BEFORE DOING THIS YOU SHOULD RESTORE YOUR DATA FILE.
THIS WILL FACILITATE FURTHER DIAGNOSIS OF ANY PROBLEMS.

>错误 # 4820,位于列 71。文本: suppratio
>在 FORMATS、PRINT FORMATS 或 WRITE FORMATS 命令中 指定的变量尚未定义。
>该命令未执行。


>错误 # 14865.  命令名: report
>A variable on the REPORT VARIABLES subcommand was neither a PASW Statistics
>variable, a REPORT STRING variable, or a dummy variable (as designated by the
>DUMMY option to the subcommand).
>该命令未执行。

>错误 # 14865.  命令名: report
>A variable on the REPORT VARIABLES subcommand was neither a PASW Statistics
>variable, a REPORT STRING variable, or a dummy variable (as designated by the
>DUMMY option to the subcommand).

>错误 # 701,位于列 118。文本: suppratio
>在仅接受标准变量的变量列表中指定了一个 未定义的变量名称、临时变量 或系统变量。 请检查拼写并验证此变量是否存在。
>该命令未执行。

>警告 # 67.  命令名: get file
>文档正在由其他用户或进程使用。 如果您更改了文档,则这些更改可能会覆盖其他人的 更改,或被其他人的更改所覆盖。
>文件已打开 C:\Program Files\SPSSInc\PASWStatistics18\rr__tmp1.sav
回复

使用道具 举报

注册吧 发表于 2010-4-21 21:23:42 |显示全部楼层
用SAS做或者Matlab编程,张文彤的 spss11高级篇里面讲过,在最后几张里面,有程序
纸上得来终觉浅,绝知此生要躬行
回复

使用道具 举报

tomhanks 发表于 2010-4-24 19:00:18 |显示全部楼层
注册吧 发表于 2010-4-21 21:23
用SAS做或者Matlab编程,张文彤的 spss11高级篇里面讲过,在最后几张里面,有程序
谢谢!我按照您说的,看了张文彤的书,按照书上说的做了,
INCLUDE 'C:\Program Files\SPSSInc\PASWStatistics18\Samples\English\Ridge regression.sps'.
ridgereg enter=lnland fixasset edulab lbrnum labor100 cpc suppratio  eduvillg incomvill
/dep=totalinc
/start=0
/stop=1
/inc=0.05
/k=999.

但是出来的结果仍然是
>错误 # 1.  命令名: ridgereg
>行中第一个单词未被识别为 a PASW Statistics 命令。
>该命令未执行。
/dep=totalinc
/start=0
/stop=1
/inc=0.05
/k=999.

我实在不知道是什么原因了,我用的是SPSS18.0,也就是PASWStatistics18。
是不是版本的原因呢?
请问您用什么版本的SPSS能够进行岭回归呢?能否给我推荐一个能够用的版本?多谢!
如果可用,我可以送1000论坛币给您。
回复

使用道具 举报

tomhanks 发表于 2010-5-10 22:40:57 |显示全部楼层
问题已经解决,可能是我的电脑可能中毒还是别的原因。
我在别的机器上安装了SPSS18,用以上的syntax,是可以用的。

多谢各位朋友的热心帮助。1000论坛币已经送出。http://www.pinggu.org/bbs/thread-785743-1-1.html
本文来自: 人大经济论坛 详细出处参考:http://www.pinggu.org/bbs/viewth ... =2&from^^uid=5642
回复

使用道具 举报

唱歌的LL 发表于 2010-12-1 14:12:22 |显示全部楼层
我正在做岭回归的题目,纠结啊。
回复

使用道具 举报

唱歌的LL 发表于 2010-12-1 14:53:15 |显示全部楼层
我也是刚刚解决岭回归的问题。
如果你用的spss18的版本,应该在回归——》最优尺度——》规则化里面有岭回归
不用再编写麻烦的程序了。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 我要注册

京ICP备16021002-2号 京B2-20170662号 京公网安备 11010802022788号 论坛法律顾问:王进律师 知识产权保护声明   免责及隐私声明

GMT+8, 2019-12-14 17:03