如何将权重合并到似然函数中?

How to incorporate weights into a likelihood function?

我想将权重合并到可能性中,以执行 svyglm 对权重所做的操作。

根据 Jeremy Miles and elsewheresvyglm 函数使用权重 "weight the importance of each case to make them representative (to each other, ...)"。

这是我的数据:

(dat <- data.frame(
  A = c(1, 1, 0, 0), B = c(1, 0, 1, 0),
  Pass = c(278, 100, 153, 79), Fail = c(743, 581, 1232, 1731), Weights= c(3, 1, 12, 3)
))

这是我的 likelihood 函数:

ll <- function (b0, b1, b2, b3) {
  odds <- exp(b0) * (1 + b1 * dat$A + b2 * dat$B + b3 * dat$A * dat$B)
  -sum(dbinom(
    x = dat$Pass, size = rowSums(dat[, 3:4]),
    prob = odds / (1 + odds), log = TRUE))
}

正如你提到的答案中所说,不同的权重在不同的上下文中使用不同。在您当前的示例中,我没有真正看到任何人口,而目标非常明确:每个观察都有指定的 "importance"。然后加权最大似然将简单地使用

ll <- function (b0, b1, b2, b3) {
  odds <- exp(b0) * (1 + b1 * dat$A + b2 * dat$B + b3 * dat$A * dat$B)
  -sum(dat$Weights * dbinom(
    x = dat$Pass, size = rowSums(dat[, 3:4]),
    prob = odds / (1 + odds), log = TRUE))
}

这确实可以解释为将第 i 个观察值包含到样本 wi 次(当然,这种解释仅适用于整数权重,而方法适用于任何权重):