IHWpaper 1.24.0
黑洞和IHW之间的差异之一是,黑洞一个常拒绝阈值设置在所有假设不依赖于协变量。拒绝阈IHW另一方面取决于协变量。这意味着在很多情况下,黑洞拒绝阈值将作为一个函数不恒定的热带病研究和培训特别规划,而IHW将近似恒定的热带病研究和培训特别规划阈值。这里我们想要探索这个使用一个简单的模拟。
库(ggplot2)图书馆(dplyr)库(tidyr)库(gridExtra) #库(LSD)库(“IHW”)
我们建立的helper函数生成仿真,应用BH和IHW的热带病研究和培训特别规划和评估拒绝阈值。
#试函数与non-monotonic关系sim < -函数(m = 20000) {x < - 1-runif (m)₀< - 0.75 + 0.3 * (x - 0.5) ^ 2 # 0.8 # ifelse (x < =。5 x 0.5 + 0.6 * 0.8) eff_size < - 2 - 2.2 * abs (x - 0.5) ^ 1.3 # 3.2 # ifelse (x < =。5、1.5、1.5 - (x-1/2) * 4) H < rbinom (m, 1, 1-pi0) Z < - rnorm (m) Z (H = = 1) < - rnorm(总和(H), eff_size [H = = 1]) pvalue < - 1-pnorm (Z) t < - pvalue t_bh < - get_bh_threshold (pvalue, 0.1) alt_ft_bh < - dnorm (-eff_size + qnorm (1-t_bh)) / dnorm (qnorm (1-t_bh)) tdr_bh < - alt_ft_bh * (1-pi0) / ((1-pi0) * alt_ft_bh +₀) t_ddhw < -阈值(ihw (pvalue x,α= 1。nbins = 20, nsplits_internal = 10, nfolds = 1), levels_only = FALSE) alt_ft_ddhw < - dnorm (-eff_size + qnorm (1-t_ddhw)) / dnorm (qnorm (1-t_ddhw)) tdr_ddhw < - alt_ft_ddhw * (1-pi0) / ((1-pi0) * alt_ft_ddhw +₀) alt_ft < - dnorm (qnorm (1 - t) -eff_size) / dnorm (qnorm (1 - t)热带病研究和培训特别规划< - alt_ft * (1-pi0) / ((1-pi0) * alt_ft +₀)返回(data.frame (x = x,₀=₀t = t, eff_size = eff_size H = H, Z = Z, pvalue = pvalue alt_ft = alt_ft,热带病研究和培训特别规划=热带病研究和培训特别规划,tdr_bh = tdr_bh alt_ft_bh = alt_ft_bh t_bh = t_bh t_ddhw = t_ddhw tdr_ddhw = tdr_ddhw alt_ft_ddhw = alt_ft_ddhw))}
上面的仿真运行:
set.seed (1) sim_df < - sim (m = 80000)
# #只使用1折!只有用这个,如果你想学习权重,但从未测试!
第一个情节拒绝阈值假定值。注意BH返回一个水平线,虽然IHW不,因为转让不均匀的权重。
sim_df_t < - select (sim_df x, t_bh t_ddhw) % > %收集(方法、t - x) % > %变异(方法= ifelse(方法= =“t_bh”、“黑洞”、“IHW”)) ggplot (sim_df_t, aes (x = x, y = t,颜色=方法))+ geom_step () + xlab(“协变量”)+ ylab(假定值阈值)
另一方面,黑洞显示了一个高度不恒定拒绝阈值热带病研究和培训特别规划。这是次优的。IHW善于近似一个常数热带病研究和培训特别规划阈值。
sim_df_tdr < - select (sim_df x, tdr_bh tdr_ddhw) % > %收集(方法、tdr - x) % > %变异(方法= ifelse(方法= =“tdr_bh”、“黑洞”、“IHW”)) ggplot (sim_df_tdr, aes (x = x, y =热带病研究和培训特别规划,颜色=方法))+ geom_step () + xlab(“协变量”)+ ylab(“热带病研究和培训特别规划阈值”)
# sim_df美元集团< - groups_by_filter (sim_df x美元,10)#地块(sim_df $ x, sim_df tdr_bh美元)#与(过滤器(sim_df, log10 (pvalue) > 0.001), heatscatter (log10 (pvalue), x, add.contour = TRUE)) #与(过滤器(sim_df,热带病研究和培训特别规划> 0.2),heatscatter(热带病研究和培训特别规划,x, add.contour = TRUE)) # ggplot(过滤器(sim_df)、aes (x = log10 (pvalue), y = x)) + geom_density2d (aes(颜色=…水平…))# ggplot(过滤器(sim_df,热带病研究和培训特别规划> 0.4),aes (x =热带病研究和培训特别规划,y = x)) + geom_density2d (aes(颜色=…水平…))