当前位置: 首页 > news >正文

高维中介数据: 联合显着性(JS)检验法

摘要

中介分析在流行病学和临床试验中越来越受到关注。在现有的中介分析方法中,流行的联合显着性(JS)检验会产生过于保守的 I 类错误率,因此功效较低。但是,如果在使用 JS 测试高维中介假设时,可以准确控制族错误率 (FWER) 和错误发现率 (FDR)。分析的核心是基于估计三个分量零假设的比例并推导零 p 值的相应混合分布。

一言以蔽之:计算高维中介假设的校正后的p值

JS-混合方法

新提出的JS-混合方法(joint significance (JS) test) 通过估计三种类型组合零假设的比例来解决JS均匀方法在高维中介假设测试中的过度保守问题。这种方法衍生出控制家庭错误率(FWER)或假发现率(FDR)的显著性规则。通过理论证明、广泛的模拟实验和两个数据例子,JS-混合方法被证明是稳健的,适用于稀疏和密集替代假设,并且在FWER和FDR的控制上比JS-均匀方法提供了更令人满意的结果。特别是,当使用有限样本校正的JS-混合方法时,与基于渐近混合零分布的方法相比,其经验FWER更接近目标的0.05,从而改善了控制效果。

种类型组合零假设的比例

通过估计与三种类型(H00, H01, H10)相关的零假设在所有J个假设中的比例,得到关于这些零假设在数据集中的相对频率的信息。这些估计对于理解和控制假阳性率(FDR)以及在假设检验中区分真正和虚假发现至关重要。π01, π10, 和 π00 分别表示三种类型组合零假设(即,H01, H10, 和 H00)在J个假设中的比例。通过最大化似然函数分别得到αj 和 βj 的估计p1j 和 p2j,由于模型允许它们的似然性可以分解,所以这些估计是独立的,这有助于更准确地估计pmax,j 在零假设H0j中的分布

实现方法

以DNA甲基化在癌症病因中的作用为例,介绍了两个前列腺癌研究案例。以供自学。

浏览关键函数

安装、导入包

# 安装hdmt包
install.packages("HDMT")
# 加载hdmt包
library(HDMT)

导入数据

数据格式:数据集是一个矩阵,其中包含候选中介变量的两列 p 值。第 1 列包含用于测试暴露是否与中介相关的 p 值 (alpha!=0)。第 2 列包含用于测试中介变量是否与暴露调整后的结果相关的 p 值 (beta!=0),需要先使用各类中介方法进行估计。

# 读取数据
data(snp_input)
# 查看数据
head(snp_input)
#         [,1]        [,2]
# [1,] 0.1056981 0.253803463
# [2,] 0.9986436 0.862830855
# [3,] 0.1006569 0.726600653
# [4,] 0.1731411 0.327851970
# [5,] 0.8900695 0.001496449
# [6,] 0.8156905 0.087064991
# 查看数据结构
str(snp_input)
#  num [1:69602, 1:2] 0.106 0.999 0.101 0.173 0.89 ...
input_pvalues <- snp_input# 从输入数据中随机抽取10%的数据【节省时间】
input_pvalues <- input_pvalues[sample(1:nrow(input_pvalues),size=ceiling(nrow(input_pvalues)/10)),]
str(input_pvalues)
# num [1:6961, 1:2] 0.37146 0.00373 0.56406 0.4913 0.78594 ... 

估计三个分量零值比例备用

nullprop <- null_estimation(input_pvalues)
# $alpha10
# [1] 0.06608246
# 
# $alpha01
# [1] 0.4640138
# 
# $alpha00
# [1] 0.4692812
# 
# $alpha1
# [1] 0.933295
# 
# $alpha2
# [1] 0.5353637

计算FDR校正后的p值

# 使用三个分量零值比例,基于所提出的联合显着性混合零方法(JS-mixture)计算估计的逐点 FDR
fdr <- fdr_est(nullprop$alpha00,nullprop$alpha01,nullprop$alpha10, nullprop$alpha1,nullprop$alpha2,input_pvalues,exact=0)
str(fdr)
# num [1:6961] 0.954 0.966 0.957 0.956 0.917 ...

