Nothing
## Annette Dobson (1990) "An Introduction to Generalized Linear Models".
## Page 9: Plant Weight Data.
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)
dat <- data.frame(weight, group)
dat2 <- rbind(dat)
lm.D9_null <- lm(weight ~ 1, data = dat2)
summary(lm.D9_null)
lm.D9_default <- lm(weight ~ group, data = dat2)
summary(lm.D9_default)
ps_null <- Prior_Setup(
weight ~ group,
family = gaussian(),
pwt = 0.01,
intercept_source = "null_model",
effects_source = "null_effects",
data = dat2
)
mu_null <- ps_null$mu
V_null <- ps_null$Sigma
disp_ML_null <- ps_null$dispersion
lmb.D9_null <- lmb(
weight ~ group,
dNormal(mu_null, V_null, dispersion = disp_ML_null),
data = dat2,
n = 10000
)
summary(lmb.D9_null)
glmb.D9_default <- glmb(
weight ~ group,
family = gaussian(),
pfamily = dNormal(mu_null, V_null, dispersion = disp_ML_null),
data = dat2
)
summary(glmb.D9_default)
colMeans(residuals(lmb.D9_null))
glm.D9_default <- glm(weight ~ group, family = gaussian(), data = dat2)
summary(glm.D9_default)
disp_D9_default <- summary(glm.D9_default)$dispersion
solve(vcov(lmb.D9_null$lm))
t(lmb.D9_null$lm$x) %*% lmb.D9_null$lm$x / disp_D9_default
t(lmb.D9_null$lm$x) %*% lmb.D9_null$lm$x * (20 / 18)
tailprobs <- directional_tail(lmb.D9_null)
tailprobs
summary(lm.D9_null)
summary(lm.D9_null)$sigma^2
tailprobs$Prec_lik * summary(lm.D9_null)$sigma^2
t(lmb.D9_null$x) %*% lmb.D9_null$x
tailprobs$p_directional
##########################################
Z <- tailprobs$draws$Z
flag <- tailprobs$draws$is_tail
delta <- tailprobs$delta
w <- tailprobs$delta
asp <- 1
## Plot posterior draws in whitened space
plot(
Z,
col = ifelse(flag, "red", "blue"),
pch = 19,
xlab = "Z1",
ylab = "Z2",
main = "Directional Tail Diagnostic"
)
abline(a = 0, b = -w[1] / w[2], col = "darkgreen", lty = 2)
## Add radius boundary centered at posterior mode (delta)
r <- sqrt(sum(delta^2))
symbols(
delta[1], delta[2],
circles = r,
inches = FALSE,
add = TRUE,
lwd = 2,
fg = "gray"
)
## Add prior mean at origin
points(0, 0, pch = 4, col = "black", lwd = 2)
## Add posterior mode at delta
points(delta[1], delta[2], pch = 3, col = "purple", lwd = 2)
## Add legend
legend(
"topright",
legend = c(
"Tail draws", "Non-tail draws", "Direction vector",
"Radius boundary", "Prior mean", "Posterior mode"
),
col = c("red", "blue", "darkgreen", "gray", "black", "purple"),
pch = c(19, 19, NA, NA, 4, 3),
lty = c(NA, NA, 1, 1, NA, NA),
lwd = c(NA, NA, 2, 2, 2, 2),
bty = "n"
)
############################ Original Scales ###################
B <- tailprobs$draws$B
flag <- tailprobs$draws$is_tail
mu0 <- as.numeric(lmb.D9_null$Prior$mean)
mu_post <- colMeans(B)
x_range <- range(B[, 1]) # Intercept values
padding <- diff(x_range) * 0.1 # 10% margin
oldpar <- par(no.readonly = TRUE)
par(mar = c(5, 6, 4, 2)) # bottom, left, top, right
plot(
B,
col = ifelse(flag, "red", "blue"),
pch = 19,
xlab = "Intercept",
ylab = "groupTrt",
xlim = c(x_range[1] - padding, x_range[2] + padding),
main = "Directional Tail Diagnostic (Raw Space)"
)
points(mu0[1], mu0[2], pch = 4, col = "black", cex = 1.5) # Prior mean
points(mu_post[1], mu_post[2], pch = 3, col = "darkgreen", cex = 1.5) # Posterior mean
legend(
"topright",
legend = c("Tail draws", "Non-tail draws", "Prior", "Posterior"),
col = c("red", "blue", "black", "darkgreen"),
pch = c(19, 19, 4, 3)
)
par(oldpar)
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.