R:glm(多元线性回归)ignores/removes 一些预测变量
R: glm (multiple linear regression) ignores/removes some predictor variables
我以前post过这个问题,但我觉得我没有把问题解释好,而且太复杂了,所以我删除了我之前的post 而我 post 改用这个。如果给您带来不便,我们深表歉意。
对于无法提供示例数据,我也提前表示歉意,我使用的 tables 非常大,而我尝试做的事情在更简单的示例中效果很好,因此提供示例数据无济于事.直到现在它一直对我有用。所以我只是想了解您对可能出现的问题的看法。但如果有什么方法可以提供更多信息,请告诉我。
所以,我有一个对应于响应变量的向量和一个 table 预测变量。响应向量是数字,预测变量(table 的列)是二进制格式(0 和 1)。
我是 运行 使用响应向量和 table 预测变量的 glm 函数(多元线性回归):
fit <- glm(response ~ as.matrix(predictors), na.action=na.exclude)
coeff <- as.vector(coef(summary(fit))[,4])[-1]
当我过去一直这样做时,我会提取回归系数的向量以用于进一步分析。
问题是现在回归 returns 一个缺少某些值的系数向量。本质上,一些预测变量根本没有被 glm 归因于系数。但是没有错误信息。
模型的摘要看起来很正常,但是像我提到的那样缺少一些预测变量。大多数其他预测变量都分配了数据(系数、p 值等)。
模型中缺少大约 30 个预测变量,超过 200 个。
我尝试使用不同的响应变量(向量),但我遇到了同样的问题,尽管缺失的预测变量因响应向量而异...
对可能发生的事情有什么想法吗?我认为如果某些变量的方差为 0,就会发生这种情况,但我已经检查过了。 table 中也没有 NA 值和缺失值。
什么会导致 glm ignore/remove 某些预测变量?
欢迎提出任何建议!
编辑: 我发现被删除的预测变量的值与另一个预测变量相同。应该还是有办法保留的,比如他们会得到相同的回归系数
你的编辑解释了为什么你没有得到这些变量。那将是我的第一个问题。 (这个问题最好在 Cross validated 上提出,因为它不是 R 错误,而是你的模型有问题。)
他们不会得到相同的系数:假设你有一个 1:1 关系,Y = X + e
,然后拟合简单模型 Y ~ X + X
。每个 X
将被分配任意值,使得总和等于 1。没有解决方案。 Y = 0.5X + 0.5X
对我们来说可能是最明显的,但 Y = 100X -99X
也同样有效。
出于同样的原因,您也不能有任何预测变量是其他预测变量的线性和。
如果你真的想要这些值,你可以从你拥有的东西中生成它们。但是我不推荐它,因为假设将如履薄冰。
我以前post过这个问题,但我觉得我没有把问题解释好,而且太复杂了,所以我删除了我之前的post 而我 post 改用这个。如果给您带来不便,我们深表歉意。
对于无法提供示例数据,我也提前表示歉意,我使用的 tables 非常大,而我尝试做的事情在更简单的示例中效果很好,因此提供示例数据无济于事.直到现在它一直对我有用。所以我只是想了解您对可能出现的问题的看法。但如果有什么方法可以提供更多信息,请告诉我。
所以,我有一个对应于响应变量的向量和一个 table 预测变量。响应向量是数字,预测变量(table 的列)是二进制格式(0 和 1)。
我是 运行 使用响应向量和 table 预测变量的 glm 函数(多元线性回归):
fit <- glm(response ~ as.matrix(predictors), na.action=na.exclude)
coeff <- as.vector(coef(summary(fit))[,4])[-1]
当我过去一直这样做时,我会提取回归系数的向量以用于进一步分析。
问题是现在回归 returns 一个缺少某些值的系数向量。本质上,一些预测变量根本没有被 glm 归因于系数。但是没有错误信息。
模型的摘要看起来很正常,但是像我提到的那样缺少一些预测变量。大多数其他预测变量都分配了数据(系数、p 值等)。 模型中缺少大约 30 个预测变量,超过 200 个。
我尝试使用不同的响应变量(向量),但我遇到了同样的问题,尽管缺失的预测变量因响应向量而异...
对可能发生的事情有什么想法吗?我认为如果某些变量的方差为 0,就会发生这种情况,但我已经检查过了。 table 中也没有 NA 值和缺失值。
什么会导致 glm ignore/remove 某些预测变量?
欢迎提出任何建议!
编辑: 我发现被删除的预测变量的值与另一个预测变量相同。应该还是有办法保留的,比如他们会得到相同的回归系数
你的编辑解释了为什么你没有得到这些变量。那将是我的第一个问题。 (这个问题最好在 Cross validated 上提出,因为它不是 R 错误,而是你的模型有问题。)
他们不会得到相同的系数:假设你有一个 1:1 关系,Y = X + e
,然后拟合简单模型 Y ~ X + X
。每个 X
将被分配任意值,使得总和等于 1。没有解决方案。 Y = 0.5X + 0.5X
对我们来说可能是最明显的,但 Y = 100X -99X
也同样有效。
出于同样的原因,您也不能有任何预测变量是其他预测变量的线性和。
如果你真的想要这些值,你可以从你拥有的东西中生成它们。但是我不推荐它,因为假设将如履薄冰。