您可以在 pystan 或 pymc3 中使用样本权重吗?
Can you use sample weights in pystan or pymc3?
如果我观察到的数据集有权重(例如跟踪多重性),是否可以将其提供给 pystan 或 pymc3,类似于 rstanarm 包中的函数签名(http://mc-stan.org/rstanarm/reference/stan_glm.html):
stan_glm(formula, family = gaussian(), data, weights, subset,
na.action = NULL, offset = NULL, model = TRUE, x = FALSE, y = TRUE,
contrasts = NULL, ..., prior = normal(), prior_intercept = normal(),
prior_aux = exponential(), prior_PD = FALSE, algorithm = c("sampling",
"optimizing", "meanfield", "fullrank"), adapt_delta = NULL, QR = FALSE,
sparse = FALSE)
使用 Stan(在其任何接口中,包括 PyStan),您可以在模型中引入权重。例如,在线性回归中,您可以使用 target += weight[i] * normal_lpdf(y[i] | mu[i], sigma)
而不是 y[i] ~ normal(mu[i], sigma)
。
如果权重为正,这将为您提供明确指定的密度。我们倾向于更喜欢生成方法。
如果我观察到的数据集有权重(例如跟踪多重性),是否可以将其提供给 pystan 或 pymc3,类似于 rstanarm 包中的函数签名(http://mc-stan.org/rstanarm/reference/stan_glm.html):
stan_glm(formula, family = gaussian(), data, weights, subset,
na.action = NULL, offset = NULL, model = TRUE, x = FALSE, y = TRUE,
contrasts = NULL, ..., prior = normal(), prior_intercept = normal(),
prior_aux = exponential(), prior_PD = FALSE, algorithm = c("sampling",
"optimizing", "meanfield", "fullrank"), adapt_delta = NULL, QR = FALSE,
sparse = FALSE)
使用 Stan(在其任何接口中,包括 PyStan),您可以在模型中引入权重。例如,在线性回归中,您可以使用 target += weight[i] * normal_lpdf(y[i] | mu[i], sigma)
而不是 y[i] ~ normal(mu[i], sigma)
。
如果权重为正,这将为您提供明确指定的密度。我们倾向于更喜欢生成方法。