所以,我有一个二项式glm函数,有两个预测值,第二个(因子)有两个级别(50,250)。
model <- glm(GetResp.RESP ~ speed + PadLen, family = binomial(link = "logit"), data = myData)
它的情节看起来像这样:
我的问题:如何找到第二个预测变量每个级别的0.5概率的协变量(球速)?
例如,我尝试使用'MASS'包中的dose.p()函数:
dose.p(model, p = 0.5)
我得到了
p = 0.5:36.9868
,通过观察图,它将是第一个(50)级别的值。现在,我怎样才能找到第二个(250)级别?
谢谢。
dput(MYDATA的):
答案 0 :(得分:1)
由于这是逻辑回归,因此您拟合函数:
log(p/(1-p)) = b0 + b1*speed + b2*PadLen
其中p是GetResp.RESP
等于1的概率,b0,b1和b2是回归系数,而当PadLen
是myData$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 }