Можете ли вы использовать выборочные веса в pystan или pymc3?

Если мой наблюдаемый набор данных имеет весовые коэффициенты (например, кратность отслеживания), можно ли передать его либо в pystan, либо в pymc3, аналогично сигнатуре функции ( 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)

1 ответ

Решение

С помощью Stan (в любом из его интерфейсов, включая PyStan) вы можете вводить весовые коэффициенты в модели. Например, в линейной регрессии это будет, например, вместо y[i] ~ normal(mu[i], sigma) ты используешь target += weight[i] * normal_lpdf(y[i] | mu[i], sigma),

Это дает вам заданную плотность, если веса положительные. Мы склонны предпочитать генеративные подходы.

Другие вопросы по тегам