如何在Logistic回归中找到特定于.5概率的协变量的值

时间:2018-04-16 15:45:40

标签: r probability logistic-regression binomial-coefficients

所以,我有一个二项式glm函数,有两个预测值,第二个(因子)有两个级别(50,250)。

model <- glm(GetResp.RESP ~ speed + PadLen, family = binomial(link = "logit"), data = myData)

它的情节看起来像这样:

enter image description here

我的问题:如何找到第二个预测变量每个级别的0.5概率的协变量(球速)?

例如,我尝试使用'MASS'包中的dose.p()函数:

dose.p(model, p = 0.5)

我得到了

  

p = 0.5:36.9868

,通过观察图,它将是第一个(50)级别的值。现在,我怎样才能找到第二个(250)级别?

谢谢。

dput(MYDATA的):

https://pastebin.com/7QYXwwa4

1 个答案:

答案 0 :(得分:1)

由于这是逻辑回归,因此您拟合函数:

log(p/(1-p)) = b0 + b1*speed + b2*PadLen

其中p是GetResp.RESP等于1的概率,b0,b1和b2是回归系数,而当PadLenmyData$PadLen时,myData$PadLen是一个等于零的虚拟变量50 {当log(1) = b0 + b1*speed + b2*PadLen b1*speed = log(1) - b0 - b2*PadLen speed = (log(1) - b0 - b2*PadLen)/b1 为250时等于1。

所以你可以在p = 0.5时解决速度:

speed = (-b0 - b2*c(0,1))/b1 

由于log(1)= 0,因此减少为:

speed = (-coef(model)[1] - coef(model)[3]*c(0,1))/coef(model)[2]

或者,输入实际系数值:

speed

要在其他概率下求解speed = (log(p/(1-p)) - coef(model)[1] - coef(model)[3]*c(0,1))/coef(model)[2] ,只需将log-odds因子保留在等式中,然后输入所需的p值:

{ emitEvent: false }