楼主: ostrich
4565 3

岭回归的实现与比较 [推广有奖]

  • 0关注
  • 32粉丝

教师

已卖:43份资源

副教授

99%

还不是VIP/贵宾

-

威望
0
论坛币
28346 个
通用积分
19.2802
学术水平
4 点
热心指数
3 点
信用等级
2 点
经验
16879 点
帖子
526
精华
0
在线时间
680 小时
注册时间
2005-7-2
最后登录
2025-12-19

楼主
ostrich 发表于 2011-5-15 12:04:31 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
1.在SPSS13中的synatax窗口中输入程序如下:
  include "c:\program files\spsseval\ridge regression.sps".
  ridgereg dep=y/enter x1 x2 x3 x4 x5.
输入以上两行后,在synatax窗口中选菜单项"run"--"all",即可得到结果如下:
C
            R-SQUARE AND BETA COEFFICIENTS FOR ESTIMATED VALUES OF K
  K        RSQ         X1          X2          X3          X4          X5
______    ______    ________    ________    ________    ________    ________
.00000    .99823    2.447386    -2.48510    -.083140     .530538     .563537
.05000    .99037     .223417     .179160    -.083524     .370635     .250365
.10000    .98873     .239543     .214116    -.073407     .324407     .227824
.15000    .98729     .243335     .224695    -.065966     .303476     .218969
.20000    .98571     .243539     .228490    -.059635     .290298     .213730
.25000    .98393     .242291     .229504    -.054040     .280606     .209925
.30000    .98195     .240355     .229147    -.049021     .272829     .206823
.35000    .97978     .238068     .228038    -.044482     .266245     .204118
.40000    .97743     .235599     .226490    -.040356     .260473     .201660
.45000    .97493     .233041     .224676    -.036590     .255291     .199367
.50000    .97228     .230447     .222700    -.033141     .250558     .197194
.55000    .96949     .227850     .220626    -.029975     .246181     .195112
.60000    .96659     .225269     .218497    -.027060     .242095     .193102
.65000    .96359     .222719     .216340    -.024372     .238253     .191151
.70000    .96048     .220206     .214174    -.021887     .234619     .189253
.75000    .95729     .217735     .212012    -.019587     .231166     .187400
.80000    .95402     .215309     .209865    -.017453     .227873     .185588
.85000    .95067     .212930     .207737    -.015471     .224721     .183814
.90000    .94726     .210599     .205634    -.013627     .221696     .182075
.95000    .94380     .208316     .203560    -.011910     .218788     .180369
1.0000    .94028     .206080     .201515    -.010308     .215985     .178695
C

同时可以得到岭迹图及k与R^2图,不过因图形不能直接粘贴,故未放上来。
数据用的是何晓群《应用回归分析》中的数据例3.3。结果与书上的一致。
但用岭回归的插件spssaddins得到的结果却与上述不一致,结果为:
C
                                R的平方, 岭回归系数估计值和相应的K值
                               岭回归系数                    方差膨胀因子
K   RSQ    X1      X2      X3      X4      X5    VIF_1 VIF_2 VIF_3 VIF_4 VIF_5
____ ____ _______ _______ _______ _______ _______ _____ _____ _____ _____ _____
.000 .998 2.44739 -2.4851 -.08314 .530538 .563537  1963  1741 3.171 55.49 25.19
.050 .990 .223417 .179160 -.08352 .370635 .250365 .7488 .9341 1.209 2.906 3.422
.100 .989 .239543 .214116 -.07341 .324407 .227824 .2853 .3315 .9490 1.259 1.609
.150 .987 .243335 .224695 -.06597 .303476 .218969 .1768 .1937 .8109 .7394 .9581
.200 .986 .243539 .228490 -.05963 .290298 .213730 .1334 .1402 .7168 .5020 .6465
.250 .984 .242291 .229504 -.05404 .280606 .209925 .1109 .1132 .6447 .3720 .4725
.300 .982 .240355 .229147 -.04902 .272829 .206823 .0971 .0972 .5861 .2924 .3651
.350 .980 .238068 .228038 -.04448 .266245 .204118 .0878 .0867 .5367 .2396 .2939
.400 .977 .235599 .226490 -.04036 .260473 .201660 .0809 .0793 .4943 .2026 .2441
.450 .975 .233041 .224676 -.03659 .255291 .199367 .0756 .0736 .4573 .1754 .2078
.500 .972 .230447 .222700 -.03314 .250558 .197194 .0713 .0691 .4247 .1547 .1804
.550 .969 .227850 .220626 -.02997 .246181 .195112 .0677 .0654 .3956 .1385 .1592
.600 .967 .225269 .218497 -.02706 .242095 .193102 .0646 .0623 .3696 .1255 .1423
.650 .964 .222719 .216340 -.02437 .238253 .191151 .0619 .0596 .3462 .1149 .1286
.700 .960 .220206 .214174 -.02189 .234619 .189253 .0595 .0573 .3251 .1060 .1174
.750 .957 .217735 .212012 -.01959 .231166 .187400 .0573 .0552 .3059 .0985 .1080
.800 .954 .215309 .209865 -.01745 .227873 .185588 .0553 .0533 .2884 .0921 .1000
.850 .951 .212930 .207737 -.01547 .224721 .183814 .0535 .0515 .2724 .0865 .0931
.900 .947 .210599 .205634 -.01363 .221696 .182075 .0518 .0499 .2577 .0816 .0872
.950 .944 .208316 .203560 -.01191 .218788 .180369 .0503 .0484 .2442 .0773 .0820
1.00 .940 .206080 .201515 -.01031 .215985 .178695 .0488 .0471 .2318 .0734 .0775

