贝叶斯卡方

 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效应的后验分布")

评论

此博客中的热门博文

V2ray websocket(ws)+tls+nginx分流

Rstudio 使用代理