sas - 逻辑回归 - 使用其他变量创建新变量 (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 中这样做,但即使是理论上的解释也会有所帮助!
谢谢你。
解决方案
我认为这些评论在很大程度上是正确的——这可能对你的回归没有帮助。
但是 - 回答如何从字面上做到这一点;通常你会做的是使用 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 中一样。
推荐阅读
- python - 如何将谷歌分析(GTAG)添加到我的 python dash 应用程序?
- r - For循环提取数据
- algorithm - 一组数字与二元运算符的排列
- ruby-on-rails - Rails 5.2 通过 Put not Post 部分提交设计编辑
- c# - Task.WhenAll 在请求之间添加延迟(httpclient)
- java - MapStruct 将所有布尔值映射为 false
- flutter - Firestore 删除数组内的索引
- node.js - 成功消息,但用户未从 MongoDB 数据库中删除
- ios - 在没有观察者通知的情况下写入核心数据上下文
- java - 是否可以使用另一个应用程序的通用 API 在不同的休息客户端之间进行通信?