这是我第一次做逻辑回归,而我正在努力教自己如何找到优势比。我从r得到了系数,如下所示。
(Intercept) totalmins
0.2239254 1.2424020
为了对回归系数进行取幂,我做了以下几点:
exp1.242/exp1.242+1 = 0.77
真的不确定这是否是正确的过程。
关于我如何计算优势比的任何建议都将非常感谢
如果在现场检测到动物,则检测-1/0数据 在现场花费的总动物时间这里是输出
glm(formula = detection ~ totalmins, family = binomial(link = "logit"),
data = data)
Deviance Residuals:
Min 1Q Median 3Q Max
-2.81040 -0.63571 0.00972 0.37355 1.16771
Coefficients:
Estimate Std. Error z value Pr(>|z|)
(Intercept) -1.49644 0.81818 -1.829 0.0674 .
totalmins 0.21705 0.08565 2.534 0.0113
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
(Dispersion parameter for binomial family taken to be 1)
Null deviance: 41.194 on 33 degrees of freedom
Residual deviance: 21.831 on 32 degrees of freedom
(1 observation deleted due to missingness)
AIC: 25.831
Number of Fisher Scoring iterations: 8
答案 0 :(得分:1)
该模型根据动物在该站点上花费的时间(分钟)来评估在该站点检测动物的对数几率。模型输出表明:
suspend fun
要转换为比值比,我们对系数进行取幂:
log odds(animal detected | time on site) = -1.49644 + 0.21705 * minutes animal on site
因此,如果动物在现场花费0分钟,检测的几率和概率为e(-1.49644)或0.2239。如果动物在现场X分钟,检测的优势比计算如下。我们将分数0到10的优势比建模,并计算相关的检测概率。
odds(animal detected) = exp(-1.49644) * exp(0.21705 * minutes animal on site)
...和输出:
# odds of detection if animal on site for X minutes
coef_df <- data.frame(intercept=rep(-1.49644,11),
slopeMinutes=rep(0.21705,11),
minutesOnSite=0:10)
coef_df$minuteValue <- coef_df$minutesOnSite * coef_df$slopeMinutes
coef_df$intercept_exp <- exp(coef_df$intercept)
coef_df$slope_exp <- exp(coef_df$minuteValue)
coef_df$odds <- coef_df$intercept_exp * coef_df$slope_exp
coef_df$probability <- coef_df$odds / (1 + coef_df$odds)
另请参阅How to get probability from GLM output,了解使用MASS包中的航天飞机自动人数据的另一个例子。