Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/70.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R:计算并解释logistic回归中的优势比_R_Probability_Logistic Regression - Fatal编程技术网

R:计算并解释logistic回归中的优势比

R:计算并解释logistic回归中的优势比,r,probability,logistic-regression,R,Probability,Logistic Regression,我无法解释逻辑回归的结果。我的结果变量是Decision,是二进制变量(0或1,分别不是take或take产品)。 我的预测变量是thinks并且是连续的,可以是正的,也可以是负的,并且四舍五入到第二个小数点。 我想知道当思维发生变化时,接受产品的概率是如何变化的 逻辑回归方程为: glm(Decision ~ Thoughts, family = binomial, data = data) 根据这个模型,思想s对决策的概率有显著影响(b=0.72,p=0.02)。要确定决策与想法的比值比:

我无法解释逻辑回归的结果。我的结果变量是
Decision
,是二进制变量(0或1,分别不是take或take产品)。
我的预测变量是
thinks
并且是连续的,可以是正的,也可以是负的,并且四舍五入到第二个小数点。
我想知道当思维发生变化时,接受产品的概率是如何变化的

逻辑回归方程为:

glm(Decision ~ Thoughts, family = binomial, data = data)
根据这个模型,
思想
s对
决策的概率
有显著影响(b=0.72,p=0.02)。要确定
决策
想法
的比值比:

exp(coef(results))
优势比=2.07

问题:

  • 我如何解释优势比

  • 比值比为2.07是否意味着
    想法的增加(或减少)0.01会影响服用(或不服用)产品的几率0.07
  • 这是否意味着随着
    思想
    增加(减少)0.01,服用(不服用)产品的几率增加(减少)约2个单位
  • 如何将
    想法的优势比
    转换为
    决策的估计概率

    或者我只能在某个
    想法
    分数上估计
    决策
    的概率(即当
    想法==1时计算服用产品的估计概率)


  • r中逻辑回归返回的系数是一个logit,或赔率的对数。要将logits转换为优势比,您可以像上面所做的那样将其指数化。要将logit转换为概率,可以使用函数
    exp(logit)/(1+exp(logit))
    。然而,关于这个过程,有一些事情需要注意

    首先,我将使用一些可复制的数据来说明

    library('MASS')
    data("menarche")
    m<-glm(cbind(Menarche, Total-Menarche) ~ Age, family=binomial, data=menarche)
    summary(m)
    
    我们可以将其解释为:0岁时发生月经初潮的几率为.0000000000。或者,基本上不可能。年龄系数的指数化告诉我们每个年龄单位月经初潮几率的预期增加。在这种情况下,它刚刚超过五倍。优势比为1表示没有变化,而优势比为2表示加倍,等等

    你的优势比为2.07,意味着“想法”增加1个单位,服用该产品的几率将增加2.07倍。

    如何将想法的优势比转换为决策的估计概率? 您需要对选定的思想值执行此操作,因为正如您在上面的图中所看到的,在x值范围内,变化不是恒定的。如果你想知道思想的某个价值的概率,那么得到如下答案:

    exp(intercept + coef*THOUGHT_Value)/(1+(exp(intercept+coef*THOUGHT_Value))
    

    赔率和概率是两种不同的衡量标准,它们都旨在衡量事件发生的可能性。他们不应该相互比较,而应该相互比较
    虽然使用“优势比”(odds1/odds2)比较两个预测值的优势(同时保持其他值不变),但相同的概率程序称为“风险比”(概率1/2)

    一般来说,当涉及到比率时,几率优先于概率,因为概率限制在0和1之间,而几率的定义是从-inf到+inf

    要轻松计算优势比(包括其置信区间),请参阅
    oddsratio
    软件包:

    library(oddsratio)
    fit_glm <- glm(admit ~ gre + gpa + rank, data = data_glm, family = "binomial") 
    
    # Calculate OR for specific increment step of continuous variable
    or_glm(data = data_glm, model = fit_glm, 
           incr = list(gre = 380, gpa = 5))
    
      predictor oddsratio CI.low (2.5 %) CI.high (97.5 %)          increment
    1       gre     2.364          1.054            5.396                380
    2       gpa    55.712          2.229         1511.282                  5
    3     rank2     0.509          0.272            0.945 Indicator variable
    4     rank3     0.262          0.132            0.512 Indicator variable
    5     rank4     0.212          0.091            0.471 Indicator variable
    
    库(oddsratio)
    
    将上述公式拟合到logits到概率,exp(logit)/(1+exp(logit)),可能没有任何意义。此公式通常用于将赔率转换为概率。然而,在逻辑回归中,优势比更像是两个优势值之间的比率(碰巧已经是比率)。使用上述公式如何定义概率?相反,可能更正确的做法是从优势比中减去1,找到一个百分比值,然后将该百分比解释为给定预测值的结果增加/减少x%的几率。

    我发现这个epiDisplay软件包工作正常!这可能对其他人有用,但请注意,您的置信区间或确切结果将根据所使用的软件包而有所不同,因此最好阅读软件包的详细信息,并选择适合您的数据的软件包

    下面是一个示例代码:

    library(epiDisplay)
    data(Wells, package="carData")
    glm1 <- glm(switch~arsenic+distance+education+association, 
                family=binomial, data=Wells)
    logistic.display(glm1)
    
    库(epiDisplay)
    数据(Wells,package=“carData”)
    
    非常感谢你!您的附加示例确实有助于将您的解释置于上下文中。@SudyMajd欢迎使用SO!如果您接受特里德尔的答案,请单击答案旁边的绿色标记。这样做,你会尊敬回答问题的人,并将问题标记为已解决。这是一个非常彻底的回答。如果您在建模之前已经对协变量进行了缩放,那么对解释有什么影响?在检查优势比之前,你是否应该“不标度”它们,这是否有效?@Emily如果你有标度预测因子,那么解释是相同的,除了“一个单位的变化”意味着1个标准差。如果你想得到有标度和无标度的预测值,最好只拟合两个单独的模型:一个有标度,一个没有标度。截距和年龄系数的指数不是优势比。只有与因子变量项相关的指数系数才能被视为优势比。这个答案是错误的。我发现这个软件包非常有用,我想你应该使用
    或_glm
    而不是
    calc.oddsratio.glm
    谢谢,我更新了代码。很高兴你发现这个包很有用!没想到你是作者!非常感谢您提供!你说“赔率是从-inf到+inf定义的”,但它们不是被限制在0到inf之间吗?负优势比意味着什么?谢谢!增量在这里是什么意思?我试着运行这段代码,但我不知道如何选择增量的值。有汽车公司吗
    exp(intercept + coef*THOUGHT_Value)/(1+(exp(intercept+coef*THOUGHT_Value))
    
    library(oddsratio)
    fit_glm <- glm(admit ~ gre + gpa + rank, data = data_glm, family = "binomial") 
    
    # Calculate OR for specific increment step of continuous variable
    or_glm(data = data_glm, model = fit_glm, 
           incr = list(gre = 380, gpa = 5))
    
      predictor oddsratio CI.low (2.5 %) CI.high (97.5 %)          increment
    1       gre     2.364          1.054            5.396                380
    2       gpa    55.712          2.229         1511.282                  5
    3     rank2     0.509          0.272            0.945 Indicator variable
    4     rank3     0.262          0.132            0.512 Indicator variable
    5     rank4     0.212          0.091            0.471 Indicator variable
    
    library(epiDisplay)
    data(Wells, package="carData")
    glm1 <- glm(switch~arsenic+distance+education+association, 
                family=binomial, data=Wells)
    logistic.display(glm1)