我在r中建立了逻辑回归模型,但是当我使用summary(model)检查系数时,输出在四个列(估计值,标准误差,z值和z)中显示了我的一个自变量的NA。我的其他三个变量工作正常。
我还检查了任何空值,但没有一个。我使用as.numeric和as.integer在连续值和离散值之间进行了更改,但仍在输出中显示为NA。变量本身测量的是献血总量。
我无法弄清楚,这困扰着我。谢谢
这是一个示例,详细说明了我上面的评论;我在这里使用一个简单的线性模型,但是相同的原理适用于您的逻辑回归模型。
让我们生成一些数据:我们为模型生成数据y = x1 + x2 + epsilon
,其中两个预测变量均x1
与x2
线性相关:x2 = 2.5 * x1
。
# Generate sample data
set.seed(2017);
x1 <- seq(1, 100);
x2 <- 2.5 * x1;
y <- x1 + x2 + rnorm(100);
我们拟合模型。
df <- cbind.data.frame(x1 = x1, x2 = x2, y = y);
fit <- lm(y ~ x1 + x2, df);
查看参数估计。
summary(fit);
#
#Call:
#lm(formula = y ~ x1 + x2, data = df)
#
#Residuals:
# Min 1Q Median 3Q Max
#-2.50288 -0.75360 -0.01388 0.67935 3.08515
#
#Coefficients: (1 not defined because of singularities)
# Estimate Std. Error t value Pr(>|t|)
#(Intercept) 0.166567 0.215534 0.773 0.441
#x1 3.496831 0.003705 943.719 <2e-16 ***
#x2 NA NA NA NA
#---
#Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
#
#Residual standard error: 1.07 on 98 degrees of freedom
#Multiple R-squared: 0.9999, Adjusted R-squared: 0.9999
#F-statistic: 8.906e+05 on 1 and 98 DF, p-value: < 2.2e-16
您可以看到的估算值x2
是NA
。这是一个直接后果x1
,并x2
为线性相关。换句话说,x2
是多余的,并且数据可以通过估计的线性模型来描述y = 3.4968 * x1 + epsilon
;这显然与理论系数非常吻合x1 + 2.5 * x1 = 3.5 * x1
。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句