显然可以看到从第二行0.05开始,其值就不同。
待续!
二维码

扫码加我 拉你入群

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

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

关键词:岭回归 coefficients coefficient spssaddins regression 岭回归

沙发
ostrich 发表于 2011-5-15 16:50:02
再用R软件来进行。需要调用库MASS中的函数lm.ridge
且在进行之前需要对数据进行标准化处理。
d2=scale(d1)
d2=as.data.frame(d2)
> library(MASS)
> res3=lm.ridge(y~-1+.,data=d2,lambda=seq(0,1,0.05))
> res3
            x1          x2          x3        x4        x5
0.00 2.4473858 -2.48509745 -0.08314028 0.5305377 0.5635372
0.05 0.2132936 -0.23113004 -0.11628955 0.6448621 0.4322741
0.10 0.1641667 -0.08529681 -0.11045247 0.5875122 0.3871112
0.15 0.1629117 -0.01491928 -0.10567036 0.5441832 0.3568321
0.20 0.1695221  0.02964903 -0.10192920 0.5113297 0.3349291
0.25 0.1772741  0.06116693 -0.09893708 0.4856791 0.3183414
0.30 0.1845911  0.08486816 -0.09647920 0.4651031 0.3053549
0.35 0.1911164  0.10342168 -0.09441044 0.4482176 0.2949227
0.40 0.1968339  0.11837013 -0.09263208 0.4340951 0.2863673
0.45 0.2018226  0.13068103 -0.09107542 0.4220934 0.2792302
0.50 0.2061802  0.14099738 -0.08969147 0.4117552 0.2731903
0.55 0.2099992  0.14976558 -0.08844448 0.4027457 0.2680156
0.60 0.2133599  0.15730628 -0.08730784 0.3948148 0.2635348
0.65 0.2163301  0.16385638 -0.08626137 0.3877714 0.2596184
0.70 0.2189665  0.16959492 -0.08528953 0.3814676 0.2561670
0.75 0.2213158  0.17465995 -0.08438014 0.3757866 0.2531029
0.80 0.2234174  0.17915966 -0.08352357 0.3706352 0.2503646
0.85 0.2253036  0.18318016 -0.08271210 0.3659381 0.2479027
0.90 0.2270020  0.18679080 -0.08193947 0.3616335 0.2456772
0.95 0.2285356  0.19004815 -0.08120056 0.3576707 0.2436554
1.00 0.2299238  0.19299879 -0.08049116 0.3540073 0.2418102

从以上结果可以看出,其计算结果与用SPSS计算不同,从第二行就开始不同,不知是何因。
打算手动用矩阵来进行计算,看结果有何变化没有?
待续!

藤椅
ostrich 发表于 2011-5-15 17:19:45
在R中手动计算回归系数估计值,也有问题,与SPSS及R中用函数lm.ridge计算出来的结果都不同。
d5=as.matrix(d2)
x=d2[,2:6]
y=d2[,1]
ii=diag(rep(1,5))
x1=t(x)%*%x+0.05*ii
a1=solve(x1)
a2=a1%*%t(x)%*%y
a2
         [,1]
x1  0.2054690
x2 -0.2157914
x3 -0.1159013
x4  0.6406516
x5  0.4285382

在上述过程中选用了k=0.05,即应与前面所得结果中的第二行对应,但显然可以看出其结果三者都并不相同。
这是何因?有待解答。

板凳
温柔一cai刀 发表于 2011-12-7 19:52:19
不用插件,我可以输出t值检验,但没有VIF

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

本版微信群
jg-xs1
拉您进交流群
GMT+8, 2025-12-29 02:31