首页 > 解决方案 > 逻辑回归 - 使用其他变量创建新变量 (SAS)

问题描述

我有一个基于调查(大约 80 obsv)的小型数据集,我想在其上使用 SAS 执行逻辑回归。

我的调查包含一些变量(名为 X1、X2、X3),我想将它们重新组合为一个名为 X4 的新创建变量的类别。

问题是那些变量 X1-X3 已经有类别(YES/NO/WITHOUT OPINION)

我怎样才能将它们重新组合为 X4 的类别,但要考虑它们所具有的价值?

帮助您理解我的问题:

Y(=1/0) = X1 X2 X3

X1-X3 各有 3 个类别(YES/NO/WITHOUT OPINION)

我想要的是

Proc后勤数据=有;模型 Y = X4 和其他诸如年龄、城市...但 X4 可以取 3 个值。

问题不在于基于 X1-X3 创建 X4,而是如何影响 X4 X1-X3 各自采用的值?

(注意:我说的是 X1-X3,但还有更多)

我在 SAS 中这样做,但即使是理论上的解释也会有所帮助!

谢谢你。

标签: sasbinaryregressionlogistic-regressiondummy-variable

解决方案


我认为这些评论在很大程度上是正确的——这可能对你的回归没有帮助。

但是 - 回答如何从字面上做到这一点;通常你会做的是使用 2(或 3)的幂。

因此,对于您不关心第三个的典型“是/否”,您将分配如下内容:

x4 = (x1) + (x2 * 2) + (x3 * 4);

然后值将是这样的:

0 = (0,0,0)
1 = (1,0,0)
2 = (0,1,0)
3 = (1,1,0)
4 = (0,0,1)
5 = (1,0,1)
6 = (0,1,1)
7 = (1,1,1)

如果您确实希望“没有意见”成为一个类别(这很复杂,但在许多情况下将“没有意见”的人包括在内并不理想,除非有意见实际上是相关的,最好排除他们或将值),那么您将使用 3 的幂来执行此操作。它的工作方式与 2 的幂相同,只是您有更多的类别组合(总共 27 个)。

x4 = (x1) + (x2 * 3) + (x3 * 9);

只要确保它们是 0/1/2 编码,而不是 1/2/3;如果它们是 1/2/3,则在乘法过程中减一。


你还能做什么更好?你可以在理论上做一堆优于这个实际分类的事情(这真的对你的过度拟合没有帮助)。

一个有用的术语是“崩溃”。例如,参见Bruce Lund 等人的这篇论文(插件:Bruce 在本月晚些时候为 WUSS 提供了一个(不是免费的)回归类。您可以使用ANOVA分析哪些变量对您的模型有贡献。您可以使用其他一些像GLMSELECT这样的程序;这通常是回归中的一个主要主题。

您还可以查看因子分析,就像在这本 SAS Book excerpt 中一样。


推荐阅读