全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SPSS论坛
16112 7
2013-02-04
各位大神,能指点下spss21如何实现BoxCox,多谢
二维码

扫码加我 拉你入群

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

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

全部回复
2013-2-4 15:49:18
补充:我在网上找到了spss中实现BoxCox的源代码:
————————————————————————————
SET LENGTH=NONE.
SET MXLOOP = 100000000.
MATRIX.
GET W/VARIABLES=all/FILE='E:\Program Files\IBM\SPSS\Statistics\21\testdata\income.sav'/missing=omit.
COMPUTE NC=NCOL(W).
COMPUTE NR=NROW(W).
COMPUTE Y=MAKE(NR,1,0).
COMPUTE XX=MAKE(NR,NC,1).
COMPUTE YLAM=MAKE(NR,1,1).
COMPUTE BOXCOX=MAKE(61,2,0).
COMPUTE YTEMP=0.
LOOP II=1 TO NR.
COMPUTE Y(II,1)=W(II,1).
LOOP JJ=1 TO NC-1.
COMPUTE XX(II,JJ+1)=W(II,JJ+1).
END LOOP.
COMPUTE YTEMP=YTEMP+LN(Y(II)).
END LOOP.
LOOP TEMP=1 TO 61.
COMPUTE LAMBDA=-3.1+TEMP*0.1.
DO IF LAMBDA=0.
COMPUTE YLAM(:)=LN(Y(:)).
ELSE.
COMPUTE YLAM(:)=(Y(:)&**LAMBDA-1)/LAMBDA.
END IF.
COMPUTE BETA=INV(T(XX)*XX)*T(XX)*YLAM.
COMPUTE MSE=T(YLAM-XX*BETA)*(YLAM-XX*BETA)/NR.
COMPUTE IDGLIKE=-1*NR/2*LN(MSE)+(LAMB-DA-1)*YTEMP.
COMPUTE BoXCOX(TEMP,1)=LAMBDA.
COMPUTE BOXCOX(TEMP,2)=LOGLIKE.
END LOOP.
SAVE BOXCOX/OUTFILE=*.
END MATRIX.
RENAME VARIABLES COL1=LAMBDA COL2=LOGLlKE.
——————————————————————————————
但是运行到最后提示:INV的源运算数是奇异的
没有输出任何结果,请问这是什么情况啊
二维码

扫码加我 拉你入群

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

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

2014-5-18 08:34:17
我也遇到了相同的问题,用的也是这一段程序。。请问问题解决了么?
二维码

扫码加我 拉你入群

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

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

2014-5-18 09:56:00
SPSS---转换----计算变量
设转换后变量为BoxCox

BoxCox=(原始数据)** ƛ  (ƛ 0 )
BoxCox=ln(原始数据     (ƛ = 0 )

当ƛ分别为-1、0、0.5、2时,BoxCox变换分别等价于倒数变换、对数变换、
平方根变换和平方变换。

二维码

扫码加我 拉你入群

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

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

2014-5-19 14:27:22
学一下,马克一下
二维码

扫码加我 拉你入群

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

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

2014-5-23 12:29:48
需要请联系QQ:1298997509
二维码

扫码加我 拉你入群

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

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

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

说点什么

分享

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