楼主: liyan8016
25824 26

[学习资料] SPSS中可以进行box-cox转换吗? [推广有奖]

11
118wangxiao 发表于 2010-1-22 15:52:53
好东西,谢谢

12
yuxiulingyun 发表于 2010-1-22 19:04:13
路过,看看

13
yuxiulingyun 发表于 2010-1-22 19:05:29
路过,看看

14
lqf925 发表于 2010-8-12 10:58:11
想学习一下

15
peanut1008 发表于 2010-11-25 20:09:30
6# ereree
http://wenku.baidu.com/view/acd079ec0975f46527d3e140.html

你好,我也看到了这个,但是文章里里面说 y需要大于0才可以,那么对于有很多0变量的数据怎么进行变化呢?

16
peanut1008 发表于 2010-11-25 20:28:44
6# ereree
顺便问版大个问题,因变量数据2000个左右,有0的200个左右,不正态
自变量数据5个,都是分类的

连续和有序分类变量 非正态 方差不齐。。

方差分析不行吧?

请问这时候应该选取什么方法呢?

17
wangli2008 发表于 2011-5-13 21:31:08
Thank you for your answer, but when I use your program ,I can't get my result.  My step as follow:step 1:put my data into the data dialog box and give them names with X and Y.step2:File,New, Syntax. Step 3:copy the code into syntax editor menu, run,all.but I don't how todo next.My question is how to choose dependent and independent, please  reply me to my e-mail:wangli2008_beijing@163.com.Thank you !

18
wusong88890 发表于 2011-5-15 16:21:50
xuexi.............

19
振衣 发表于 2012-5-27 11:08:11
ereree 发表于 2009-7-14 09:28
SPSS macro for Box-Cox transformations
box-cox syntax for spss 時間數列利用R跑BOX COX
In statisti ...
请问,多个自变量的情形,怎么处理,要改动代码那部分呢? 我试了把x 改成x1,x2, 报错了

20
kelffon 发表于 2012-10-21 21:07:26
振衣 发表于 2012-5-27 11:08
请问,多个自变量的情形,怎么处理,要改动代码那部分呢? 我试了把x 改成x1,x2, 报错了
我的也报错,似乎ereree给的SPSS程序有问题,我采用了这篇文章“BOX-COX变换及其在SPSS软件中的实现”中的SPSS程序得到正确的答案了!
SET LENGTH=NONE.
SET MXLOOP = 100000000.
MATRIX.
GET W/VARIABLES= all/FILE= */MISSING=OMIT.
COMPUTE NR =NROW(W).
COMPUTE NC =NCOL(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 LOGLIKE=-1*NR/2*LN(MSE)+(LAMBDA-1)*YTEMP.
COMPUTE BOXCOX(TEMP,1)= LAMBDA.
COMPUTE BOXCOX(TEMP,2)= LOGLIKE.
END LOOP.
SAVE BOXCOX /OUTFILE=*.
END MATRIX.
RENAME VARIABLES COL1= LAMBDA COL2= LOGLIKE.
GRAPH
/SCATTERPLOT(BIVAR)=LAMBDA WITH LOGLIKE /MISSING=LISTWISE
/TITLE= 'Log-Likelihood versus lambda'.
已有 1 人评分学术水平 热心指数 收起 理由
耕耘使者 + 1 + 1 精彩帖子

总评分: 学术水平 + 1  热心指数 + 1   查看全部评分

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

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2025-12-30 01:32