作者dofu1943 (那就念吧~~)
站内Statistics
标题[问题] 类别变数和虚拟变数
时间Sat Sep 29 22:49:20 2012
先说声抱歉,文章有点长
这阵子在跑logit model
但因为自变数有重复测量的问题
所以学长建议用GEE model
但是目前卡在一个地方
应变数为(0,1)变数
自变数当中有3个是类别变数
地区别,行业别,教育程度
地区别在资料中显示的方式为
1.北部
2.中部
3.南部
我的作法是
when 地区别为北部时,X1=1,otherwise X1=0
when 地区别为中部时,X2=1,otherwise X2=0
所以设完虚拟变数後会有下列表示法
X1 X2
(1 0 ) 表北部
(0 1 ) 表中部
(0 0 ) 表南部
回归时,丢X1当自变数去跑
并且在 proc genmod 的class选项中丢X1=0当对照组
解释"北部地区(X1=1)"相对於"非北部地区(X1=0)"
对应变数发生的odds ratio为何
proc genmod descending data=a;
class 重复测量的变数 X1/param=ref ref=first ;
model 应变数(为0,1变数)=一堆自变数 X1 /dist=b link=logit;
repeated subject=重复测量的变数/type=un;
run;
我觉得作法应该没错
可是学长认为应该要2个地区别都出来对照某个地区别
可是....我觉得很怪
X1是一个自变数,而X2是另一个自变数
X1和X2怎麽可能放在一起後,再以X1=0做为对照组
因为X1=1的ref为X1=0,所以解释上以"非北部地区"做为对照组
应该是不可能将X1和X2放在一起後去抓对照组
语法也写不出来才对
所以...我在想
学长的意思是不是说...
不要create虚拟变数
而以当初的地区别做自变数
地区别=1 (北部)
地区别=2 (中部)
地区别=3 (南部)
然後变成
proc genmod descending data=a;
class 重复测量的自变数 地区别/param=ref ref=first ;
model (0,1)应变数=一堆自变数 地区别 /dist=b link=logit;
repeated subject=重复测量的变数/type=un;
run;
也就是将X1换成地区别这样....
可是.....
这样不是变得更怪吗??
因为地区别是类别变数
其代表的1,2,3并没有数值上的意义
这样子跑出来的贝他系数应该是不能用来解释应变数才对吧~~~
另外在行业别这个自变项学长也是持相同看法
就是所有行业别都出来对照某个行业别
问题是....行业别的代号更是没有数值上的意义啊
如果不用虚拟变数分组,跑出来的系数应该是有问题的
如果系数都有问题了,odds ratio应该也不能用吧
但用了虚拟变数,就只能有0和1两个组别而已
不可能出现所有行业别做为组别才对啊~~
因为这个问题我跟学长争论一个下午
感觉是在鸡同鸭讲
但当时又没有机会指出学长不对的地方
(也是有可能我误会学长的意思)
所以想问一下版友
我的想法和做法问题出在哪里?
再次说声抱歉,内容很多
还请版友指点
感恩
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 36.227.127.193
1F:→ yhliu:是你错了! 不要只是想当然地推论, 把模型列出来看看就知道 10/01 00:47
2F:→ yhliu:令学长是对的. 10/01 00:48
嗯~~
今天我回去看了一下SAS OUTPUT的东西了
之前真的没发现一件事情
即使将类别变数分组
例如
地区 族群
1 3
1 1
2 2
3 1
其中地区和族群的分组数字都不具数学意义时
例如地区1和地区2以及族群1和族群3
当中的1,2,3并没有数学上的对应关系
SAS在跑GEE时
会自动将其分组成虚拟变数的样态
变成
地区1 1 0 0
地区2 0 1 0
地区3 0 0 1
所以.....
我错了~~~~~~~~
今天也跑去跟学长道歉了~~~唉
不过学长还是有一件事情没有解决
不知道有没有版友愿意开导~~~~
就是GEE的OUTPUT中
在 goodness to fit的结果当中
每一个变数的DF(自由度)都没有出来
导致我没有办法用卡方值去判断模型到底是好还是坏
希望有版友指点
感恩
※ 编辑: dofu1943 来自: 36.227.123.122 (10/01 21:21)