了解逻辑回归的原假设
逻辑回归是一种回归模型,当响应变量是二元时,我们可以用它来理解一个或多个预测变量与响应变量之间的关系。
如果我们只有一个预测变量和一个响应变量,我们可以使用简单逻辑回归,它使用以下公式来估计变量之间的关系:
log[p(X) / (1-p(X))] = β 0 + β 1
方程右侧的公式预测响应变量取值为 1 的几率的对数。
简单逻辑回归使用以下原假设和备择假设:
- H 0 : β 1 = 0
- H A : β 1 ≠ 0
原假设指出系数 β 1等于零。换句话说,预测变量 x 和响应变量 y 之间不存在统计上显着的关系。
另类假设指出 β 1不等于零。换句话说,x 和 y 之间存在统计上显着的关系。
如果我们有多个预测变量和一个响应变量,我们可以使用多重逻辑回归,它使用以下公式来估计变量之间的关系:
log[p(X) / (1-p(X))] = β 0 + β 1 x 1 + β 2 x 2 + … + β k x k
多元逻辑回归使用以下原假设和备择假设:
- H 0 : β 1 = β 2 = … = β k = 0
- H A : β 1 = β 2 = … = β k ≠ 0
原假设指出模型中的所有系数都为零。换句话说,没有一个预测变量与响应变量 y 具有统计显着关系。
另一种假设指出并非所有系数同时为零。
以下示例说明如何决定是否拒绝简单逻辑回归和多元逻辑回归模型中的原假设。
示例 1:简单逻辑回归
假设一位教授想要使用学习小时数来预测他班上的学生将达到的考试成绩。它收集 20 名学生的数据并拟合一个简单的逻辑回归模型。
我们可以在 R 中使用以下代码来拟合简单的逻辑回归模型:
#createdata df <- data. frame (result=c(0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1), hours=c(1, 5, 5, 1, 2, 1, 3, 2, 2, 1, 2, 1, 3, 4, 4, 2, 1, 1, 4, 3)) #fit simple logistic regression model model <- glm(result~hours, family=' binomial ', data=df) #view summary of model fit summary(model) Call: glm(formula = result ~ hours, family = "binomial", data = df) Deviance Residuals: Min 1Q Median 3Q Max -1.8244 -1.1738 0.7701 0.9460 1.2236 Coefficients: Estimate Std. Error z value Pr(>|z|) (Intercept) -0.4987 0.9490 -0.526 0.599 hours 0.3906 0.3714 1.052 0.293 (Dispersion parameter for binomial family taken to be 1) Null deviance: 26,920 on 19 degrees of freedom Residual deviance: 25,712 on 18 degrees of freedom AIC: 29,712 Number of Fisher Scoring iterations: 4 #calculate p-value of overall Chi-Square statistic 1-pchisq(26.920-25.712, 19-18) [1] 0.2717286
为了确定学习时间和考试成绩之间是否存在统计显着关系,我们需要分析模型的整体卡方值和相应的 p 值。
我们可以使用以下公式来计算模型的整体卡方值:
X 2 =(零偏差 – 残余偏差)/(零 Df – 残余 Df)
p 值为0.2717286 。
由于该 p 值不小于 0.05,因此我们无法拒绝原假设。换句话说,学习时间和考试成绩之间不存在统计上的显着关系。
示例 2:多元逻辑回归
假设一位教授想要使用学习的小时数和准备考试的次数来预测学生在他的班级中获得的成绩。它收集 20 名学生的数据并拟合多元逻辑回归模型。
我们可以在 R 中使用以下代码来拟合多元逻辑回归模型:
#create data df <- data. frame (result=c(0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1), hours=c(1, 5, 5, 1, 2, 1, 3, 2, 2, 1, 2, 1, 3, 4, 4, 2, 1, 1, 4, 3), exams=c(1, 2, 2, 1, 2, 1, 1, 3, 2, 4, 3, 2, 2, 4, 4, 5, 4, 4, 3, 5)) #fit simple logistic regression model model <- glm(result~hours+exams, family=' binomial ', data=df) #view summary of model fit summary(model) Call: glm(formula = result ~ hours + exams, family = "binomial", data = df) Deviance Residuals: Min 1Q Median 3Q Max -1.5061 -0.6395 0.3347 0.6300 1.7014 Coefficients: Estimate Std. Error z value Pr(>|z|) (Intercept) -3.4873 1.8557 -1.879 0.0602 . hours 0.3844 0.4145 0.927 0.3538 exams 1.1549 0.5493 2.103 0.0355 * --- Significant. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1 (Dispersion parameter for binomial family taken to be 1) Null deviance: 26,920 on 19 degrees of freedom Residual deviance: 19,067 on 17 degrees of freedom AIC: 25,067 Number of Fisher Scoring iterations: 5 #calculate p-value of overall Chi-Square statistic 1-pchisq(26.920-19.067, 19-17) [1] 0.01971255
模型整体卡方统计量的 p 值为0.01971255 。
由于该 p 值小于 0.05,因此我们拒绝原假设。换句话说,学习时间和准备考试的组合与考试的最终成绩之间存在统计上的显着关系。
其他资源
以下教程提供了有关逻辑回归的更多信息: