首页 文章

负二项式回归中相互作用的简单斜率

提问于
浏览
0

我希望在将另一个预测变量约束为负二项式glm中的特定值时获取一个预测变量的参数估计值,以便更好地解释交互效应 .

我的模型是这样的:

model <- glm.nb(outcome ~ IV * moderator + covariate1 + covariate2)

因为 IV:moderator 项是重要的,所以我想在 moderator 的特定值(即1和-1 SD)处获得 IV 的参数估计 . 我可以使用 visreg 包在 moderator 的各个级别获得 IV 的斜率估计,但我不知道如何估算SE和测试统计数据 . moderator 是一个连续变量,所以我不能使用 multcomp 包,而其他用于查找简单斜率的包(例如 pequodQuantPsyc )与负二项式回归不兼容 . 谢谢!

1 回答

  • 2

    如果要约束回归中的某个值,请考虑将该变量从模型中取出并将其作为偏移量添加 . 例如,使用示例数据 .

    dd<-data.frame(
       x1=runif(50),
       x2=runif(50)
    )
    
    dd<-transform(dd, 
       y=5*x1-2*x2+3+rnorm(50)
    )
    

    我们可以使用 x1x2 作为参数运行模型

    lm(y ~ x1 + x2,dd)
    
    # Call:
    # lm(formula = y ~ x1 + x2, data = dd)
    # 
    # Coefficients:
    # (Intercept)           x1           x2  
    #    3.438438     4.135162    -2.154770
    

    或者说我们知道 x2 的系数是-2 . 然后我们无法估计 x2 ,但将该术语作为偏移量

    lm(y ~ x1 + offset(-2*x2), dd)
    
    # Call:
    # lm(formula = y ~ x1 + offset(-2 * x2), data = dd)
    # 
    # Coefficients:
    # (Intercept)           x1  
    #    3.347531     4.153594
    

    offset() 选项基本上只是创建一个's coefficient is always 1. Even though I'用 lm 演示的协变量,这个方法应该适用于 glm.nb 和许多其他回归模型 .

相关问题