gpt4 book ai didi

r - 如何从 GLM 输出中获取概率

转载 作者:行者123 更新时间:2023-12-05 08:18:55 26 4
gpt4 key购买 nike

我现在非常困惑,因为我试图弄清楚如何从 R 中的 glm 输出计算概率。我知道数据非常微不足道,但我真的很想展示如何从这样的输出中获得概率。我正在考虑尝试 inv.logit() 但不知道要将哪些变量放在括号内。

数据来自入住率研究。我正在评估在检测 3 个物种(红松鼠、松貂和侵入性灰松鼠)时毛发捕捉方法与相机捕捉方法的成功率。我想看看是什么影响了各种物种的检测(或未检测)。一个假设是在该地点检测到另一种焦点物种会影响红松鼠的可检测性。鉴于松貂是红松鼠的天敌,而灰松鼠是竞争对手,这两个物种在一个地点的存在可能会影响红松鼠的可探测性。

这会显示概率吗? inv.logit(-1.14 - 0.1322 * 非 RS 事件)

 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")

其中 fitted_model 是您的 glm() 拟合的结果,您将其存储在一个变量中。您可能不熟悉 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,本质上是相同的)将从对数或对数赔率尺度转换为概率尺度,所以

plogis(predict(fitted_model))

也会起作用(predict 默认提供链接函数 [在本例中为 logit/log-odds] 尺度的预测)。

关于r - 如何从 GLM 输出中获取概率,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48131237/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com