Nothing
## ----include = FALSE----------------------------------------------------------
knitr::opts_chunk$set(
collapse = TRUE,
comment = "#>"
)
## ----setup,echo = FALSE-------------------------------------------------------
library(glmbayes)
## ----directional-tail-example-sketched, eval=FALSE----------------------------
# example("directional_tail", package = "glmbayes")
#
# # Core objects used in interpretation:
# dt <- directional_tail(fit)
# dt$mahalanobis_shift
# dt$p_directional
#
# # Same quantities are also surfaced in summary output:
# s <- summary(fit)
# s$dir_tail
# s$dir_tail_null
## ----directional-tail-plot-setup, include=FALSE-------------------------------
set.seed(360)
ctl <- c(4.17, 5.58, 5.18, 6.11, 4.50, 4.61, 5.17, 4.53, 5.33, 5.14)
trt <- c(4.81, 4.17, 4.41, 3.59, 5.87, 3.83, 6.03, 4.89, 4.32, 4.69)
group <- gl(2, 10, 20, labels = c("Ctl", "Trt"))
weight <- c(ctl, trt)
dat2 <- data.frame(weight, group)
ps <- Prior_Setup(
weight ~ group,
family = gaussian(),
pwt = 0.01,
intercept_source = "null_model",
effects_source = "null_effects",
data = dat2
)
fit <- lmb(
weight ~ group,
dNormal(ps$mu, ps$Sigma, dispersion = ps$dispersion),
data = dat2,
n = 3000
)
## ----directional-tail-plot-whitened, eval=TRUE, fig.width=7, fig.height=5-----
dt <- directional_tail(fit)
Z <- dt$draws$Z
flag <- dt$draws$is_tail
delta <- dt$delta
w <- delta
plot(
Z,
col = ifelse(flag, "red", "blue"),
pch = 19,
xlab = "Z1",
ylab = "Z2",
main = "Directional Tail Diagnostic (Whitened Space)"
)
# Decision boundary orthogonal to direction vector
abline(a = 0, b = -w[1] / w[2], col = "darkgreen", lty = 2)
# Radius corresponding to Mahalanobis shift
r <- sqrt(sum(delta^2))
symbols(
delta[1], delta[2],
circles = r,
inches = FALSE,
add = TRUE,
lwd = 2,
fg = "gray"
)
points(0, 0, pch = 4, col = "black", lwd = 2) # reference center in whitened space
points(delta[1], delta[2], pch = 3, col = "purple", lwd = 2) # posterior shift
## ----directional-tail-plot-raw, eval=TRUE, fig.width=7, fig.height=5----------
B <- dt$draws$B
flag <- dt$draws$is_tail
mu0 <- as.numeric(fit$Prior$mean)
mu_post <- colMeans(B)
plot(
B,
col = ifelse(flag, "red", "blue"),
pch = 19,
xlab = "Coefficient 1",
ylab = "Coefficient 2",
main = "Directional Tail Diagnostic (Raw Coefficient Space)"
)
points(mu0[1], mu0[2], pch = 4, col = "black", cex = 1.5) # reference center
points(mu_post[1], mu_post[2], pch = 3, col = "darkgreen", cex = 1.5) # posterior center
legend(
"topright",
legend = c("Tail draws", "Non-tail draws", "Reference", "Posterior"),
col = c("red", "blue", "black", "darkgreen"),
pch = c(19, 19, 4, 3),
bty = "n"
)
## ----directional-tail-direct, eval=FALSE--------------------------------------
# fit <- glmb(
# counts ~ outcome + treatment,
# family = poisson(),
# pfamily = dNormal(mu = mu, Sigma = V)
# )
#
# dt_prior <- directional_tail(fit) # reference = prior mean
# dt_prior
# print(dt_prior)
## ----directional-tail-null, eval=FALSE----------------------------------------
# mu0 <- rep(0, length(fit$Prior$mean))
# names(mu0) <- names(fit$Prior$mean)
# mu0["(Intercept)"] <- coef(glm(counts ~ 1, family = poisson(), data = fit$data))[1]
#
# dt_null <- directional_tail(fit, mu0 = mu0)
# dt_null
## ----directional-tail-summary, eval=FALSE-------------------------------------
# s <- summary(fit)
#
# s$dir_tail # vs prior
# s$dir_tail_null # vs null
## ----directional-tail-minimal, eval=FALSE-------------------------------------
# ps <- Prior_Setup(weight ~ group, family = gaussian(), data = dat2)
# fit <- lmb(weight ~ group, dNormal(ps$mu, ps$Sigma, dispersion = ps$dispersion), data = dat2, n = 10000)
#
# dt <- directional_tail(fit)
# print(dt)
Any scripts or data that you put into this service are public.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.