作者chris1 (小刀)
看板Statistics
标题[程式] SAS跑回归
时间Wed Dec 29 02:07:33 2010
[软体程式类别]:
SAS
[程式问题]:
小弟目前知道跑回归的方法有 PROC REG跟 PROC GLM
但目前的问题是 PROC REG不知怎麽输入类别变数
而用PROC GLM 则不能像PROC REG有很多方法选模 (至少我不会...)像STEPWISE
向前向後..ETC
用PROC REG时
我的程式是
PROC REG DATA=ABC;
model price=area;
proc print;
run;
其中AREA是地区的意思 有12个类别 但LOG显示
ERROR: Variable area in list does not match type prescribed for this list.
用PROC GLM时
却没办法选出2~3个模型
但我一定要选出2~3个模型,再去选出最好的,这就是我的主要问题...
请高手帮忙 谢谢
[软体熟悉度]:
新手(不到1个月)
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 163.13.144.29
1F:→ kingbee:请练习看SAS help档 对你有帮助 >sas/stat > proc reg 12/29 10:05
2F:推 sssh307:在PROC REG DATA=ABC;後换行加上CLASS 类别变数名即可。 12/29 10:42
其实我有看sas help档,里头的qualitative范例,但档中的类别变数是0、1,而
sas只是直接model y=x; 如此而已,所以我还是不懂...
另外,class我只能用在proc glm耶,proc reg我用class他显示错误
※ 编辑: chris1 来自: 118.160.21.243 (12/29 14:17)
3F:→ kingbee:因为reg不支援class 要改用GLM 通用线性模型 12/29 15:33
4F:→ kingbee:另外你要选择stepwise那种在model後面打上 SELECTION= 12/29 15:34
5F:→ kingbee:例如 model y = x / SELECTION=STEPWISE; 12/29 15:35
6F:→ kingbee:help里面找reg主题 syntax各指令说明的model项目会提到 12/29 15:36
7F:→ kingbee:至於GLM为什麽没有Selection 有时候用途不同 12/29 15:39
谢谢你,PROC REG後面的SELECTION有向前向後等等其他的指令,这些我有
可是我的问题就在,我必须要SELECT出几个侯选模型,再去看AIC BIC CP等这些值
来挑出最好的,而PROC GLM却不行,PROC REG却不知怎麽用类别变数..因为不能CLASS
※ 编辑: chris1 来自: 118.160.21.243 (12/29 15:42)
8F:→ kingbee:不会只是单纯选择变数而会去探讨变数内分组的不同差异 12/29 15:41
9F:推 wlsherica:REG的档案对两类以上的变项可以自己做dummy coding 12/29 17:23
其实我做过,我的有12类,设成0~11,但用reg还是显示不行耶...
※ 编辑: chris1 来自: 118.160.21.243 (12/29 17:35)
10F:推 imaltar:不然你列一下你的部分DATA 让大家帮你看看问题在哪 12/29 17:39
11F:推 wlsherica:0-11...你可以贴你设定dummy的程式上来吗? 12/29 20:15
data abb;
set abc;
if area=A1 then area=0;
if area=A2 then area=1;
if area=A3 then area=2;
if area=A4 then area=3;
if area=A5 then area=4;
if area=A6 then area=5;
if area=A7 then area=6;
if area=A8 then area=7;
if area=A9 then area=8;
if area=A10 then area=9;
if area=A11 then area=10;
proc print;
run;
proc reg data=abb;
model price=area;
proc print;
run;
这是程式的一部分,其中PRICE是价格,连续型的变数,AREA是区域,有12区,我
设定成数字0~11,再跑PROC REG,但一样不行...
※ 编辑: chris1 来自: 163.13.33.12 (12/29 20:33)
12F:推 wlsherica:建议你上网浏览一下dummy variable的coding方式,或爬文 12/29 20:37
谢谢你..我想应该是有头绪了...
※ 编辑: chris1 来自: 163.13.33.12 (12/29 20:46)
13F:推 kokolotl:if area='A11' then areax=10; 後面变数名称换一下 12/29 22:40