SAS中文论坛

标题: 请教:关于LOGISTIC回归 [打印本页]

作者: shiyiming    时间: 2008-1-22 17:19
标题: 请教:关于LOGISTIC回归
记得以前在什么地方看过类似的方法介绍。当时没在意,现在需要用了又找不着了。
想要做的事 :
用逻辑回归建立模型

数据情况 :
y变量为0或1;
候选x变量有:
1、诸如性别的取值为 F、M、.(缺失);
2、诸如年龄的连续变量(也可能为缺失);
3、未转换成虚拟变量。
4、候选变量有好几百个。

问题:
怎样写代码  可初步筛选出卡方大 p值小的变量,缩小候选变量范围。

自己尝试过小数据的(SAS帮助里的例子):
  Data Neuralgia;
      input Treatment $ Sex $ Age Duration Pain $ @@;
      datalines;
   P  F  68   1  No   B  M  74  16  No  P  F  67  30  No
   P  M  66  26  Yes  B  F  67  28  No  B  F  77  16  No
   A  F  71  12  No   B  F  72  50  No  B  F  76   9  Yes
   A  M  71  17  Yes  A  F  63  27  No  A  F  69  18  Yes
   B  F  66  12  No   A  M  62  42  No  P  F  64   1  Yes
   A  F  64  17  No   P  M  74   4  No  A  F  72  25  No
   P  M  70   1  Yes  B  M  66  19  No  B  M  59  29  No
   A  F  64  30  No   A  M  70  28  No  A  M  69   1  No
   B  F  78   1  No   P  M  83   1  Yes B  F  69  42  No
   B  M  75  30  Yes  P  M  77  29  Yes P  F  79  20  Yes
   A  M  70  12  No   A  F  69  12  No  B  F  65  14  No
   B  M  70   1  No   B  M  67  23  No  A  M  76  25  Yes
   P  M  78  12  Yes  B  M  77   1  Yes B  F  69  24  No
   P  M  66   4  Yes  P  F  65  29  No  P  M  60  26  Yes
   A  M  78  15  Yes  B  M  75  21  Yes A  F  67  11  No
   P  F  72  27  No   P  F  70  13  Yes A  M  75   6  Yes
   B  F  65   7  No   P  F  68  27  Yes P  M  68  11  Yes
   P  M  67  17  Yes  B  M  70  22  No  A  M  65  15  No
   P  F  67   1  Yes  A  M  67  10  No  P  F  72  11  Yes
   A  F  74   1  No   B  M  80  21  Yes A  F  69   3  No
   ;

run;

proc logistic data=Neuralgia;
      class Treatment Sex;
      model Pain= Treatment Sex  Age Duration ;         
      output out=data p=score;                                                                                 
run;
(本人需要的就是这个结果。列出了变量的卡方和P值)

但是将此代码换成自己的超大数据集的时候,

class 所有类别型变量。
model y = x1......(列出所有候选x变量,包括class中变量)

日志总是提示:there is no valid observation.

尝试删掉x变量中的一些变量,可以跑成功。
变量太多,没办法一个个试。
不明白到底问题出在哪。
十分迷惑。
请教!
作者: shiyiming    时间: 2008-1-28 11:37
标题: Re: 请教:关于LOGISTIC回归
是不是因为几百个变量太多了的缘故
model y=x1 x2 ....xn/selection=f 或 selection=score
试试先
作者: shiyiming    时间: 2008-1-28 11:39
标题: Re: 请教:关于LOGISTIC回归
或者是因为independent variable太多,导致missing太多,以至于没有一个observation可以被纳入模型? <!-- s:shock: --><img src="{SMILIES_PATH}/icon_eek.gif" alt=":shock:" title="Shocked" /><!-- s:shock: -->
作者: shiyiming    时间: 2008-1-30 20:25
标题: Re: 请教:关于LOGISTIC回归
可能是输入输出流有问题,查看数据集合中的名字不是lable而是名字是否和代码中的一样。




欢迎光临 SAS中文论坛 (https://mysas.net/forum/) Powered by Discuz! X3.2