贝叶斯卡方
library(BayesFactor)
# 创建一个2x2列联表作为例子
data <- matrix(c(15, 25, 35, 25), nrow = 2)
colnames(data) <- c("Treatment", "Control")
rownames(data) <- c("Success", "Failure")
data
# 使用传统卡方检验
chisq.test(data)
# 使用贝叶斯卡方检验 - 通过计算贝叶斯因子
bf <- contingencyTableBF(data, sampleType = "jointMulti")
bf
# 解释贝叶斯因子
extractBF(bf)
# contingencyTableBF计算了独立假设与非独立假设之间的贝叶斯因子。如果贝叶斯因子大于1表明是非独立的。
# BF = 1:没有证据支持任一假设。
# BF = 1-3:证据“微弱”(anecdotal evidence)。
# BF = 3-10:证据“中等”(moderate evidence)。
# BF > 10:证据“强”(strong evidence)。
library(brms)
# 创建二项式数据
successes <- c(15, 35) # Treatment和Control组的成功次数
trials <- c(15+25, 35+25) # Treatment和Control组的总试验次数
treatment <- c(1, 0) # 1=Treatment, 0=Control
df2 <- data.frame(successes=successes, trials=trials, treatment=treatment)
# 拟合贝叶斯逻辑回归模型
brm_model <- brm(successes | trials(trials) ~ treatment,
data = df2,
family = binomial(),
iter = 4000,
warmup = 1000,
chains = 4)
# 查看结果摘要
summary(brm_model)
# 可视化结果
plot(brm_model)
# 检查treatment效应的后验分布
hypothesis(brm_model, "treatment > 0")
# 提取后验样本
posterior_samples <- as.matrix(brm_model)
hist(posterior_samples[,"b_treatment"], main="Treatment效应的后验分布")
评论
发表评论