2016-10-03 132 views
1

我已尽力搜索网络上的问题答案,但一直未能找到任何答案。也许我不是以正确的方式提问,或者我的问题不能解决......那么,这里什么都不做!根据SAS中的因果性标准排除回归中的变量

当在SAS中运行回归时,可以执行向后或向前选择,从而消除所有无关紧要的变量,这很好,但仅仅因为变量的p值≤0.05,并不一定意味着结果是正确的。

E.g.,我在SAS中进行回归分析,因变量是因疾病导致的死亡人数,自变量是医生人数。结果显着,p≤0.05,但系数表示,随着医生人数的增加,死亡人数也在增加。这可能是虚假回归的结果,但因果关系是错误的,但SAS只是一台计算机,并不知道因果关系会走向哪个方向。 (当然也可能是这样,更多的医生=由于其他因素导致更多的死亡,但现在让我们忽略它)。

我的问题是:是否有可能做出回归,然后告诉SAS,它必须做后向/前向消除,但根据我设置的一些规则,它也必须排除不符合这些规则的变量?例如。如果死亡人数增加,随着医生人数的增加,排除可变数量的医生?那该怎么办

我真的很希望有人能帮助我,因为我在多个不同的年份进行了50多个变量的回归,如果我不需要经历所有结果我。

谢谢:)

+0

可以增加SAS以构建应用其他规则的系统。即当变量数量> 100时p <0.05,但p <0。04当变量的数量<= 100时,使用宏语言创建%do循环,并在满足一些条件时继续运行它。 但是,这可能是一段时间的承诺。 – JJFord3

回答

0

我不认为这是可能的或推荐。如前所述,SAS是一台计算机,无法知道哪些回归结果是虚假的。如果更多的医生=更多的医疗程序=更多的死亡?很明显,你需要对每种情况应用专家意见,但上述情况同样合理。

您还提到'文档份额',如果我是正确的,这不是实际的数字吗?所以它也可能是这个度量如何计算的一个人为因素。

如果您有一组特定的规则要排除,那可能是可行的。但是你必须首先定义所有这些规则,并且对它们有一定的把握。

+0

你说得对。我的问题还不够清楚。我想制定一些规则,但我不知道如何。我会纠正我的问题谢谢:) – BitteB

+0

我不认为有一个统计上有效的方法来做你的建议。 – Reeza

0

如果您需要指定不寻常的参数选择标准,您可以随时通过强力推送自己的机器学习:对数据进行分区,在宏循环中的所有分区上运行不同的回归模型,并使用类似AIC的选项来选择最佳模型。

但是,除非你是机器学习专家,否则最好从proc glmselect开始。

SAS都可以做向前选择和向后消除在glmselect程序,如:

proc gmlselect data=...; 
model .../select=forward; 
... 

这也将是可能的两种方法结合起来 - 即在宏观循环运行的proc glmselect反复几次,各有不同型号规格,然后选择最佳结果。