用偏移量和协变量解释泊松模型中的截距项

机器算法验证 r 泊松分布 抵消
2022-03-27 22:29:07

我第一次使用偏移量(根据同事的建议)并且有几个关于解释我的结果的问题。我们的最终目标是研究某些人群水平的治疗对疾病发病率(病例/人群)的影响。我们决定使用泊松模型,但肯定有多种方法可以查看我们的数据。我的数据如下所示:

cases <- c(6216128, 3341110,  855105,  359371,  417393,  640434,  528914,  377166,  401556,  252832,  128458)
population <- c(54703334, 54252430, 55976643, 56630708, 57373529, 58025577, 58617708, 58921850, 59695818, 60466585, 60223458)
treat.count <- c(13389482, 17746954, 27974966, 27329972, 16534356, 10591797, 12740820, 11787687,  6780603,  5503181,  4446687) 
treat.percent <- c(0.24476537, 0.32711814, 0.49976141, 0.48259986, 0.28818789, 0.18253669, 0.21735446, 0.20005629, 0.11358590, 0.09101194, 0.07383646)
data <- cbind(cases, population, treat.count, treat.percent)
mydata <- as.data.frame(data)

我有两个首要问题:

  1. 这些泊松模型中偏移量的解释和
  2. 添加了对带有偏移量和协变量的泊松模型的解释。

1)包含偏移量且没有协变量:

f1 <- glm(cases ~ offset(population), data=mydata, family=poisson)

的期望值cases除以popexp(intercept)...正确的吗?

2)包含偏移量和协变量:

f2 <- glm(cases ~ offset(population)+log(treat.percent), data=mydata, family=poisson)

的期望值cases除以popexp(intercept)...随着treat.percent增加吗?

之前也有类似的问题贴过,但不是这种情况。

1个回答

我认为您希望offset(log(population))在上面的模型中。

偏移量只是模型中包含的一项,没有估计它的系数(将系数固定为 1)。由于泊松回归中的标准转换是对数,因此您可以将 log(population) 的偏移量视为使用 log(cases/population) 作为响应变量的粗略等价物(尽管在数学上更好)。因此,它正在调整人口规模的差异。这意味着当 log(population) 为 0 时,或者换句话说,当人口为 1 时,没有任何偏移的截距预测平均值。第二个模型中的斜率将是人口规模 1 的增加. 你也可以使用一个偏移量offset(log(population/1000))然后解释将针对 1,000 的人口(将 1,000 更改为对您有意义的任何值),这样更容易可视化。

对于大多数最简单的模型,通常更容易解释模型的预测而不是单个系数。TeachingDemos 包中的 Predict.Plot 和 TkPredict 函数可能会有所帮助。