结果解读:如果一个p值对应的FDR小于0.05,那么这个结果被认为是在FDR控制下的显著发现,表明存在关联

 计算FWE校正后的p值的cutoff

# 使用估计的混合零分布计算 p-max 的 FWER 截止值cutoff
fwercut0 <- fwer_est(nullprop$alpha10,nullprop$alpha01,nullprop$alpha00,nullprop$alpha1, nullprop$alpha2,input_pvalues,alpha=0.05,exact=0)   # exact= 0:不估计CDF的近似值
fwercut0
# [1] 1.491624e-05fwercut1 <- fwer_est(nullprop$alpha10,nullprop$alpha01,nullprop$alpha00,nullprop$alpha1, nullprop$alpha2,input_pvalues,alpha=0.05,exact=1) # exact = 1:非参数估计 CDF 的精确方法
fwercut1
# [1] 6.187122e-05

结果解读:fwercut0 是使用估计的混合零分布计算的 p-max 的 FWER 截止值,其中 exact=0 表示使用了不估计累积分布函数(CDF)的近似方法。 在显著性水平 alpha=0.05 下,为了控制家庭错误率(FWER),当候选中介变量的p值小于或等于这个值(即1.354997e-05)时,我们将认为关联性检测达到统计显著性。同理解读fwercut1

作图

用途:观察经过JS 后,校正后的p值被“拉高”了,即更容易达到统计学显著,提高了功效

# 通过上面计算的三个分量零值比例,并使用近似或精确方法计算 pmax 的估计混合零分布分位数--------
pnull <- adjust_quantile(nullprop$alpha00,nullprop$alpha01,nullprop$alpha10,nullprop$alpha1, nullprop$alpha2,input_pvalues,exact=0) # exact=0,推导混合零分布时,不估计CDF的近似方法
str(pnull)
# num [1:6961] 0.000298 0.000596 0.000894 0.001192 0.001489 ...# 使用预期分位数绘制 p-max 的校正分位数-分位数图---------
pmax <- apply(input_pvalues,1,max) # 计算每行的最大值
pnull1 <- adjust_quantile(nullprop$alpha10,nullprop$alpha01,nullprop$alpha00, nullprop$alpha1,nullprop$alpha2,input_pvalues,exact=1) # exact=1,在推导混合零分布时,非参数估计 CDF 的精确方法correct_qqplot(pmax,pnull1)  #如下图展示

参考文献

A Multiple-Testing Procedure for High-Dimensional Mediation Hypotheses: Journal of the American Statistical Association: Vol 117 , No 537 - Get Access (tandfonline.com)icon-default.png?t=N7T8https://www.tandfonline.com/doi/full/10.1080/01621459.2020.1765785​​​​​​

 

相关文章:

高维中介数据: 联合显着性(JS)检验法

摘要 中介分析在流行病学和临床试验中越来越受到关注。在现有的中介分析方法中&#xff0c;流行的联合显着性&#xff08;JS&#xff09;检验会产生过于保守的 I 类错误率&#xff0c;因此功效较低。但是&#xff0c;如果在使用 JS 测试高维中介假设时&#xff0c;可以准确控制…...

冒泡排序 和 qsort排序

目录 冒泡排序 冒泡排序部分 输出函数部分 主函数部分 总代码 控制台输出显示 总代码解释 冒泡排序优化 冒泡排序 主函数 总代码 代码优化解释 qsort 排序 qsort 的介绍 使用qsort排序整型数据 使用qsort排序结构数据 冒泡排序 首先&#xff0c;我先介绍我的冒泡…...

asp.net core webapi接收application/x-www-form-urlencoded和form-data参数

框架&#xff1a;asp.net core webapiasp.net core webapi接收参数&#xff0c;请求变量设置 目录 接收multipart/form-data、application/x-www-form-urlencoded类型参数接收URL参数接收上传的文件webapi接收json参数完整控制器&#xff0c;启动类参考Program.cs 接收multipar…...

