首页 > 解决方案 > 如何将权重合并到似然函数中?

问题描述

我想将权重纳入对权重所做的事情的可能性中svyglm

根据Jeremy Miles其他地方的说法,svyglm函数使用权重来“衡量每个案例的重要性,以使它们具有代表性(彼此之间,......)”。

这是我的数据:

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

标签: rregressionmle

解决方案


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

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

这确实可以解释为包括对样本 w i次的第 i 次观察(当然,这种解释仅适用于整数权重,而该方法适用于任何权重):

在此处输入图像描述


推荐阅读