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

时间:2018-12-16 13:37:28

标签: r regression mle

我想将权重合并到做svyglm权重的可能性中。

根据Jeremy Mileselsewheresvyglm函数使用权重来“加权每种情况的重要性,以使其具有代表性(彼此,...)”。

这是我的数据:

(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))
}

1 个答案:

答案 0 :(得分:3)

正如您所引用的答案中所说,在不同的上下文中使用不同的权重是不同的。在您当前的示例中,我没有真正看到任何总体,但目标非常明确:每个观察都具有指定的“重要性”。然后,加权最大似然将简单地使用

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个观察值包含w i 次(当然,这种解释仅对整数权重才是正确的,而该方法可以对任何权重使用):

enter image description here