程序环境和预处理(2)

文章目录 3.2.7 命名约定 3.3 #undef3.4 命令行定义3.5 条件编译3.6 文件包含3.6.1 头文件被包含的方式3.6.2 嵌套文件包含 4. 其他预处理指令 3.2.7 命名约定 一般来讲函数和宏的使用语法很相似&#xff0c;所以语言本身没法帮我们区分二者&#xff0c;那我们平时的一个习惯是…...

Redis安全加固策略:绑定Redis监听的IP地址 修改默认端口 禁用或者重命名高危命令

Redis安全加固策略&#xff1a;绑定Redis监听的IP地址 & 修改默认端口 & 禁用或者重命名高危命令 1.1 绑定Redis监听的IP地址1.2 修改默认端口1.3 禁用或者重命名高危命令1.4 附&#xff1a;redis配置文件详解&#xff08;来源于网络&#xff09; &#x1f496;The Beg…...

Vuepress的使用

介绍 将markdown静态资源转换成html。 动态资源的转换还有很多&#xff0c;为什么要使用Vuepress&#xff1f; 目录分析 项目配置 详情 具体配置请看文档 插件配置 vuepress-theme-vdoing 主题插件 npm install vuepress-theme-vdoing -D先安装依赖配置主题 使用vuep…...

docker安装php7.4安装

容器 docker pull centos:centos7 docker run -dit -p9100:9100 --name“dade” --privilegedtrue centos:centos7 /usr/sbin/init 一、安装前库文件和工具准备 1、首先安装 EPEL 源 yum -y install epel-release2.安装 REMI 源 yum -y install http://rpms.remirepo.net/en…...

曲线生成 | 图解Dubins曲线生成原理(附ROS C++/Python/Matlab仿真)

目录 0 专栏介绍1 什么是Dubins曲线&#xff1f;2 Dubins曲线原理2.1 坐标变换2.2 单步运动公式2.3 曲线模式 3 Dubins曲线生成算法4 仿真实现4.1 ROS C实现4.2 Python实现4.3 Matlab实现 0 专栏介绍 &#x1f525;附C/Python/Matlab全套代码&#x1f525;课程设计、毕业设计、…...

「Vue3系列」Vue3 组件

文章目录 一、Vue3 组件二、Vue3 组件实例三、Vue3 官方组件四、Vue3 常用组件五、相关链接 一、Vue3 组件 Vue3 是 Vue.js 的最新版本&#xff0c;它引入了许多新的特性和改进。在 Vue3 中&#xff0c;组件是构建应用程序的核心部分&#xff0c;它们可以重用、组合和嵌套。Vu…...

Git实战(2)

git work flow ------------------------------------------------------- ---------------------------------------------------------------- 场景问题及处理 问题1&#xff1a;最近提交了 a,b,c,d记录&#xff0c;想把b记录删掉其他提交记录保留&#xff1a; git reset …...

Java ElasticSearch-Linux面试题

Java ElasticSearch-Linux面试题 前言1、守护线程的作用&#xff1f;2、链路追踪Skywalking用过吗&#xff1f;3、你对G1收集器了解吗&#xff1f;4、你们项目用的什么垃圾收集器&#xff1f;5、内存溢出和内存泄露的区别&#xff1f;6、什么是Spring Cloud Bus&#xff1f;7、…...

微信小程序通过服务器控制ESP8266

声明 本文实现了ESP8266、微信小程序、个人服务器三者互相通信,并且小程序能发消息给微信用户 本文所有代码和步骤均为亲测有效 以下代码均为从网上搜索到后本人加以改动的,并非完全原创,若作者希望删除可联系我 ESP8266与个人服务器通信 ESP8266配置 通过串口通信使用…...

题目 1434: 蓝桥杯历届试题-回文数字

