首页 文章

R:glm(多元线性回归)忽略/删除一些预测变量

提问于
浏览
-1

I have posted this question before, but I believe that I had not explained the problem well and that it was over-complicated, so I deleted my previous post and I am posting this one instead. I am sorry if this caused any inconvenience.

我也提前道歉,因为无法提供示例数据,我使用的是非常大的表,而我正在尝试做的更简单的示例,因此提供示例数据无济于事 . 它一直对我有用,直到现在 . 所以我只是试图了解可能存在的问题 . 但如果有任何方法可以提供更多信息,请告诉我 .

所以,我有一个对应于响应变量的向量和一个预测变量表 . 响应向量是数字,预测变量(表的列)是二进制格式(0和1) .

我使用响应向量和预测变量表运行glm函数(多元线性回归):

fit <- glm(response ~ as.matrix(predictors), na.action=na.exclude)
coeff <- as.vector(coef(summary(fit))[,4])[-1]

当我过去这样做的时候,我会提取回归系数的向量,用它来进一步分析 .

问题是现在回归返回一个缺少某些值的系数向量 . 基本上一些预测变量根本不归因于glm的系数 . 但是没有错误消息 .

模型的摘要看起来很正常,但是我提到的一些预测变量缺失了 . 大多数其他预测变量都分配了数据(系数,p值等) . 模型中缺少约30个预测变量,超过200个 .

我尝试过使用不同的响应变量(向量),但我遇到了同样的问题,尽管缺失的预测因素取决于响应向量...

关于可能发生的事情的任何想法?我认为如果某些变量的方差为0,就会发生这种情况,但我已经检查过了 . 表中也没有NA值和缺失值 .

什么可能导致glm忽略/删除一些预测变量?

欢迎任何建议!

EDIT: 我发现被删除的预测变量的值与另一个预测变量相同 . 应该仍然有一种方法可以保留它们,例如它们会得到相同的回归系数

1 回答

  • 1

    您的编辑解释了为什么您没有获得这些变量 . 那将是我的第一个问题 . (这个问题最好在Cross验证时提出,因为它不是R错误,这是你模型的一个问题 . )

    他们不会得到相同的系数:假设你有一个1:1的关系, Y = X + e ,那么适合简单的模型 Y ~ X + X . 每个 X 将被赋予任何值,使得总和等于1.没有解决方案 . Y = 0.5X + 0.5X 对我们来说可能是最明显的,但 Y = 100X -99X 同样有效 .

    出于同样的原因,您也不能拥有任何其他预测变量的线性和的预测变量 .

    如果您真的想要这些值,您可以根据自己的 Value 生成它们 . 但是我不推荐它,因为这些假设将会非常薄弱 .

相关问题