我现在非常困惑,因为我试图找出如何计算我的概率glm
R 中的输出。我知道数据非常微不足道,但我真的很想知道如何从这样的输出中获取概率。我本来想尝试一下inv.logit()
但不知道括号内要放什么变量。
数据来自占用研究。我正在评估毛发陷阱法与相机陷阱法在检测 3 个物种(红松鼠、松貂和入侵性灰松鼠)方面的成功率。我想看看是什么影响了各种物种的检测(或未检测)。一种假设是,在该地点检测到另一种焦点物种会影响红松鼠的可检测性。鉴于松貂是红松鼠的捕食者,而灰松鼠是竞争对手,因此这两个物种在一个地点的存在可能会影响红松鼠的可检测性。
这能显示概率吗?inv.logit(-1.14 - 0.1322 * nonRS events)
glm(formula = RS_sticky ~ NonRSevents_before1stRS, family = binomial(link = "logit"), data = data)
Deviance Residuals:
Min 1Q Median 3Q Max
-0.7432 -0.7432 -0.7222 -0.3739 2.0361
Coefficients:
Estimate Std. Error z value Pr(>|z|)
(Intercept) -1.1455 0.4677 -2.449 0.0143 *
NonRSevents_before1stRS -0.1322 0.1658 -0.797 0.4255
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
(Dispersion parameter for binomial family taken to be 1)
Null deviance: 34.575 on 33 degrees of freedom
Residual deviance: 33.736 on 32 degrees of freedom
(1 observation deleted due to missingness)
AIC: 37.736
Number of Fisher Scoring iterations: 5*
如果您想要预测一组指定的预测变量值的响应概率:
pframe <- data.frame(NonRSevents_before1stRS=4)
predict(fitted_model, newdata=pframe, type="response")
where fitted_model
是你的结果glm()
fit,您将其存储在变量中。您可能不熟悉 R 的统计分析方法,即将拟合模型存储为对象/变量,然后对其应用不同的方法(summary()
, plot()
, predict()
, residuals()
, ...)
- 这显然只是一个虚构的例子:我不知道 4 是否是一个合理的值
NonRSevents_before1stRS
多变的)
- 您可以指定更多不同的值来同时进行预测(
data.frame(NonRSevents_before1stRS=c(4,5,6,7,8))
)
- 如果您有多个预测变量,则必须为每个预测的每个预测变量指定一些值,例如
data.frame(x=4:8,y=mean(orig_data$y), ...)
如果您想要原始数据集中观测值的预测概率,只需predict(fitted_model, type="response")
你是对的inv.logit()
(来自一堆不同的软件包,不知道您正在使用哪个)或plogis()
(从基础 R,本质上相同)将从 logit 或 log-odds 尺度转换为概率尺度,所以
plogis(predict(fitted_model))
也可以工作(predict
默认情况下提供对链接函数 [在本例中为 logit/log-odds] 规模的预测)。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)