题目描述: 观察数字&#xff1a;12321&#xff0c;123321 都有一个共同的特征&#xff0c;无论从左到右读还是从右向左读&#xff0c;都是相同的。这样的数字叫做&#xff1a;回文数字。 本题要求你找到一些5位或6位的十进制数字。满足如下要求&#xff1a; 该数字的各个数位…...

访问修饰符、Object(方法,使用、equals)、查看equals底层、final--学习JavaEE的day15

day15 一、访问修饰符 含义&#xff1a; 修饰类、方法、属性&#xff0c;定义使用的范围 理解&#xff1a;给类、方法、属性定义访问权限的关键字 注意&#xff1a; ​ 1.修饰类只能使用public和默认的访问权限 ​ 2.修饰方法和属性可以使用所有的访问权限 访问修饰符本类本包…...

『大模型笔记』最大化大语言模型(LLM)的性能(来自OpenAI DevDay 会议)

最大化大语言模型(LLM)的性能(来自OpenAI DevDay 会议) 文章目录 一. 内容介绍1.1. 优化的两个方向(上下文优化和LLM优化)1.2. 提示工程:从哪里开始1.3. 检索增强生成:拓展知识边界1.4. 微调:专属定制二. 参考文献一. 内容介绍 简述如何以可扩展的方式把大语言模型(LLMs)…...

深度学习:开启你的AI探索之旅

在这个信息爆炸的时代,人工智能(AI)已经渗透到我们生活的方方面面,从智能语音助手到自动驾驶汽车,从智能推荐系统到医疗影像诊断,AI的身影无处不在。而深度学习,作为AI领域的一大核心技术,更是引领着这场科技革命的浪潮。那么,如何入门深度学习,踏上这趟充满挑战与机…...

第十四届蓝桥杯大赛B组 JAVA 蜗牛 (递归剪枝)

题目描述&#xff1a; 这天&#xff0c;一只蜗牛来到了二维坐标系的原点。 在 x 轴上长有 n 根竹竿。它们平行于 y 轴&#xff0c;底部纵坐标为 0&#xff0c;横坐标分别为 x1, x2, …, xn。竹竿的高度均为无限高&#xff0c;宽度可忽略。蜗牛想要从原点走到第 n 个竹竿的底部也…...

基于React低代码平台开发:构建高效、灵活的应用新范式

文章目录 一、React与低代码平台的结合优势二、基于React的低代码平台开发挑战三、基于React的低代码平台开发实践四、未来展望《低代码平台开发实践&#xff1a;基于React》编辑推荐内容简介作者简介目录前言为什么要写这本书 读者对象如何阅读本书 随着数字化转型的深入&…...

在Linux部署Docker并上传静态资源(快速教程)

Nginx快速上手 安装必要的软件包 yum install -y yum-utils device-mapper-persistent-data lvm2设置Docker仓库 通过以下命令添加Docker的官方仓库到yum源中&#xff1a; yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo安装Dock…...

【场景测试用例】带有广告图案的纸杯

从以下几个纬度出发考虑&#xff1a; 功能 是否可以承载液体&#xff0c;热水&#xff0c;温水&#xff0c;冰水是否可以承载非液体类的物品容量&#xff0c;空杯&#xff0c;半杯&#xff0c;满杯 UI 广告图案设计是否合理 性能 最大承受的容量内不漏水(负载测试)最大承受的温…...

面向非计算机背景研究者的NLP实战教程:从零到一掌握文本分析

1. 项目概述&#xff1a;一场为跨学科研究者量身定制的机器学习“实战营”如果你是一位社会学、政治学或公共卫生领域的研究者&#xff0c;面对海量的访谈记录、社交媒体文本或历史档案&#xff0c;是否曾感到传统分析方法力不从心&#xff1f;又或者&#xff0c;你早已听闻机器…...

天赐范式第52天:Kimi自打跟了我搞CFD没少吃苦,没过一天舒心日子~论Kimi的战斗意志~我必须承认:我分析不下去了,真×1,我放弃逻辑推演×6,最后让代码自己招供,抓出幕后真凶幽灵BUG变量N。

Kimi经常推演程序很久很久&#xff0c;有的时候我就看他一行一行的输出&#xff0c;去思考很多事情&#xff0c;有的时候我就放松下来&#xff0c;看他不停的输出&#xff0c;又想自己现在是这个样子&#xff0c;未来一定不是这个样子&#xff0c;Kimi、DPSK、文心、豆包、DuMa…...

Qwen模型 LeetCode 2584. 分割数组使乘积互质 JavaScript实现

哇&#xff01;JavaScript版本来啦&#xff5e;这道题用JS写起来特别优雅&#xff0c;让我给你展示一个清晰又高效的实现&#xff01;javascript /*** param {number[]} nums* return {number}*/ var findValidSplit function(nums) {const n nums.length;if (n 1) return -…...

【AI入门知识点】告别繁琐配置!Claude Code + DeepSeek 直连方案打造最强 VSCode 编程助手

在 AI 编程领域&#xff0c;Claude Code 凭借其强大的 Agent 能力&#xff08;自动读写文件、执行命令&#xff09;一直是开发者的梦中情“器”。然而&#xff0c;官方 API 的高昂费用和网络限制&#xff0c;让许多国内开发者望而却步。 这篇文章我们不通过 cc-switch 转发请求…...

MySQL 5.7.12 + Druid 连接池“只读事务”异常深度剖析(Cannot execute statement in a READ ONLY transaction)

一、故障现象 在 MySQL 5.7.12 环境下&#xff0c;使用 Druid 连接池的应用偶尔会抛出以下异常&#xff1a; Cannot execute statement in a READ ONLY transaction诡异特征&#xff1a; 偶发性出现&#xff0c;并非每次操作都复现conn.isReadOnly() 返回 false&#xff0c;但 …...

AI Agent游戏测试革命:自动生成10万+边界用例,覆盖率提升3.2倍——附可运行Python测试Agent源码

更多请点击&#xff1a; https://intelliparadigm.com 第一章&#xff1a;AI Agent游戏行业应用全景图 AI Agent 正在重塑游戏开发、运营与玩家体验的全生命周期。从智能NPC的行为建模&#xff0c;到自动化测试与关卡生成&#xff0c;再到实时个性化内容推荐与反作弊决策&…...

跟着 MDN 学CSS day_9:(深入掌握CSS选择器核心技能测试)

在Web开发的学习路径中&#xff0c;CSS选择器是构建一切样式体系的基石。无论你是刚入门的新手&#xff0c;还是有一定经验的开发者&#xff0c;对选择器的理解深度直接决定了你能否高效、精准地控制页面元素的样式表现。MDN Web 文档提供了一套经典的"技能测试&#xff1…...

别再死记硬背WideDeep了!用TensorFlow 2.x手把手复现Google Play的推荐模型(附源码)

从零实现Wide&Deep推荐模型&#xff1a;TensorFlow 2.x实战指南 在推荐系统领域&#xff0c;Google提出的Wide&Deep模型架构已经成为工业界的经典范式。但大多数教程仅停留在理论讲解层面&#xff0c;当开发者真正动手实现时&#xff0c;往往会遇到特征工程适配、联合训…...

告别手动打字:87种语言视频字幕5分钟本地提取全攻略

告别手动打字&#xff1a;87种语言视频字幕5分钟本地提取全攻略 【免费下载链接】video-subtitle-extractor 视频硬字幕提取&#xff0c;生成srt文件。无需申请第三方API&#xff0c;本地实现文本识别。基于深度学习的视频字幕提取框架&#xff0c;包含字幕区域检测、字幕内容提…...

G-Helper终极指南:三步打造高效轻量的华硕笔记本控制中心

G-Helper终极指南&#xff1a;三步打造高效轻量的华硕笔记本控制中心 【免费下载链接】g-helper Lightweight Armoury Crate alternative for Asus laptops with nearly the same functionality. Works with ROG Zephyrus, Flow, TUF, Strix, Scar, ProArt, Vivobook, Zenbook,…...